From f9007c0eae1ad1d12c8b7a5652e8c83ab9a45e0a Mon Sep 17 00:00:00 2001 From: sebseb7 Date: Sat, 8 Apr 2023 06:58:18 +0200 Subject: [PATCH] upd --- craft.js | 523 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 284 insertions(+), 239 deletions(-) diff --git a/craft.js b/craft.js index 992fc6b..5ae986e 100644 --- a/craft.js +++ b/craft.js @@ -413,10 +413,10 @@ function trade(tradepos, tradelane, reach) { //mode = 'experience_bottle'; //GlobalVars.putString('trade_item','emerald'); //mode = 'emerald'; - //GlobalVars.putString('trade_item','glass'); - //mode = 'glass'; - GlobalVars.putString("trade_item", "redstone"); - mode = "redstone"; + GlobalVars.putString("trade_item", "glass"); + mode = "glass"; + //GlobalVars.putString("trade_item", "redstone"); + //mode = "redstone"; if ( !( @@ -454,17 +454,25 @@ function trade(tradepos, tradelane, reach) { ) { if (e.getType() === "minecraft:villager") { const uuid = e.getUUID(); + const epos = e.getPos(); + player.lookAt( + epos.x, + epos.y + e.getEyeHeight(), + epos.z + ); const old_uuid = GlobalVars.getString("last_lib"); if (old_uuid === uuid) { //skip } else { GlobalVars.putString("last_lib", uuid); - player.interactEntity(e, false); + player.interactEntity(e, false, true); const ev = JsMacros.waitForEvent("OpenContainer"); ev.context.releaseLock(); + let inv = Player.openInventory(); Time.sleep(200); - const inv = ev.event.inventory; - const trades = inv ? inv.getTrades() : []; + + //const inv = ev.event.inventory; + const trades = inv.getTrades(); let found = false; let index = 0; for (const tr in trades) { @@ -552,11 +560,13 @@ function trade(tradepos, tradelane, reach) { inv.quickAll(i); } } - compareT(before1, quantify(inv)); + const after = quantify(inv); + compareT(before1, after); + globQuant = after; } + if (!globQuant) globQuant = quantify(inv); + const before = globQuant; - const before = quantify(inv); - globQuant = quantify(inv); inv.close(); if (!before["minecraft:emerald"]) before["minecraft:emerald"] = 0; @@ -604,242 +614,277 @@ function trade(tradepos, tradelane, reach) { } } } - if ( - e - .getPos() - .toVector( - PositionCommon.createPos( - 941.5 + tradelane, - 70, - 11852.5 - tradepos * 2 + if (false) + if ( + e + .getPos() + .toVector( + PositionCommon.createPos( + 941.5 + tradelane, + 70, + 11852.5 - tradepos * 2 + ) ) - ) - .getMagnitude() < 1 - ) { - if (e.getType() === "minecraft:villager") { - const uuid = e.getUUID(); - const old_uuid = GlobalVars.getString("last_cleric"); - if (old_uuid === uuid) { - //skip - } else { - GlobalVars.putString("last_cleric", uuid); - player.interactEntity(e, false); - const ev = JsMacros.waitForEvent("OpenContainer"); - ev.context.releaseLock(); - Time.sleep(100); - const inv = ev.event.inventory; - const trades = inv.getTrades(); - let found = false; - let index = 0; - if (emerald < 256 || mode === "emerald") { - for (const tr in trades) { - if ( - trades[tr].getInput()[0].getItemId() === - "minecraft:rotten_flesh" - ) { - if (trades[tr].isAvailable() === true) { - if ( - trades[tr] - .getInput()[0] - .getCount() < 9 - ) { - if (flesh >= 16) { - found = true; - index = tr; - } - if (!trade_good_flesh) { - GlobalVars.putBoolean( - "trade_good_flesh", - true - ); - trade_good_flesh = true; + .getMagnitude() < 1 + ) { + if (e.getType() === "minecraft:villager") { + const uuid = e.getUUID(); + const epos = e.getPos(); + player.lookAt( + epos.x, + epos.y + e.getEyeHeight(), + epos.z + ); + const old_uuid = GlobalVars.getString("last_cleric"); + if (old_uuid === uuid) { + //skip + } else { + GlobalVars.putString("last_cleric", uuid); + player.interactEntity(e, false, true); + const ev = JsMacros.waitForEvent("OpenContainer"); + ev.context.releaseLock(); + let inv = Player.openInventory(); + Time.sleep(200); + //const inv = ev.event.inventory; + const trades = inv.getTrades ? inv.getTrades() : []; + let found = false; + let index = 0; + if (emerald < 256 || mode === "emerald") { + for (const tr in trades) { + if ( + trades[tr].getInput()[0].getItemId() === + "minecraft:rotten_flesh" + ) { + if (trades[tr].isAvailable() === true) { + if ( + trades[tr] + .getInput()[0] + .getCount() < 9 + ) { + if (flesh >= 16) { + found = true; + index = tr; + } + if (!trade_good_flesh) { + GlobalVars.putBoolean( + "trade_good_flesh", + true + ); + trade_good_flesh = true; + } + } else { + //Chat.log('flesh too expensive'); } } else { - //Chat.log('flesh too expensive'); + //Chat.log('flesh no stock'); } - } else { - //Chat.log('flesh no stock'); } } - } - if (found === true) { - const before1 = quantify(inv); - inv.selectTrade(index); - for (let i = 0; i < inv.getTotalSlots(); i++) { - if (inv.getLocation(i) === "output") { - inv.quickAll(i); + if (found === true) { + const before1 = quantify(inv); + inv.selectTrade(index); + for ( + let i = 0; + i < inv.getTotalSlots(); + i++ + ) { + if (inv.getLocation(i) === "output") { + inv.quickAll(i); + } } + compareT(before1, quantify(inv)); } - compareT(before1, quantify(inv)); + found = false; } - found = false; - } - if (mode === "redstone" && emerald >= 12) { - for (const tr in trades) { - if ( - trades[tr].getOutput().getItemId() === - "minecraft:redstone" - ) { - if (trades[tr].isAvailable() === true) { - if ( - trades[tr] - .getInput()[0] - .getCount() < 3 - ) { - if (emerald >= 12) { - found = true; - index = tr; + if (mode === "redstone" && emerald >= 12) { + for (const tr in trades) { + if ( + trades[tr].getOutput().getItemId() === + "minecraft:redstone" + ) { + if (trades[tr].isAvailable() === true) { + if ( + trades[tr] + .getInput()[0] + .getCount() < 3 + ) { + if (emerald >= 12) { + found = true; + index = tr; + } + } else { + //Chat.log('redstone too expensive'); } } else { - //Chat.log('redstone too expensive'); + //Chat.log('redstone no stock'); } - } else { - //Chat.log('redstone no stock'); } } - } - if (found === true) { - const before1 = quantify(inv); - inv.selectTrade(index); - for (let i = 0; i < inv.getTotalSlots(); i++) { - if (inv.getLocation(i) === "output") { - inv.quickAll(i); - //Chat.log('** redstone traded'); + if (found === true) { + const before1 = quantify(inv); + inv.selectTrade(index); + for ( + let i = 0; + i < inv.getTotalSlots(); + i++ + ) { + if (inv.getLocation(i) === "output") { + inv.quickAll(i); + //Chat.log('** redstone traded'); + } } + compareT(before1, quantify(inv)); } - compareT(before1, quantify(inv)); + found = false; } - found = false; - } - if (mode === "experience_bottle" && emerald >= 16) { - for (const tr in trades) { - if ( - trades[tr].getOutput().getItemId() === - "minecraft:experience_bottle" - ) { - if (trades[tr].isAvailable() === true) { - if ( - trades[tr] - .getInput()[0] - .getCount() <= 2 - ) { - //maximum xp bottle price (3 == 1100) - if (emerald >= 12) { - found = true; - index = tr; + if (mode === "experience_bottle" && emerald >= 16) { + for (const tr in trades) { + if ( + trades[tr].getOutput().getItemId() === + "minecraft:experience_bottle" + ) { + if (trades[tr].isAvailable() === true) { + if ( + trades[tr] + .getInput()[0] + .getCount() <= 2 + ) { + //maximum xp bottle price (3 == 1100) + if (emerald >= 12) { + found = true; + index = tr; + } + } else { + //Chat.log('xp too expensive'); } } else { - //Chat.log('xp too expensive'); + //Chat.log('xp no stock'); } - } else { - //Chat.log('xp no stock'); } } - } - if (found === true) { - const before1 = quantify(inv); - inv.selectTrade(index); - for (let i = 0; i < inv.getTotalSlots(); i++) { - if (inv.getLocation(i) === "output") { - inv.quickAll(i); - //Chat.log('** redstone traded'); + if (found === true) { + const before1 = quantify(inv); + inv.selectTrade(index); + for ( + let i = 0; + i < inv.getTotalSlots(); + i++ + ) { + if (inv.getLocation(i) === "output") { + inv.quickAll(i); + //Chat.log('** redstone traded'); + } } + compareT(before1, quantify(inv)); } - compareT(before1, quantify(inv)); + found = false; } - found = false; - } - if (emerald < 256 || mode === "emerald") { - for (const tr in trades) { - if ( - trades[tr].getInput()[0].getItemId() === - "minecraft:glass_bottle" - ) { - if (trades[tr].isAvailable() === true) { - if ( - trades[tr] - .getInput()[0] - .getCount() === 1 - ) { - if (bottle > 16) { - found = true; - index = tr; - } - if (!trade_good_bottle) { - GlobalVars.putBoolean( - "trade_good_bottle", - true - ); - trade_good_bottle = true; + e; + if (emerald < 256 || mode === "emerald") { + for (const tr in trades) { + if ( + trades[tr].getInput()[0].getItemId() === + "minecraft:glass_bottle" + ) { + if (trades[tr].isAvailable() === true) { + if ( + trades[tr] + .getInput()[0] + .getCount() === 1 + ) { + if (bottle > 16) { + found = true; + index = tr; + } + if (!trade_good_bottle) { + GlobalVars.putBoolean( + "trade_good_bottle", + true + ); + trade_good_bottle = true; + } + } else { + //Chat.log('bottle too expensive'); } } else { - //Chat.log('bottle too expensive'); + //Chat.log('bottle no stock'); } - } else { - //Chat.log('bottle no stock'); } } + if (found === true) { + const before1 = quantify(inv); + inv.selectTrade(index); + for ( + let i = 0; + i < inv.getTotalSlots(); + i++ + ) { + if (inv.getLocation(i) === "output") { + inv.quickAll(i); + } + } + compareT(before1, quantify(inv)); + } } - if (found === true) { - const before1 = quantify(inv); - inv.selectTrade(index); - for (let i = 0; i < inv.getTotalSlots(); i++) { - if (inv.getLocation(i) === "output") { - inv.quickAll(i); - } - } - compareT(before1, quantify(inv)); + if (inv && inv.close) { + const before = quantify(inv); + globQuant = before; + + inv.close(); + + if (!before["minecraft:experience_bottle"]) + before["minecraft:experience_bottle"] = 0; + if (!before["minecraft:emerald"]) + before["minecraft:emerald"] = 0; + if (!before["minecraft:glass_bottle"]) + before["minecraft:glass_bottle"] = 0; + if (!before["minecraft:rotten_flesh"]) + before["minecraft:rotten_flesh"] = 0; + if (!before["minecraft:redstone"]) + before["minecraft:redstone"] = 0; + if (!before["minecraft:paper"]) + before["minecraft:paper"] = 0; + if (!before["minecraft:glass"]) + before["minecraft:glass"] = 0; + GlobalVars.putInt( + "glass", + before["minecraft:glass"] + ); + glass = before["minecraft:glass"]; + GlobalVars.putInt( + "paper", + before["minecraft:paper"] + ); + paper = before["minecraft:paper"]; + GlobalVars.putInt( + "emerald", + before["minecraft:emerald"] + ); + emerald = before["minecraft:emerald"]; + GlobalVars.putInt( + "redstone", + before["minecraft:redstone"] + ); + redstone = before["minecraft:redstone"]; + flesh = before["minecraft:rotten_flesh"]; + xp = before["minecraft:experience_bottle"]; + GlobalVars.putInt( + "bottle", + before["minecraft:glass_bottle"] + ); + GlobalVars.putInt( + "flesh", + before["minecraft:rotten_flesh"] + ); + GlobalVars.putInt( + "xp", + before["minecraft:experience_bottle"] + ); + Time.sleep(100); } } - const before = quantify(inv); - globQuant = quantify(inv); - inv.close(); - if (!before["minecraft:experience_bottle"]) - before["minecraft:experience_bottle"] = 0; - if (!before["minecraft:emerald"]) - before["minecraft:emerald"] = 0; - if (!before["minecraft:glass_bottle"]) - before["minecraft:glass_bottle"] = 0; - if (!before["minecraft:rotten_flesh"]) - before["minecraft:rotten_flesh"] = 0; - if (!before["minecraft:redstone"]) - before["minecraft:redstone"] = 0; - if (!before["minecraft:paper"]) - before["minecraft:paper"] = 0; - if (!before["minecraft:glass"]) - before["minecraft:glass"] = 0; - GlobalVars.putInt("glass", before["minecraft:glass"]); - glass = before["minecraft:glass"]; - GlobalVars.putInt("paper", before["minecraft:paper"]); - paper = before["minecraft:paper"]; - GlobalVars.putInt( - "emerald", - before["minecraft:emerald"] - ); - emerald = before["minecraft:emerald"]; - GlobalVars.putInt( - "redstone", - before["minecraft:redstone"] - ); - redstone = before["minecraft:redstone"]; - flesh = before["minecraft:rotten_flesh"]; - xp = before["minecraft:experience_bottle"]; - GlobalVars.putInt( - "bottle", - before["minecraft:glass_bottle"] - ); - GlobalVars.putInt( - "flesh", - before["minecraft:rotten_flesh"] - ); - GlobalVars.putInt( - "xp", - before["minecraft:experience_bottle"] - ); - Time.sleep(100); } } - } } if (reach) { @@ -881,7 +926,7 @@ function trade(tradepos, tradelane, reach) { if (xp > 88 && tradepos === 1 && tradelane === 0) { put(940, 71, 11852, "experience_bottle"); } - if (paper < 64 && trade_good_paper) { + if (paper < 32 && trade_good_paper) { //Chat.log('should take paper'); takeStacks( 938, @@ -901,21 +946,23 @@ function trade(tradepos, tradelane, reach) { globQuant = quantify(inv); inv.close(); } - if (bottle < 128 && trade_good_bottle) { - if (glass >= 3) { - craft( - 938 + tradelane, - 72, - 11851 - tradepos * 2, - "glass_bottle" - ); - } - } - if (glass > 88 && tradepos === 1 && tradelane === 0) { - if (mode === "glass") { - put(940, 71, 11852, "glass"); - } + //if (bottle < 32 && trade_good_bottle) { + if (mode === "glass" && tradepos === 1 && tradelane === 0) { + //craft( + // 938 + tradelane, + // 72, + // 11851 - tradepos * 2, + // "glass_bottle" + //); + //GlobalVars.putInt("glass", 0); + put(940, 71, 11852, "glass"); } + //} + // if (glass > 0 && tradepos === 1) { + // if (mode === "glass") { + // put(940, 71, 11852, "glass"); + // } + // } if (flesh < 128 && trade_good_flesh) { //Chat.log('should take flesh'); //takeStacks(946,74,11849,'minecraft:rotten_flesh',3); @@ -1360,18 +1407,10 @@ if (pdetect === false) { player.interactBlock(-708, 71, -2222, 4, false); } } - if ( - player - .getPos() - .toVector(PositionCommon.createPos(-1211.5, 184, 3650.6)) - .getMagnitude() < 1.5 - ) { - farm = "brew"; - //brew(-1210,185,3650); - } + if ( player.getZ() > 11800 && - player.getZ() < 11852 && + player.getZ() < 11853 && player.getY() >= 69 && player.getY() < 71 && player.getX() > 938 && @@ -1400,7 +1439,7 @@ if (pdetect === false) { diff < 0.4 && (last_trade_pos !== trade_pos || last_tradelane !== tradelane) ) { - //Chat.log(trade_pos+' '+diff); + //Chat.log(trade_pos); GlobalVars.putInt("last_trade_pos", trade_pos); GlobalVars.putInt("last_tradelane", tradelane); @@ -1408,8 +1447,14 @@ if (pdetect === false) { //}else{ // GlobalVars.putBoolean('trade_lock',true); GlobalVars.putInt("trade_pos", trade_pos); - trade(trade_pos, tradelane, true); - trade(trade_pos + 1, tradelane, false); + if ((trade_pos + 1) % 4 === 0) { + trade(trade_pos, tradelane, true); + trade(trade_pos + 1, tradelane, false); + } else { + trade(trade_pos + 1, tradelane, false); + trade(trade_pos, tradelane, true); + } + //trade(trade_pos+1,false); // GlobalVars.putBoolean('trade_lock',false); //}