mcraft-fun-mineflayer
Version:
Mineflayer viewer (connector) for mcraft.fun project and vanilla Minecraft client! Both TCP and WebSockets servers are supported.
37 lines (36 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerCustomChannel = exports.CHANNEL_NAME = void 0;
exports.CHANNEL_NAME = 'minecraft-web-client:data';
const registerCustomChannel = (bot, options, getClients) => {
const res = {
send: (packet, client) => {
const packetString = JSON.stringify(packet);
if (client) {
client.writeChannel(exports.CHANNEL_NAME, packetString);
}
else {
for (const client of getClients()) {
client.writeChannel(exports.CHANNEL_NAME, packetString);
}
}
},
receivedProcessor: (packet) => { },
registerChannel: (client) => {
if (!client['channelRegistered']) {
client.registerChannel(exports.CHANNEL_NAME, ['string', []], true);
client['channelRegistered'] = true;
}
},
newConnection: (client) => {
client.on(exports.CHANNEL_NAME, (packet) => {
try {
res.receivedProcessor(JSON.parse(packet));
}
catch { }
});
}
};
return res;
};
exports.registerCustomChannel = registerCustomChannel;