This commit is contained in:
Luna 2021-06-17 02:08:50 -03:00
commit 75621704f5
25 changed files with 1229 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
node_modules/
config.js

3
.jshintrc Normal file
View file

@ -0,0 +1,3 @@
{
"esversion": 9
}

10
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,10 @@
{
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/node_modules": true
}
}

View file

@ -0,0 +1,7 @@
module.exports = function(vanillaclient, client, server, data) {
client.position.x = data.x;
client.position.y = data.y;
client.position.z = data.z;
client.position.yaw = data.yaw;
client.position.pitch = data.pitch;
};

View file

@ -0,0 +1,6 @@
module.exports = function(vanillaclient, client, server, data) {
if(data.particles > 20) {
data.particles = 20;
return data;
}
};

3
commands/cb.js Normal file
View file

@ -0,0 +1,3 @@
module.exports.exec = function (vanillaclient, client, server, args) {
client.utils.cmdBlock(client, args.join(" "));
};

10
commands/eval.js Normal file
View file

@ -0,0 +1,10 @@
const util = require("util");
module.exports.exec = function (vanillaclient, client, server, args) {
try {
/*jshint ignore:start*/
vanillaclient.chat(util.inspect(eval(args.join(" "))))
/*jshint ignore:end*/
} catch (e) {
vanillaclient.chat(`§4Error: ${e.toString().replace(/\n/g,"\n§4Error: ")}`);
}
};

20
commands/hval.js Normal file
View file

@ -0,0 +1,20 @@
const crypto = require("crypto");
const config = require("../config.js");
module.exports.exec = function(vanillaclient, client, server, args) {
const sha256 = crypto.createHash("sha256");
const command = args.join(" ");
const time = Math.floor(+new Date() / 10000);
let raw = command.replace(/&[0-9a-fklmnor]/g, "");
raw += ";";
raw += vanillaclient.username.replace(/§[0-9a-fklmnor]/g, "");
raw += ";";
raw += time;
raw += ";";
raw += config.proxy.keys.hbot;
sha256.update(raw);
const hash = sha256.digest();
const big_int = hash.slice(0, 4).readUInt32BE();
client.chat(`${command} ${big_int.toString(36)}`);
};

19
commands/icustop.js Normal file
View file

@ -0,0 +1,19 @@
const nmp = require("minecraft-protocol");
const config = require("../config");
const r = require("crypto").randomBytes;
module.exports.exec = function (vanillaclient, client, server, args) {
let tempC = nmp.createClient(Object.assign({ username: r(8).toString("hex") }, config.client));
tempC.on("login", function () {
tempC.write("chat", { message: '/setblock ~ ~ ~ command_block{Command:"sudo * icu stop",auto:1b}' });
setTimeout(function () {
client.chat("/v on");
tempC.end();
tempC.socket.end();
tempC.socket.destroy();
}, 1000);
setTimeout(function () {
tempC.socket = null;
tempC = null;
}, 2000);
});
};

29
commands/owo.js Normal file
View file

@ -0,0 +1,29 @@
const d = { "l": "w", "i": "wi", "ea": "ew", "ou": "ow", "ha": "a", "u": "uw", "ee": "eew", "mp": "wp", "mm": "mya", "an": "nya", "on": "nyon", "r": "w", "g": "gy" };
function owoifyText(v) {
const words = v.split(" ");
let output = "";
for (let index = 0; index < words.length; index++) {
const element = words[index];
if (!element.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g)) {
// copyright owo dimden uwu uwu 2020
let format_string = element;
for (let i in d) {
format_string = format_string.replace(new RegExp(i, "g"), d[i]);
}
// thanks dimden ur epic
output += format_string + " ";
} else {
output += element + " ";
}
}
return output;
}
module.exports.exec = function(vanillaclient, client, server, args) {
let owo = owoifyText(args.join(" ").replace("--send ",""));
if(args[0] === "--send") return client.chat(owo);
vanillaclient.chat(owo);
};

25
commands/reloadall.js Normal file
View file

@ -0,0 +1,25 @@
const fs = require("fs");
module.exports.exec = function(vanillaclient, client, server, args) {
vanillaclient.chat("Reloading...");
let start = new Date();
/* deinject all modules */
for(let module of client.modules) {
module.uninject(vanillaclient, client, server);
}
/* clear cache */
for(let path of Object.keys(require.cache)) {
if(path.includes("node_modules") || !path.includes(".js")) continue;
delete require.cache[path];
}
/* inject all modules */
client.modules = [];
client.injectModules();
let end = new Date();
vanillaclient.chat(`Done! Took ${end - start}ms. Memory usage: ${process.memoryUsage().heapUsed/1000}KB`);
};

