Thanks to visit codestin.com
Credit goes to github.com

Skip to content

SanctumTerra/Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

93 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ› ๏ธ Minecraft Bedrock Edition Client Library

We have moved to Baltica! For newer versions go and take a look there.

Version npm License

Discord

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 the Client 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.0.10 712 1.21.20
2.1.5 729 1.21.30
2.1.12 748 1.21.40
2.1.16 766 1.21.50

๐Ÿš€ Usage Example

const { Client, Logger, DeviceOS } = require("@sanctumterra/client");

const client = new Client({
    host: "127.0.0.1",
    port: 19132,
    offline: true,
    username: "SanctumTerra",
    tokensFolder: "./cache/tokens",
    version: "1.21.50",
    deviceOS: DeviceOS.Android,
    sendAuthInput: true,
    logPacketErrors: false,
    tickRate: 50 // 50 is the default tick rate
});

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, deviceOS, viewDistance, sendAuthInput, logPacketErrors, tickRate

๐Ÿ“ก 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.16

  • Fixed bugs with BDS.
  • Added more options.
  • New Listener Events.

2.1.14

  • Use latest version of Raknet
  • Fixes

2.1.13

  • Added support for Minecraft 1.21.50.
  • Fixed many bugs.
  • Slightly Improved performance.

2.1.12

  • Added support for Minecraft 1.21.40.
  • New Raknet! It now uses NAPI as Rust is faster.
  • connect function now returns [Advertisement, StartGamePacket]

2.1.5

  • Added DeviceOS to the Client.

2.1.3

  • Removed Protocol Validation
  • Added more debug logs
  • Improved performance

2.1.2

  • Added a couple examples in /examples/ (readline, skinStealer).
  • debug logs n options.
  • Allow safe disconnection.

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

Made with โค๏ธ by SanctumTerra