@sanctumterra/client
v2.1.0
Published
We'll be singing Baraye.
Downloads
542
Readme
🛠️ Minecraft Bedrock Edition Client Library
A powerful and easy-to-use client library for Minecraft Bedrock Edition.
📦 Installation
npm i @sanctumterra/client
⚠️ Important Notes
- The
Connection
class is a bare-bones client, while theClient
class offers more features. - Due to protocol support requirements, versions cannot be automatically switched. Specific client library versions are needed.
📊 Supported Versions
| Client Version | Protocol Version | Minecraft Version | |----------------|-------------------|-------------------| | 2.1.0 | 729 | 1.21.30 | | 2.0.10 | 712 | 1.21.20 |
🚀 Usage Example
const { Client, Logger } = require("@sanctumterra/client");
const client = new Client({
host: "127.0.0.1",
port: 19133,
offline: true,
username: "SanctumTerra",
tokensFolder: "./cache/tokens",
version: "1.21.30",
validateProtocol: false,
loadPlugins: false
});
client.connect();
client.on("TextPacket", (packet) => {
if (packet.parameters) {
if (packet.message.includes("chat.type.text")) {
return Logger.chat(`§f<${packet.parameters[0]}> ${packet.parameters[1]}`);
}
if (packet.message.includes("multiplayer.player.joined")) {
return Logger.chat(`§e${packet.parameters[0]} joined the game`);
}
if (packet.message.includes("multiplayer.player.left")) {
return Logger.chat(`§e${packet.parameters[0]} left the game`);
}
if (packet.message.includes("%chat.type.announcement")) {
return Logger.chat(`§d<${packet.parameters[0]}> ${packet.parameters[1]}`);
}
}
Logger.chat(packet.message);
});
client.on("spawn", () => {
Logger.info("Spawned!");
});
📚 Features
🎛️ Client Configuration
- Required Parameters:
host
,port
- Optional Parameters:
offline
,username
,tokensFolder
,version
,validateProtocol
,loadPlugins
📡 Event Handling
- Events allow you to listen to any implemented packet if it is not implemented you will receive a warning and it should not crash if there is a crash then make an issue on github.
🎨 Custom Logging
- Supports Minecraft color codes for in-game styled message logging
- Easier to use and understand
📜 Changelog
2.1.0
- Separated Client into Connection and Client classes
- Fixed CraftingDataPacket for Shields
- Improved packet handling for pre-spawn packets
- Enhanced Listener Events for "secret" / "hidden" events
2.0.11
- Added support for Minecraft 1.21.30
2.0.0
- Initial Release of V2
❤️ Credits
| Project | Description | Link | |---------|-------------|------| | SerenityJS | Packet processing frameworks | GitHub | | PrismarineJS | Authentication framework | GitHub |