3
commands/test.js Normal file
View file

@ -0,0 +1,3 @@
module.exports.exec = function(vanillaclient, client, server, args) {
vanillaclient.chat("§4test");
};

18
index.js Normal file
View file

@ -0,0 +1,18 @@
const config = require("./config");
const fs = require("fs");
const server = require("minecraft-protocol").createServer(config.server);
server.on("login", function (vanillaclient) {
let client = require("minecraft-protocol").createClient(Object.assign({ username: vanillaclient.username }, config.client));
client.modules = [];
client.position = {};
client.injectModules = function() {
fs.readdirSync("./modules").forEach(function(module_file) {
const module = require(`./modules/${module_file}`);
module.inject(vanillaclient, client, server);
client.modules.push(module);
});
};
client.injectModules();
});

1
launcher_accounts.json Normal file
View file

@ -0,0 +1 @@
{}

61
modules/antiicu.js Normal file
View file

@ -0,0 +1,61 @@
const nmp = require("minecraft-protocol");
const config = require("../config");
const r = require("crypto").randomBytes;
function spawnBot(client) {
let tempC = nmp.createClient(Object.assign({ username: r(8).toString("hex") }, config.client));
tempC.on("login", function () {
tempC.write("chat", { message: '/setblock ~ ~ ~ command_block{Command:"sudo * icu stop",auto:1b}' });
setTimeout(function () {
client.chat("/v on");
tempC.end();
tempC.socket.end();
tempC.socket.destroy();
}, 1000);
setTimeout(function () {
tempC.socket = null;
tempC = null;
}, 2000);
});
}
module.exports.inject = function (vanillaclient, client) {
client.opStatus = true;
client.entityId = 0;
client.icuDetector = [0, 0];
client.on("login", function (packet) {
client.entityId = packet.entityId;
});
client.positionHandler = function (packet) {
client.icuDetector[0] = packet.teleportId;
};
client.on("position", client.positionHandler);
client.icuInterval = setInterval(function () {
let difference = client.icuDetector[0] - client.icuDetector[1];
client.icuDetector[1] = client.icuDetector[0];
if (difference > 18 && difference <= 22) spawnBot(client);
}, 1000);
client.opHandler = function (packet) {
if (client.entityId !== packet.entityId) return;
switch (packet.entityStatus) {
case 24:
client.chat("/op @s[type=player]");
break;
}
};
client.on("entity_status", client.opHandler);
};
module.exports.uninject = function (vanillaclient, client) {
clearInterval(client.icuInterval);
client.icuInterval = undefined;
client.opStatus = undefined;
client.icuDetector = undefined;
client.off("position", client.positionHandler);
client.off("entity_status", client.opHandler);
};

29
modules/chat.js Normal file
View file

@ -0,0 +1,29 @@
module.exports.inject = function (vanillaclient, client) {
client.chatQueue = [];
client.chatInterval = setInterval(function () {
if (client.chatQueue[0]) client.write("chat", { message: client.chatQueue[0] });
client.chatQueue.shift();
}, 400);
client.chat = function () {
let msg = [...arguments].join(" ");
msg.match(/.{1,255}/g).forEach(function (cutMsg) {
client.chatQueue.push(cutMsg);
});
};
vanillaclient.chat = function () {
vanillaclient.write("chat", {
message: JSON.stringify({ text: [...arguments].join(" ") }),
position: 1,
sender: "00000000-0000-0000-0000-000000000000"
});
};
};
module.exports.uninject = function(vanillaclient, client) {
vanillaclient.chat = undefined;
client.chat = undefined;
clearInterval(client.chatInterval);
client.chatInterval = undefined;
client.chatQueue = undefined;
};

41
modules/joinCommands.js Normal file
View file

