Atomic Protocol is a modern, efficient, and fully TypeScript-rewritten version of PrismarineJS/bedrock-protocol. It's built with performance and maintainability in mind.
Key points:
- Minecraft Version:
1.21.130 - Written in TypeScript
- Strongly-typed packet definitions
- Clean API for client creation
- No proxy or server implementation (for those, use the original PrismarineJS/bedrock-protocol)
yarn add atomic-protocol
# or
npm install atomic-protocolimport { Client } from "atomic-protocol";
const client = new Client({
host: "example.com",
port: 19132,
});
client.on("start_game", () => {
console.log("Game started!");
});
client.on("add_player", packet => {
console.log("New player joined:", packet.username);
});All packet structures are auto-generated from src/config/protocol.json into TypeScript definitions under src/packets/.
This means you get full IntelliSense and type-safety when working with packets:
client.on("text", (packet) => {
// `packet` is strongly typed as `TextPacket`
console.log(`[${packet.source}] ${packet.message}`);
});- Install dependencies:
yarn install - Type-check and build:
yarn turbo run build - Bundle (depends on build):
yarn turbo run bundle - Type-check only:
yarn turbo run lint
- Nethernet Support
- Fully Supported
- API Documentation
- FAQ Soon
- Move the entire Codec in it's own REPO
- Atomic-Auth & Atomic-Realms
- Future Enhancements
- Consider adding proxy support (client + server pass-through).
- Explore server implementation (stretch goal).
Contributions are welcome! Feel free to open issues and pull requests to improve Atomic Protocol.
This project is licensed under the MIT License. See the LICENSE file for details.