forked from wmantly/mc-bot-town
Updated to 1.20.1
This commit is contained in:
parent
d07dc0260b
commit
03c4f4790a
@ -64,7 +64,6 @@ module.exports = {
|
||||
|
||||
// If the trade took so long it timed out, just kill the whole thing.
|
||||
if(timeoutCheck._destroyed) return;
|
||||
console.log('clearing timeout');
|
||||
clearTimeout(timeoutCheck)
|
||||
|
||||
// Give MC a moment
|
||||
@ -84,344 +83,6 @@ module.exports = {
|
||||
allowed: ['useless666'],
|
||||
async function(from){
|
||||
let chestBlock = findChestBySign(this, from);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
|
||||
const { countCustomerPayment } = require('../parts/countCustomerPayment.js');
|
||||
const { getCustomerItems } = require('../parts/getCustomerItems.js');
|
||||
const { findContainerItem } = require('../parts/findContainerItem.js');
|
||||
const { minecraftBot } = require('../../../modules/minecraftBot.js');
|
||||
const mcData = require('minecraft-data')(minecraftBot.version);
|
||||
|
||||
const { once } = require('../../../functions/once.js');
|
||||
const { timeOut } = require('../../../functions/timeOut.js');
|
||||
const { toMinecraftChat } = require('../../../functions/toMinecraftChat.js');
|
||||
|
||||
const { findOrCreateBankItemWithRelation } = require('../../bank/parts/findOrCreateBankItemWithRelations.js');
|
||||
const { toDiscordChat } = require('../../../functions/toDiscordChat.js');
|
||||
|
||||
|
||||
|
||||
let checkCustomerFirstConfirmInterval;
|
||||
let checkCustomerSecondConfirmInterval;
|
||||
let putItemInterval;
|
||||
let firstTimeout;
|
||||
let secondTimeout;
|
||||
|
||||
let windowOpened;
|
||||
let timedOut;
|
||||
let isFinished;
|
||||
|
||||
const firstTimeoutDelay = 30000;
|
||||
const secondTimeoutDelay = 20000;
|
||||
|
||||
function CJTradeRequest(targetPlayer, itemToGive, itemToGiveAmount, itemToReceive, itemToReceiveAmount) {
|
||||
windowOpened = false;
|
||||
isFinished = false;
|
||||
timedOut = false;
|
||||
|
||||
// Item that is not the currency.
|
||||
let fullItemName = itemToGive.nameWithTradeName ?? itemToReceive.nameWithTradeName;
|
||||
let itemAmount = itemToGive.nameWithTradeName ? itemToGiveAmount : itemToReceiveAmount;
|
||||
|
||||
let tradePromise = new Promise((resolve, reject) => {
|
||||
console.log("trade request started");
|
||||
minecraftBot.chat(`/trade ${targetPlayer}`);
|
||||
minecraftBot.once('windowOpen', async (window) => {
|
||||
windowOpened = true;
|
||||
if (timedOut == true) {
|
||||
return;
|
||||
}
|
||||
console.log("trade window opened");
|
||||
|
||||
// List of items in inventory
|
||||
let windowInventoryItems = window.items();
|
||||
|
||||
function windowInventoryItemsCount() {
|
||||
let inventoryItemCount = 0;
|
||||
|
||||
for (let item of windowInventoryItems) {
|
||||
if (item.name == itemToGive.item_name) {
|
||||
inventoryItemCount += parseInt(item.count);
|
||||
}
|
||||
}
|
||||
return inventoryItemCount;
|
||||
}
|
||||
console.log("inventory item count: " + windowInventoryItemsCount());
|
||||
|
||||
// If itemToGive is diamond round down to whole number and pay difference in diamondBank
|
||||
let roundingDifference = 0;
|
||||
if (itemToGive.item_name == "diamond" && itemToGive.isToken == false) {
|
||||
let itemToGiveAmountUnrounded = itemToGiveAmount;
|
||||
itemToGiveAmount = Math.floor(itemToGiveAmount);
|
||||
roundingDifference = itemToGiveAmountUnrounded - itemToGiveAmount;
|
||||
}
|
||||
|
||||
let takeItemDelay = 50;
|
||||
let i = 0;
|
||||
let currentSlotAmount = 0;
|
||||
let movedAmount = 0;
|
||||
|
||||
let itemToMove;
|
||||
let amountLeft;
|
||||
|
||||
let putItemInTrade = async () => {
|
||||
itemToMove = await findContainerItem(window.items(), itemToGive, itemToGive.itemEnchants);
|
||||
// amountLeft is the amount of items left to move
|
||||
amountLeft = itemToGiveAmount - movedAmount;
|
||||
|
||||
if (itemToMove !== null) {
|
||||
// Move entire slot if is less than whats left
|
||||
if (amountLeft >= itemToMove.count) {
|
||||
amountToMove = itemToMove.count
|
||||
console.log("amount to move is all items in inv slot, amount: ", amountToMove);
|
||||
}
|
||||
|
||||
// Move only specific amount of slot if slot itemToMove count is more than whats left
|
||||
else if (amountLeft < itemToMove.count) {
|
||||
amountToMove = amountLeft;
|
||||
console.log("amount to move is less than in the slot, amount: ", amountToMove);
|
||||
}
|
||||
|
||||
// Move stack size if amountToMove is bigger than a stack
|
||||
if (currentSlotAmount + amountToMove > itemToGive.stackSize) {
|
||||
amountToMove = itemToGive.stackSize - currentSlotAmount;
|
||||
console.log("total amount of slot will be more than stack size, updated amount: ", amountToMove);
|
||||
}
|
||||
}
|
||||
|
||||
if (itemToGiveAmount > movedAmount) {
|
||||
itemSlot = itemToMove.slot;
|
||||
let options = {
|
||||
itemType: itemToGive.mcId,
|
||||
destStart: botSlots[i],
|
||||
// destEnd is until (excluding itself)
|
||||
destEnd: botSlots[i] + 1,
|
||||
sourceStart: itemSlot,
|
||||
sourceEnd: itemSlot + 1,
|
||||
count: amountToMove,
|
||||
}
|
||||
currentSlotAmount += amountToMove;
|
||||
minecraftBot.transfer(options)
|
||||
movedAmount = parseInt(movedAmount + amountToMove);
|
||||
console.log(" amountToMove / movedAmount / total needed amount", amountToMove, movedAmount, amount);
|
||||
console.log("current slot amount / stack size", currentSlotAmount, itemToGive.stackSize);
|
||||
if (currentSlotAmount >= itemToGive.stackSize) {
|
||||
console.log("1 slot up!");
|
||||
i++;
|
||||
currentSlotAmount = 0;
|
||||
}
|
||||
}
|
||||
if (itemToGiveAmount == movedAmount) {
|
||||
clearInterval(putItemInterval);
|
||||
//do first confirm
|
||||
setTimeout(() => {
|
||||
minecraftBot.moveSlotItem(37, 37);
|
||||
}, 70);
|
||||
}
|
||||
}
|
||||
// Start putting items in trade window.
|
||||
console.log("give token: ", itemToGive.isToken)
|
||||
if (itemToGive.isToken == false) {
|
||||
putItemInterval = setInterval(putItemInTrade, takeItemDelay);
|
||||
}
|
||||
// If token transaction do not put item in trade window and press first confirm.
|
||||
else if (itemToGive.isToken == true) {
|
||||
setTimeout(() => {
|
||||
minecraftBot.moveSlotItem(37, 37);
|
||||
}, 70);
|
||||
}
|
||||
|
||||
let missingDiamonds = null;
|
||||
let missingDiamondsRounded = null;
|
||||
let windowItems;
|
||||
let paymentCount;
|
||||
let bankItem;
|
||||
|
||||
let validateTrade = async () => {
|
||||
windowItems = window.containerItems();
|
||||
paymentCount = await countCustomerPayment(windowItems, itemToReceive, itemToReceive.itemEnchants);
|
||||
|
||||
// Check if payment amount is less than required amount
|
||||
if (paymentCount < itemToReceiveAmount) {
|
||||
if (itemToReceive.item_name == "diamond") {
|
||||
missingDiamonds = itemToReceiveAmount - paymentCount;
|
||||
missingDiamondsRounded = Math.round(missingDiamonds * 100) / 100;
|
||||
|
||||
// Check if it has the missing diamonds in bank
|
||||
bankItem = await findOrCreateBankItemWithRelation(targetPlayer)
|
||||
if (bankItem.balance < missingDiamonds) {
|
||||
toMinecraftChat(targetPlayer, "You did not pay enough, and not enough in bank!");
|
||||
minecraftBot.closeWindow(window);
|
||||
return reject("Not enough paid and not enough in bank.");
|
||||
}
|
||||
}
|
||||
else {
|
||||
toMinecraftChat(targetPlayer, "You did not pay enough of the item!");
|
||||
minecraftBot.closeWindow(window);
|
||||
return reject("not enough paid");
|
||||
}
|
||||
}
|
||||
// Check for illegal items
|
||||
for (let windowItem of windowItems) {
|
||||
// Item is named with anvil and bigger stack size than 1
|
||||
let itemNickJson = windowItem?.nbt?.value?.display?.value?.Name?.value
|
||||
let itemNick = itemNickJson ? JSON.parse(itemNickJson).text : null;
|
||||
if (itemNick) {
|
||||
let itemStackSize = mcData.itemsByName[windowItem.name].stackSize;
|
||||
if (itemStackSize > 1) {
|
||||
toMinecraftChat(targetPlayer, "Only items with stack size of 1 may be named!");
|
||||
minecraftBot.closeWindow(window);
|
||||
return reject("named item");
|
||||
}
|
||||
}
|
||||
|
||||
// Item is is a map
|
||||
if (windowItem.name == "filled_map") {
|
||||
toMinecraftChat(targetPlayer, "You put an illegal piece of junk in trade window.");
|
||||
minecraftBot.closeWindow(window);
|
||||
return reject(`Illegal item "filled_map" in trade window.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let customerConfirmItem;
|
||||
let checkCustomerFirstConfirm = async () => {
|
||||
customerConfirmItem = window.containerItems().filter(item => item?.slot == 53);
|
||||
if (window.findContainerItem("magenta_dye") !== null && customerConfirmItem[0]?.name == "magenta_dye") {
|
||||
clearInterval(checkCustomerFirstConfirmInterval);
|
||||
await validateTrade();
|
||||
checkCustomerSecondConfirmInterval = setInterval(checkCustomerSecondConfirm, secondConfirmIntervalDelay);
|
||||
}
|
||||
}
|
||||
|
||||
let checkCustomerSecondConfirm = async () => {
|
||||
console.log("checkCustomerSecondConfirm");
|
||||
// Check if item in slot 54 is lime dye
|
||||
customerConfirmItem = window.containerItems().filter(item => item?.slot == 53);
|
||||
if (window.findContainerItem("lime_dye") != null && customerConfirmItem[0]?.name == "lime_dye") {
|
||||
console.log("customer did second confirm");
|
||||
clearInterval(checkCustomerSecondConfirmInterval);
|
||||
await validateTrade();
|
||||
bankItem = await findOrCreateBankItemWithRelation(targetPlayer)
|
||||
// Buy:
|
||||
if (itemToReceive.item_name == "diamond") {
|
||||
if (bankItem.balance >= missingDiamonds && missingDiamonds != null) {
|
||||
bankItem.balance -= missingDiamonds;
|
||||
bankItem.save();
|
||||
toMinecraftChat(targetPlayer, `You paid ${missingDiamondsRounded} diamonds from your bulba bank account!`);
|
||||
toDiscordChat(`Paid ${missingDiamondsRounded} diamond token and ${itemToReceiveAmount - missingDiamonds} diamond.`);
|
||||
}
|
||||
// Add overpaid diamonds to bank
|
||||
else if (paymentCount > itemToReceiveAmount) {
|
||||
let overpaidDiamonds = paymentCount - itemToReceiveAmount;
|
||||
let overpaidDiamondsRounded = Math.round(overpaidDiamonds * 100) / 100;
|
||||
|
||||
bankItem.balance += overpaidDiamonds;
|
||||
bankItem.save();
|
||||
toMinecraftChat(targetPlayer, `You overpaid ${overpaidDiamondsRounded} diamond. It has been added to your bulba bank account!`);
|
||||
toDiscordChat(`Overpaid ${overpaidDiamondsRounded} diamond.`);
|
||||
}
|
||||
}
|
||||
// Sell: Give all diamonds in tokens to customer
|
||||
else if (itemToGive.item_name == "diamond" && itemToGive.isToken == true) {
|
||||
console.log("Gave all currency/item in tokens to customer.");
|
||||
bankItem.balance += itemToGiveAmount;
|
||||
bankItem.save();
|
||||
}
|
||||
// Sell: Give rounding difference to customer
|
||||
else if (itemToGive.item_name == "diamond" && roundingDifference > 0) {
|
||||
console.log("Gave rounding difference to customer.");
|
||||
bankItem.balance += roundingDifference;
|
||||
bankItem.save();
|
||||
}
|
||||
console.log("payment: ", paymentCount);
|
||||
let customerItems = getCustomerItems(windowItems);
|
||||
minecraftBot.moveSlotItem(37, 37);
|
||||
once('windowClose').then(() => {
|
||||
return resolve(customerItems);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// Check for secondConfirm every 0.05 seconds until trade closes
|
||||
let secondConfirmIntervalDelay = 50;
|
||||
checkCustomerFirstConfirmInterval = setInterval(checkCustomerFirstConfirm, secondConfirmIntervalDelay);
|
||||
|
||||
// Delay because when trade succesfull it closes too
|
||||
await once('windowClose');
|
||||
await timeOut(1000);
|
||||
return reject("Trade window closed.");
|
||||
});
|
||||
|
||||
// 30 seconds timeout add 20 seconds if in trade window
|
||||
firstTimeout = setTimeout(() => {
|
||||
console.log("timeout!!");
|
||||
if (isFinished == true) {
|
||||
return;
|
||||
}
|
||||
else if (windowOpened == false) {
|
||||
toMinecraftChat(targetPlayer, `Trade request timed out. If you only want to check the price please use "price ${fullItemName} ${itemAmount}" instead.`);
|
||||
minecraftBot.removeAllListeners('windowOpen');
|
||||
timedOut = true;
|
||||
return reject("timed out");
|
||||
}
|
||||
else {
|
||||
//if in trade window
|
||||
secondTimeout = setTimeout(() => {
|
||||
console.log("second timeout!!");
|
||||
if (windowOpened == true && timedOut == false) {
|
||||
toMinecraftChat(targetPlayer, "Trade request timed out.");
|
||||
minecraftBot.removeAllListeners('windowOpen');
|
||||
return reject("timed out in trade window");
|
||||
}
|
||||
}, secondTimeoutDelay);
|
||||
}
|
||||
}, firstTimeoutDelay);
|
||||
|
||||
});
|
||||
tradePromise
|
||||
.then(() => {
|
||||
clearInterval(checkCustomerFirstConfirmInterval);
|
||||
clearInterval(checkCustomerSecondConfirmInterval);
|
||||
clearInterval(putItemInterval);
|
||||
clearTimeout(firstTimeout);
|
||||
clearTimeout(secondTimeout);
|
||||
isFinished = true;
|
||||
})
|
||||
.catch((err) => {
|
||||
clearInterval(checkCustomerFirstConfirmInterval);
|
||||
clearInterval(checkCustomerSecondConfirmInterval);
|
||||
clearInterval(putItemInterval);
|
||||
clearTimeout(firstTimeout);
|
||||
clearTimeout(secondTimeout);
|
||||
isFinished = true;
|
||||
});
|
||||
|
||||
return tradePromise;
|
||||
}
|
||||
module.exports = { CJTradeRequest };*/
|
@ -24,7 +24,6 @@ for(let name in conf.mc.bots){
|
||||
// inventoryViewer(bot.bot);
|
||||
await sleep(1000);
|
||||
bot.bot.setControlState('jump', true);
|
||||
console.log(bot.bot.entity);
|
||||
setTimeout(()=> bot.bot.setControlState('jump', false), 5000)
|
||||
})
|
||||
|
||||
|
@ -44,7 +44,7 @@ class CJbot{
|
||||
this.password = args.password;
|
||||
this.host = args.host;
|
||||
this.auth = args.auth || 'microsoft';
|
||||
this.version = args.version || '1.19.2';
|
||||
this.version = args.version || '1.20.1';
|
||||
|
||||
// States if the bot should connect when its loaded
|
||||
this.autoReConnect = 'autoConnect' in args ? args.autoReConnect : true;
|
||||
@ -349,7 +349,6 @@ class CJbot{
|
||||
}
|
||||
|
||||
goTo(options){
|
||||
console.log('goTo options', options)
|
||||
return new Promise(async(resolve, reject)=>{
|
||||
|
||||
let range = options.range || 2;
|
||||
@ -358,7 +357,6 @@ class CJbot{
|
||||
await this._goTo(options.where, range)
|
||||
return resolve();
|
||||
}catch(error){
|
||||
console.log('goTo error', error)
|
||||
if(options.reTry) return reject('Action can not move to where')
|
||||
await this._goTo(options, true);
|
||||
}
|
||||
|
141
nodejs/package-lock.json
generated
141
nodejs/package-lock.json
generated
@ -12,32 +12,32 @@
|
||||
"axios": "^0.27.2",
|
||||
"dotenv": "^16.0.1",
|
||||
"extend": "^3.0.2",
|
||||
"minecraft-data": "^3.5.0",
|
||||
"mineflayer": "^4.8.0",
|
||||
"mineflayer-auto-eat": "^2.3.3",
|
||||
"mineflayer-pathfinder": "^2.2.0",
|
||||
"mineflayer-web-inventory": "^1.8.3",
|
||||
"minecraft-data": "^3.40.0",
|
||||
"mineflayer": "^4.10.1",
|
||||
"mineflayer-auto-eat": "^3.3.6",
|
||||
"mineflayer-pathfinder": "^2.4.4",
|
||||
"mineflayer-web-inventory": "^1.8.4",
|
||||
"moment": "^2.29.3",
|
||||
"prismarine-windows": "^2.4.4"
|
||||
"prismarine-windows": "^2.6.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^2.0.22"
|
||||
}
|
||||
},
|
||||
"node_modules/@azure/msal-common": {
|
||||
"version": "13.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.0.0.tgz",
|
||||
"integrity": "sha512-GqCOg5H5bouvLij9NFXFkh+asRRxsPBRwnTDsfK7o0KcxYHJbuidKw8/VXpycahGXNxgtuhqtK/n5he+5NhyEA==",
|
||||
"version": "13.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.2.0.tgz",
|
||||
"integrity": "sha512-rnstQ7Zgn3fSTKNQO+/YNV34/QXJs0vni7IA0/3QB1EEyrJg14xyRmTqlw9ta+pdSuT5OJwUP8kI3D/rBwUIBw==",
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@azure/msal-node": {
|
||||
"version": "1.17.2",
|
||||
"resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.17.2.tgz",
|
||||
"integrity": "sha512-l8edYnA2LQj4ue3pjxVz1Qy4HuU5xbcoebfe2bGTRvBL9Q6n2Df47aGftkLIyimD1HxHuA4ZZOe23a/HshoYXw==",
|
||||
"version": "1.18.0",
|
||||
"resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.0.tgz",
|
||||
"integrity": "sha512-N6GX1Twxw524e7gaJvj7hKtrPRmZl9qGY7U4pmUdx4XzoWYRFfYk4H1ZjVhQ7pwb5Ks88NNhbXVCagsuYPTEFg==",
|
||||
"dependencies": {
|
||||
"@azure/msal-common": "13.0.0",
|
||||
"@azure/msal-common": "13.2.0",
|
||||
"jsonwebtoken": "^9.0.0",
|
||||
"uuid": "^8.3.0"
|
||||
},
|
||||
@ -64,9 +64,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz",
|
||||
"integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ=="
|
||||
"version": "20.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.4.tgz",
|
||||
"integrity": "sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew=="
|
||||
},
|
||||
"node_modules/@types/readable-stream": {
|
||||
"version": "2.3.15",
|
||||
@ -516,9 +516,9 @@
|
||||
"integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ=="
|
||||
},
|
||||
"node_modules/dotenv": {
|
||||
"version": "16.1.4",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.4.tgz",
|
||||
"integrity": "sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==",
|
||||
"version": "16.3.1",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
|
||||
"integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
@ -1002,9 +1002,9 @@
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
|
||||
},
|
||||
"node_modules/jsonwebtoken": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz",
|
||||
"integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==",
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz",
|
||||
"integrity": "sha512-K8wx7eJ5TPvEjuiVSkv167EVboBDv9PZdDoF7BgeQnBLVvZWW9clr2PsQHVJDTKaEIH5JBIwHujGcHp7GgI2eg==",
|
||||
"dependencies": {
|
||||
"jws": "^3.2.2",
|
||||
"lodash": "^4.17.21",
|
||||
@ -1017,9 +1017,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/jsonwebtoken/node_modules/semver": {
|
||||
"version": "7.5.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
|
||||
"integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
|
||||
"version": "7.5.4",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
||||
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
@ -1142,9 +1142,9 @@
|
||||
"integrity": "sha512-vYKN5fhMilPafH0CnmYQBCP8zW0Fn3FVvPM25w7HC2PiXZQsP/p3Yl5QdCKjgqTk1LddNdmrw4notNoE6exVRQ=="
|
||||
},
|
||||
"node_modules/minecraft-data": {
|
||||
"version": "3.34.0",
|
||||
"resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-3.34.0.tgz",
|
||||
"integrity": "sha512-Z6iBYdXC0q4Q5FxB2HYvg6FG4U3bps9I5yhTlNg1ipf9a+nKg/NnSxEOPxl5Ns/ZPn/duTanm10oLwKyewXeIw=="
|
||||
"version": "3.40.0",
|
||||
"resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-3.40.0.tgz",
|
||||
"integrity": "sha512-mBbMWdbi3+NwZHrLRQgblUsQ5vFjTXDsIy2mRMCcBfkQ+BeQEkXEffLq4bC5dMdMLMeNfdMFsRTLy+h7SF24+Q=="
|
||||
},
|
||||
"node_modules/minecraft-folder-path": {
|
||||
"version": "1.2.0",
|
||||
@ -1152,9 +1152,9 @@
|
||||
"integrity": "sha512-qaUSbKWoOsH9brn0JQuBhxNAzTDMwrOXorwuRxdJKKKDYvZhtml+6GVCUrY5HRiEsieBEjCUnhVpDuQiKsiFaw=="
|
||||
},
|
||||
"node_modules/minecraft-protocol": {
|
||||
"version": "1.42.0",
|
||||
"resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.42.0.tgz",
|
||||
"integrity": "sha512-AdPqW0n0G5wkNunen98XRRvVuuMVbig7R6RmZWO5+ISEj2+JElj2DoLLQDEygVw7IMi3wofTOf6wAtVrrxTJ5Q==",
|
||||
"version": "1.43.2",
|
||||
"resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.43.2.tgz",
|
||||
"integrity": "sha512-JFpBLksqlXRWJ0AOBOoXhnfZx0wTWo8SNpYP7MPpKev6jBbx1w/SDU+pgshB60ig+Iw7DUVLj3TYs5U5YkTSwg==",
|
||||
"dependencies": {
|
||||
"@types/readable-stream": "^2.3.13",
|
||||
"aes-js": "^3.1.2",
|
||||
@ -1163,7 +1163,7 @@
|
||||
"endian-toggle": "^0.0.0",
|
||||
"lodash.get": "^4.1.2",
|
||||
"lodash.merge": "^4.3.0",
|
||||
"minecraft-data": "^3.34.0",
|
||||
"minecraft-data": "^3.37.0",
|
||||
"minecraft-folder-path": "^1.2.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
"node-rsa": "^0.4.2",
|
||||
@ -1180,20 +1180,20 @@
|
||||
}
|
||||
},
|
||||
"node_modules/mineflayer": {
|
||||
"version": "4.8.1",
|
||||
"resolved": "https://registry.npmjs.org/mineflayer/-/mineflayer-4.8.1.tgz",
|
||||
"integrity": "sha512-xqt5gdBvYHO1UV2slBm1QFFI2dHyfoMAxwSgxIGOuobIrZ05pY56XV6GW+NWQK0gqS4+MA5n0VakXPWZ5trzBQ==",
|
||||
"version": "4.10.1",
|
||||
"resolved": "https://registry.npmjs.org/mineflayer/-/mineflayer-4.10.1.tgz",
|
||||
"integrity": "sha512-Ixvovd5wtx7ZYzm5YCqgOVoMqTam0LEEMwfOQGQ7Y3AAPk8Ci1rXOZZDdJmn9XRnloRRR8jv2MjQW2kFl7LyQg==",
|
||||
"dependencies": {
|
||||
"minecraft-data": "^3.26.0",
|
||||
"minecraft-protocol": "^1.40.3",
|
||||
"minecraft-data": "^3.37.0",
|
||||
"minecraft-protocol": "^1.43.1",
|
||||
"prismarine-biome": "^1.1.1",
|
||||
"prismarine-block": "^1.13.1",
|
||||
"prismarine-block": "^1.17.0",
|
||||
"prismarine-chat": "^1.7.1",
|
||||
"prismarine-chunk": "^1.32.0",
|
||||
"prismarine-chunk": "^1.34.0",
|
||||
"prismarine-entity": "^2.2.0",
|
||||
"prismarine-item": "^1.12.1",
|
||||
"prismarine-nbt": "^2.0.0",
|
||||
"prismarine-physics": "^1.3.1",
|
||||
"prismarine-physics": "^1.7.0",
|
||||
"prismarine-recipe": "^1.3.0",
|
||||
"prismarine-registry": "^1.5.0",
|
||||
"prismarine-windows": "^2.5.0",
|
||||
@ -1207,17 +1207,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/mineflayer-auto-eat": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/mineflayer-auto-eat/-/mineflayer-auto-eat-2.3.3.tgz",
|
||||
"integrity": "sha512-fy0Jjd9dcnjkcucPcs2uN13wYF4KChEby11pO6Iq3SyRDqjHuKa7U/DKbo5MZaTmucBMRPE1+ETl3kWEI/FCjg==",
|
||||
"dependencies": {
|
||||
"minecraft-data": "^2.93.0"
|
||||
}
|
||||
},
|
||||
"node_modules/mineflayer-auto-eat/node_modules/minecraft-data": {
|
||||
"version": "2.221.0",
|
||||
"resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-2.221.0.tgz",
|
||||
"integrity": "sha512-0AhqzbIKb6WqPSF6qBevaPryeWOz545hLxt6q+gfJF8YIQX/YfkyX/nXWhl+pSIS2rTBcQ0RJkRCtTeRzQwHDA=="
|
||||
"version": "3.3.6",
|
||||
"resolved": "https://registry.npmjs.org/mineflayer-auto-eat/-/mineflayer-auto-eat-3.3.6.tgz",
|
||||
"integrity": "sha512-CgtIboWu5xB7bWmPTtU66TgfPoKdyOmtgFBEQZ1RoEwednX/cVBTZmMTMpG8PLOPPbfb4wBi1Qd7A0qmkd0SFA=="
|
||||
},
|
||||
"node_modules/mineflayer-pathfinder": {
|
||||
"version": "2.4.4",
|
||||
@ -1316,9 +1308,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.11",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
|
||||
"integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
|
||||
"version": "2.6.12",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz",
|
||||
"integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==",
|
||||
"dependencies": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
},
|
||||
@ -1479,11 +1471,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prismarine-block": {
|
||||
"version": "1.16.3",
|
||||
"resolved": "https://registry.npmjs.org/prismarine-block/-/prismarine-block-1.16.3.tgz",
|
||||
"integrity": "sha512-E9OazjIqnEgcXM6me6EIeQFMcNRWZzsaftWtetRSIKVoW+4UKWleb6lTNKh9kq7wNxciKavcYBmKL3sF7HfSaA==",
|
||||
"version": "1.17.0",
|
||||
"resolved": "https://registry.npmjs.org/prismarine-block/-/prismarine-block-1.17.0.tgz",
|
||||
"integrity": "sha512-GawzWU91pH4sLTtMvrRe2wiEbO8hgTRwViCBYoFmmqeJYLiblq4GfXOvclj3rEAEdAAVzRKCQxQHpLJhhLWssg==",
|
||||
"dependencies": {
|
||||
"minecraft-data": "^3.0.0",
|
||||
"minecraft-data": "^3.38.0",
|
||||
"prismarine-biome": "^1.1.0",
|
||||
"prismarine-chat": "^1.5.0",
|
||||
"prismarine-item": "^1.10.1",
|
||||
@ -1503,9 +1495,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prismarine-chunk": {
|
||||
"version": "1.33.1",
|
||||
"resolved": "https://registry.npmjs.org/prismarine-chunk/-/prismarine-chunk-1.33.1.tgz",
|
||||
"integrity": "sha512-8JNgibzllPGv5seIL3iskH72Ucv9NZVAyrJX557NGDHzr7YZFZJlfILNqNW0RyUhJNBUZfE1AEwwvivhsCY42Q==",
|
||||
"version": "1.34.0",
|
||||
"resolved": "https://registry.npmjs.org/prismarine-chunk/-/prismarine-chunk-1.34.0.tgz",
|
||||
"integrity": "sha512-5RuQk8w9Ot550G5mmUFZvjpHugEXozgEFXiAhynrBCHOKJ3mMQ7VvhWF2irtjx+d2t29yDAiSEiSS34vxAmODQ==",
|
||||
"dependencies": {
|
||||
"prismarine-biome": "^1.2.0",
|
||||
"prismarine-block": "^1.14.1",
|
||||
@ -1533,9 +1525,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prismarine-item": {
|
||||
"version": "1.12.2",
|
||||
"resolved": "https://registry.npmjs.org/prismarine-item/-/prismarine-item-1.12.2.tgz",
|
||||
"integrity": "sha512-I5pYTn+27Kn1l1xowiK9p05FJs/fibeTHieU6na5sWAnnPnccwYBcdCfEmQIyAOocfl4KRVUO8n9tIjZr4UIWA==",
|
||||
"version": "1.13.1",
|
||||
"resolved": "https://registry.npmjs.org/prismarine-item/-/prismarine-item-1.13.1.tgz",
|
||||
"integrity": "sha512-D+i5VO29nZj9lXHYk8UasAjDrk24A8hDxsFn7S4/sak6gVKIbC2mZxqI+5csvZ2Jdjq2dUNPljwNI9s3TX6nwg==",
|
||||
"dependencies": {
|
||||
"prismarine-nbt": "^2.0.0",
|
||||
"prismarine-registry": "^1.4.0"
|
||||
@ -1550,9 +1542,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prismarine-physics": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/prismarine-physics/-/prismarine-physics-1.6.0.tgz",
|
||||
"integrity": "sha512-OqhWAt+lQRCxpodAgdRZg/9C815Xy+YUj5a4iPVIRVineD2x8UuUxCJInE4R8kFFs9PhupNtiXzgEtdmbUB/Mw==",
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/prismarine-physics/-/prismarine-physics-1.7.0.tgz",
|
||||
"integrity": "sha512-NIm13HYQU6gzWyzb64eSS2civSbnn4cmqZgX+o27TWZMdqJEqmwPZaHSo9rHhPT96c3ZodelRE4qGIEE7q4gow==",
|
||||
"dependencies": {
|
||||
"minecraft-data": "^3.0.0",
|
||||
"prismarine-nbt": "^2.0.0",
|
||||
@ -1732,14 +1724,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/readable-stream": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.0.tgz",
|
||||
"integrity": "sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==",
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz",
|
||||
"integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==",
|
||||
"dependencies": {
|
||||
"abort-controller": "^3.0.0",
|
||||
"buffer": "^6.0.3",
|
||||
"events": "^3.3.0",
|
||||
"process": "^0.11.10"
|
||||
"process": "^0.11.10",
|
||||
"string_decoder": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
@ -1776,9 +1769,9 @@
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"version": "5.7.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver"
|
||||
|
@ -20,13 +20,13 @@
|
||||
"axios": "^0.27.2",
|
||||
"dotenv": "^16.0.1",
|
||||
"extend": "^3.0.2",
|
||||
"minecraft-data": "^3.5.0",
|
||||
"mineflayer": "^4.8.0",
|
||||
"mineflayer-auto-eat": "^2.3.3",
|
||||
"mineflayer-pathfinder": "^2.2.0",
|
||||
"mineflayer-web-inventory": "^1.8.3",
|
||||
"minecraft-data": "^3.40.0",
|
||||
"mineflayer": "^4.10.1",
|
||||
"mineflayer-auto-eat": "^3.3.6",
|
||||
"mineflayer-pathfinder": "^2.4.4",
|
||||
"mineflayer-web-inventory": "^1.8.4",
|
||||
"moment": "^2.29.3",
|
||||
"prismarine-windows": "^2.4.4"
|
||||
"prismarine-windows": "^2.6.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^2.0.22"
|
||||
|
Loading…
x
Reference in New Issue
Block a user