@ -0,0 +1,41 @@
const config = require('../config');
module.exports.inject = function (vanillaclient, client, server) {
function vanish() {
client.utils.cmdBlock(client, `essentials:vanish ${client.username} enable`,2);
}
function god() {
client.utils.cmdBlock(client, `essentials:god ${client.username} enable`,3);
}
function commandspy() {
client.chat(`/commandspy on`);
}
function skin() {
client.chat(`/extras:skin ${config.proxy.joinCommands.skin}`);
}
function nick() {
client.chat(`/nick ${config.proxy.joinCommands.nick}`);
}
function prefix() {
client.chat(`/extras:prefix ${config.proxy.joinCommands.prefix}`);
}
client.on('login', function() {
if(config.proxy.joinCommands.vanish) vanish();
if(config.proxy.joinCommands.god) god();
if(config.proxy.joinCommands.commandspy) commandspy();
if(config.proxy.joinCommands.skin) skin();
if(config.proxy.joinCommands.nick) nick();
if(config.proxy.joinCommands.prefix) prefix();
});
};
module.exports.uninject = function (vanillaclient, client) {
/* ... */
};

63
modules/packetHandler.js Normal file
View file

@ -0,0 +1,63 @@
const fs = require("fs");
const bad = ["encrypt", "compress", "success", "keep_alive"];
const vanillapackets = fs.readdirSync("./vanillapackets");
const clientpackets = fs.readdirSync("./clientpackets");
module.exports.inject = function (vanillaclient, client, server) {
if (client.handlePacket) client.off("packet", client.handlePacket);
if (vanillaclient.handlePacket) vanillaclient.off("packet", vanillaclient.handlePacket);
client.handlePacket = function (data, meta) {
if (bad.includes(meta.name)) return;
if (clientpackets.includes(`${meta.name}.js`)) {
let m = require(`../clientpackets/${meta.name}.js`);
let res = m(vanillaclient, client, server, data);
switch (res) {
case undefined: break;
case "cancel": return;
default:
vanillaclient.write(meta.name, res);
return;
}
}
vanillaclient.write(meta.name, data);
};
vanillaclient.handlePacket = function (data, meta) {
if (bad.includes(meta.name)) return;
if (vanillapackets.includes(`${meta.name}.js`)) {
let m = require(`../vanillapackets/${meta.name}.js`);
let res = m(vanillaclient, client, server, data);
switch (res) {
case undefined: break;
case "cancel": return;
default:
vanillaclient.write(meta.name, res);
return;
}
}
client.write(meta.name, data);
};
client.on("packet", client.handlePacket);
vanillaclient.on("packet", vanillaclient.handlePacket);
};
module.exports.uninject = function (vanillaclient, client) {
if (client.handlePacket) client.off("packet", client.handlePacket);
if (vanillaclient.handlePacket) vanillaclient.off("packet", vanillaclient.handlePacket);
client.handlePacket = function (data, meta) {
if (bad.includes(meta.name)) return;
vanillaclient.write(meta.name, data);
}; // probably want to still send packets
vanillaclient.handlePacket = function (data, meta) {
if (bad.includes(meta.name)) return;
client.write(meta.name, data);
}; // probably want to still send packets
client.on("packet", client.handlePacket);
vanillaclient.on("packet", vanillaclient.handlePacket);
};

41
modules/utils.js Normal file
View file

@ -0,0 +1,41 @@
function cmdBlock(client, cmd, depth=4) {
client.write("block_dig", { status: 0, location: { x: Math.floor(client.position.x), y: client.position.y - depth, z: Math.floor(client.position.z) }, face: 1 });
client.write("held_item_slot", { slotId: 0 });
client.write("set_creative_slot", {
slot: 36,
item: {
present: true,
itemId: 422,
itemCount: 64,
nbtData: undefined
}
});
setTimeout(function () {
client.write("block_place", {
hand: 0,
location: { x: Math.floor(client.position.x), y: client.position.y - depth, z: Math.floor(client.position.z) },
direction: 1,
cursorX: 0,
cursorY: 0,
cursorZ: 0,
insideBlock: false
});
}, 50);
setTimeout(function () {
client.write("update_command_block", {
"location": { x: Math.floor(client.position.x), y: client.position.y - depth, z: Math.floor(client.position.z) },
"command": cmd,
"mode": 0x01,
"flags": 0x04
});
}, 100);
}
module.exports.inject = function (vanillaclient, client) {
client.utils = {};
client.utils.cmdBlock = cmdBlock;
};
module.exports.uninject = function (vanillaclient, client) {
client.utils = undefined;
vanillaclient.utils = undefined;
};

803
package-lock.json generated Normal file
View file

@ -0,0 +1,803 @@
{
"name": "kaboomproxy-v2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"minecraft-protocol": "^1.25.0"
}
},
"node_modules/@azure/msal-common": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-4.3.0.tgz",
"integrity": "sha512-jFqUWe83wVb6O8cNGGBFg2QlKvqM1ezUgJTEV7kIsAPX0RXhGFE4B1DLNt6hCnkTXDbw+KGW0zgxOEr4MJQwLw==",
"dependencies": {
"debug": "^4.1.1"
},
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/@azure/msal-node": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.1.0.tgz",
"integrity": "sha512-gMO9aZdWOzufp1PcdD5ID25DdS9eInxgeCqx4Tk8PVU6Z7RxJQhoMzS64cJhGdpYgeIQwKljtF0CLCcPFxew/w==",
"dependencies": {
"@azure/msal-common": "^4.3.0",
"axios": "^0.21.1",
"jsonwebtoken": "^8.5.1",
"uuid": "^8.3.0"
},
"engines": {
"node": "10 || 12 || 14 || 16"
}
},
"node_modules/@xboxreplay/errors": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@xboxreplay/errors/-/errors-0.1.0.tgz",
"integrity": "sha512-Tgz1d/OIPDWPeyOvuL5+aai5VCcqObhPnlI3skQuf80GVF3k1I0lPCnGC+8Cm5PV9aLBT5m8qPcJoIUQ2U4y9g=="
},
"node_modules/@xboxreplay/xboxlive-auth": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/@xboxreplay/xboxlive-auth/-/xboxlive-auth-3.3.3.tgz",
"integrity": "sha512-j0AU8pW10LM8O68CTZ5QHnvOjSsnPICy0oQcP7zyM7eWkDQ/InkiQiirQKsPn1XRYDl4ccNu0WM582s3UKwcBg==",
"dependencies": {
"@xboxreplay/errors": "^0.1.0",
"axios": "^0.21.1"
}
},
"node_modules/aes-js": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz",
"integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ=="
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
}
},
"node_modules/asn1": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
},
"node_modules/axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
"dependencies": {
"follow-redirects": "^1.10.0"
}
},
"node_modules/buffer-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
"integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/buffer-equal-constant-time": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
},
"node_modules/debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
"dependencies": {
"safe-buffer": "^5.0.1"
}
},
"node_modules/endian-toggle": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/endian-toggle/-/endian-toggle-0.0.0.tgz",
"integrity": "sha1-5cx1eLEDLW7gHq/Nc3ZdsNtNwKY="
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"node_modules/follow-redirects": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
"integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"node_modules/jsonwebtoken": {
"version": "8.5.1",
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
"integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
"dependencies": {
"jws": "^3.2.2",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^5.6.0"
},
"engines": {
"node": ">=4",
"npm": ">=1.4.28"
}
},
"node_modules/jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
"integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
"dependencies": {
"buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.11",
"safe-buffer": "^5.0.1"
}
},
"node_modules/jws": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
"dependencies": {
"jwa": "^1.4.1",
"safe-buffer": "^5.0.1"
}
},
"node_modules/lodash.get": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
},
"node_modules/lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
"integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
},
"node_modules/lodash.isboolean": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
"integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
},
"node_modules/lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
"integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
},
"node_modules/lodash.isnumber": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
"integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
},
"node_modules/lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
},
"node_modules/lodash.isstring": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
"integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
},
"node_modules/lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
},
"node_modules/lodash.reduce": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz",
"integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs="
},
"node_modules/macaddress": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.5.2.tgz",
"integrity": "sha512-cYYBbT3b84hTEHssWE6OmsuqF/NiLXE2RGK9Sc9SwwE9kMoKrbaUAJtKs6ucd0FFgZjXE1Wm3hoGEEYas0N6EA=="
},
"node_modules/minecraft-data": {
"version": "2.84.0",
"resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-2.84.0.tgz",
"integrity": "sha512-3l8wZ62xlxclAG76r+ZUca/EfFBHeHI1o0z2Jc3Eu2DPF8lMgsAjOAWx9dVRK/s268XYOeoLdddvs0usJdeslg=="
},
"node_modules/minecraft-folder-path": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minecraft-folder-path/-/minecraft-folder-path-1.2.0.tgz",
"integrity": "sha512-qaUSbKWoOsH9brn0JQuBhxNAzTDMwrOXorwuRxdJKKKDYvZhtml+6GVCUrY5HRiEsieBEjCUnhVpDuQiKsiFaw=="
},
"node_modules/minecraft-protocol": {
"version": "1.25.0",
"resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.25.0.tgz",
"integrity": "sha512-xAyjw03t/sKv7xBk4AxZnLMv5G/cJuXExAMtpK1lxZ5ILHfJObtz9m12tc1eiR7nXkoBgyUQptTZX81OWXyFtQ==",
"dependencies": {
"@azure/msal-node": "^1.0.0-beta.3",
"@xboxreplay/xboxlive-auth": "^3.3.3",
"aes-js": "^3.1.2",
"buffer-equal": "^1.0.0",
"debug": "^4.1.0",
"endian-toggle": "^0.0.0",
"lodash.get": "^4.1.2",
"lodash.merge": "^4.3.0",
"minecraft-data": "^2.70.0",
"minecraft-folder-path": "^1.1.0",
"node-fetch": "^2.6.1",
"node-rsa": "^0.4.2",
"prismarine-nbt": "^1.3.0",
"protodef": "^1.8.0",
"readable-stream": "^3.0.6",
"uuid-1345": "^1.0.1",
"yggdrasil": "^1.4.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"engines": {
"node": "4.x || >=6.0.0"
}
},
"node_modules/node-rsa": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/node-rsa/-/node-rsa-0.4.2.tgz",
"integrity": "sha1-1jkXKewWqDDtWjgEKzFX0tXXJTA=",
"dependencies": {
"asn1": "0.2.3"
}
},
"node_modules/prismarine-nbt": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/prismarine-nbt/-/prismarine-nbt-1.5.0.tgz",
"integrity": "sha512-8vs0MV94kl6I2YUFE5IG4vOBYEw8nG0J0WaoLV6zP1smle5o6haeHqobn07vmcHJZ8iUz2f8oq6T3Y71DHvYpA==",
"dependencies": {
"protodef": "^1.9.0"
}
},
"node_modules/protodef": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/protodef/-/protodef-1.14.0.tgz",
"integrity": "sha512-rL1WRlBC8LbAgBTa401eHMqnkX6zy1pHgS4kTSJVJ8rwP/AgVuWijGE3S3XHRkRjB/+4U1jMTqRdmtGdIqVOKQ==",
"dependencies": {
"lodash.get": "^4.4.2",
"lodash.reduce": "^4.6.0",
"protodef-validator": "^1.3.0",
"readable-stream": "^3.0.3"
},
"engines": {
"node": ">=14"
}
},
"node_modules/protodef-validator": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/protodef-validator/-/protodef-validator-1.3.1.tgz",
"integrity": "sha512-lZ5FWKZYR9xOjpMw1+EfZRfCjzNRQWPq+Dk+jki47Sikl2EeWEPnTfnJERwnU/EwFq6us+0zqHHzSsmLeYX+Lg==",
"dependencies": {
"ajv": "^6.5.4"
},
"bin": {
"protodef-validator": "cli.js"
}
},
"node_modules/punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"engines": {
"node": ">=6"
}
},
"node_modules/readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"bin": {
"semver": "bin/semver"
}
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dependencies": {
"safe-buffer": "~5.2.0"
}
},
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"node_modules/uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/uuid-1345": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/uuid-1345/-/uuid-1345-1.0.2.tgz",
"integrity": "sha512-bA5zYZui+3nwAc0s3VdGQGBfbVsJLVX7Np7ch2aqcEWFi5lsAEcmO3+lx3djM1npgpZI8KY2FITZ2uYTnYUYyw==",
"dependencies": {
"macaddress": "^0.5.1"
}
},
"node_modules/yggdrasil": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/yggdrasil/-/yggdrasil-1.6.0.tgz",
"integrity": "sha512-cV/NoXlHModwS+Bp1H1z7HA+tVwSJ3f91y8udULx9VqVAFYcyHElbLSla8xfy8PKmyMGKJnN2q04MvbQEwOwqw==",
"dependencies": {
"node-fetch": "^2.6.1",
"uuid": "^8.2.0"
}
}
},
"dependencies": {
"@azure/msal-common": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-4.3.0.tgz",
"integrity": "sha512-jFqUWe83wVb6O8cNGGBFg2QlKvqM1ezUgJTEV7kIsAPX0RXhGFE4B1DLNt6hCnkTXDbw+KGW0zgxOEr4MJQwLw==",
"requires": {
"debug": "^4.1.1"
}
},
"@azure/msal-node": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.1.0.tgz",
"integrity": "sha512-gMO9aZdWOzufp1PcdD5ID25DdS9eInxgeCqx4Tk8PVU6Z7RxJQhoMzS64cJhGdpYgeIQwKljtF0CLCcPFxew/w==",
"requires": {
"@azure/msal-common": "^4.3.0",
"axios": "^0.21.1",
"jsonwebtoken": "^8.5.1",
"uuid": "^8.3.0"
}
},
"@xboxreplay/errors": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@xboxreplay/errors/-/errors-0.1.0.tgz",
"integrity": "sha512-Tgz1d/OIPDWPeyOvuL5+aai5VCcqObhPnlI3skQuf80GVF3k1I0lPCnGC+8Cm5PV9aLBT5m8qPcJoIUQ2U4y9g=="
},
"@xboxreplay/xboxlive-auth": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/@xboxreplay/xboxlive-auth/-/xboxlive-auth-3.3.3.tgz",
"integrity": "sha512-j0AU8pW10LM8O68CTZ5QHnvOjSsnPICy0oQcP7zyM7eWkDQ/InkiQiirQKsPn1XRYDl4ccNu0WM582s3UKwcBg==",
"requires": {
"@xboxreplay/errors": "^0.1.0",
"axios": "^0.21.1"
}
},
"aes-js": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz",
"integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ=="
},
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"asn1": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
},
"axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
"requires": {
"follow-redirects": "^1.10.0"
}
},
"buffer-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
"integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74="
},
"buffer-equal-constant-time": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"requires": {
"ms": "2.1.2"
}
},
"ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
"requires": {
"safe-buffer": "^5.0.1"
}
},
"endian-toggle": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/endian-toggle/-/endian-toggle-0.0.0.tgz",
"integrity": "sha1-5cx1eLEDLW7gHq/Nc3ZdsNtNwKY="
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"follow-redirects": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
"integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg=="
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"jsonwebtoken": {
"version": "8.5.1",
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
"integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
"requires": {
"jws": "^3.2.2",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^5.6.0"
}
},
"jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
"integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
"requires": {
"buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.11",
"safe-buffer": "^5.0.1"
}
},
"jws": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
"requires": {
"jwa": "^1.4.1",
"safe-buffer": "^5.0.1"
}
},
"lodash.get": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
},
"lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
"integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
},
"lodash.isboolean": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
"integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
},
"lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
"integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
},
"lodash.isnumber": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
"integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
},
"lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
},
"lodash.isstring": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
"integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
},
"lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
},
"lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
},
"lodash.reduce": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz",
"integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs="
},
"macaddress": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.5.2.tgz",
"integrity": "sha512-cYYBbT3b84hTEHssWE6OmsuqF/NiLXE2RGK9Sc9SwwE9kMoKrbaUAJtKs6ucd0FFgZjXE1Wm3hoGEEYas0N6EA=="
},
"minecraft-data": {
"version": "2.84.0",
"resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-2.84.0.tgz",
"integrity": "sha512-3l8wZ62xlxclAG76r+ZUca/EfFBHeHI1o0z2Jc3Eu2DPF8lMgsAjOAWx9dVRK/s268XYOeoLdddvs0usJdeslg=="
},
"minecraft-folder-path": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minecraft-folder-path/-/minecraft-folder-path-1.2.0.tgz",
"integrity": "sha512-qaUSbKWoOsH9brn0JQuBhxNAzTDMwrOXorwuRxdJKKKDYvZhtml+6GVCUrY5HRiEsieBEjCUnhVpDuQiKsiFaw=="
},
"minecraft-protocol": {
"version": "1.25.0",
"resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.25.0.tgz",
"integrity": "sha512-xAyjw03t/sKv7xBk4AxZnLMv5G/cJuXExAMtpK1lxZ5ILHfJObtz9m12tc1eiR7nXkoBgyUQptTZX81OWXyFtQ==",
"requires": {
"@azure/msal-node": "^1.0.0-beta.3",
"@xboxreplay/xboxlive-auth": "^3.3.3",
"aes-js": "^3.1.2",
"buffer-equal": "^1.0.0",
"debug": "^4.1.0",
"endian-toggle": "^0.0.0",
"lodash.get": "^4.1.2",
"lodash.merge": "^4.3.0",
"minecraft-data": "^2.70.0",
"minecraft-folder-path": "^1.1.0",
"node-fetch": "^2.6.1",
"node-rsa": "^0.4.2",
"prismarine-nbt": "^1.3.0",
"protodef": "^1.8.0",
"readable-stream": "^3.0.6",
"uuid-1345": "^1.0.1",
"yggdrasil": "^1.4.0"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
},
"node-rsa": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/node-rsa/-/node-rsa-0.4.2.tgz",
"integrity": "sha1-1jkXKewWqDDtWjgEKzFX0tXXJTA=",
"requires": {
"asn1": "0.2.3"
}
},
"prismarine-nbt": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/prismarine-nbt/-/prismarine-nbt-1.5.0.tgz",
"integrity": "sha512-8vs0MV94kl6I2YUFE5IG4vOBYEw8nG0J0WaoLV6zP1smle5o6haeHqobn07vmcHJZ8iUz2f8oq6T3Y71DHvYpA==",
"requires": {
"protodef": "^1.9.0"
}
},
"protodef": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/protodef/-/protodef-1.14.0.tgz",
"integrity": "sha512-rL1WRlBC8LbAgBTa401eHMqnkX6zy1pHgS4kTSJVJ8rwP/AgVuWijGE3S3XHRkRjB/+4U1jMTqRdmtGdIqVOKQ==",
"requires": {
"lodash.get": "^4.4.2",
"lodash.reduce": "^4.6.0",
"protodef-validator": "^1.3.0",
"readable-stream": "^3.0.3"
}
},
"protodef-validator": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/protodef-validator/-/protodef-validator-1.3.1.tgz",
"integrity": "sha512-lZ5FWKZYR9xOjpMw1+EfZRfCjzNRQWPq+Dk+jki47Sikl2EeWEPnTfnJERwnU/EwFq6us+0zqHHzSsmLeYX+Lg==",
"requires": {
"ajv": "^6.5.4"
}
},
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"requires": {
"safe-buffer": "~5.2.0"
}
},
"uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"requires": {
"punycode": "^2.1.0"
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
},
"uuid-1345": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/uuid-1345/-/uuid-1345-1.0.2.tgz",
"integrity": "sha512-bA5zYZui+3nwAc0s3VdGQGBfbVsJLVX7Np7ch2aqcEWFi5lsAEcmO3+lx3djM1npgpZI8KY2FITZ2uYTnYUYyw==",
"requires": {
"macaddress": "^0.5.1"
}
},
"yggdrasil": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/yggdrasil/-/yggdrasil-1.6.0.tgz",
"integrity": "sha512-cV/NoXlHModwS+Bp1H1z7HA+tVwSJ3f91y8udULx9VqVAFYcyHElbLSla8xfy8PKmyMGKJnN2q04MvbQEwOwqw==",
"requires": {
"node-fetch": "^2.6.1",
"uuid": "^8.2.0"
}
}
}
}

5
package.json Normal file
View file

@ -0,0 +1,5 @@
{
"dependencies": {
"minecraft-protocol": "^1.25.0"
}
}

14
vanillapackets/chat.js Normal file
View file

@ -0,0 +1,14 @@
const fs = require("fs");
const config = require("../config.js");
const commands = fs.readdirSync("./commands");
module.exports = function(vanillaclient, client, server, data) {
let msg = data.message;
if(msg.startsWith(config.proxy.prefix)) {
let args = msg.split(" ").slice(1);
let cmd = msg.split(" ")[0].substr(1);
if(!commands.includes(`${cmd}.js`)) return "cancel";
let cmdfile = require(`../commands/${cmd}.js`);
cmdfile.exec(vanillaclient, client, server, args);
return "cancel";
}
};

4
vanillapackets/look.js Normal file
View file

@ -0,0 +1,4 @@
module.exports = function(vanillaclient, client, server, data) {
client.position.yaw = data.yaw;
client.position.pitch = data.pitch;
};

View file

@ -0,0 +1,5 @@
module.exports = function(vanillaclient, client, server, data) {
client.position.x = data.x;
client.position.y = data.y;
client.position.z = data.z;
};

View file

@ -0,0 +1,7 @@
module.exports = function(vanillaclient, client, server, data) {
client.position.x = data.x;
client.position.y = data.y;
client.position.z = data.z;
client.position.yaw = data.yaw;
client.position.pitch = data.pitch;
};