Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- req("bot");
- req("helper");
- req("basic_needs");
- req("wrapper");
- req("color");
- req("timer");
- req("toolmanager");
- req("item_dumper");
- req("smelter");
- req("spells");
- function Miner() {
- this.running = false;
- this.tickTimer = new Timer(1);
- this.tool = new ToolManager("^pickaxe.*");
- this.forgeManager = new ForgeManager();
- this.altarMask = "^altar of .*$";
- this.prayTimer = new Timer(60*10+15);
- game.addListener(this, true);
- }
- wrapClass(Miner);
- Miner.prototype.gameTick = function () {
- var isBusy = bot.isActing();
- if (!this.running) return;
- if (this.tickTimer.tick()) return;
- if (basicNeeds.check(isBusy)) {
- isBusy = true;
- }
- if (this.tool.check(isBusy)) {
- isBusy = true;
- }
- if (this.forgeManager != null && this.forgeManager.gameTick()) {
- isBusy = true;
- }
- if (!isBusy && bot.getFavor() > 10 && spells.cast(450)) {//dispell
- isBusy = true;
- }
- var altarId = bot.getWindowId(this.altarMask);
- if (altarId != null) {
- if (this.prayTimer != null && this.prayTimer.tick()) {
- this.pray = true;
- }
- if (this.pray && !isBusy) {
- this.pray = false;
- bot.sendAction(141, -1, [altarId]);
- isBusy = true;
- }
- }
- var bulkId = bot.getWindowId(".*bulk storage.*");
- var lowst = 74850025389826;
- var topst = 74851870883586;
- var ore = bot.getWindowItems("(?i)pile.*", "ore.*");
- var forge = bot.getWindowId(".*smelter.*");
- var forgeOre = bot.getWindowItems(".*smelter.*", "ore.*");
- if (ore != null && forge != null && ore.length > 3) {
- bot.moveItems(forge, ore);
- }
- if (ore != null && ore.length > 30){
- this.tickTimer.add(1);
- /* var topOre = bot.filterItems(ore, helper.greaterThanQualityCallback(90));
- ore = helper.arraySubtract(ore, topOre);
- bot.moveItems(st.dump, topOre);
- bot.moveItems(st.dump, ore); */
- isBusy = true;
- }
- /*
- var pileWindowId = bot.getWindowId('Pile.*');
- var forge = bot.getWindowId("forge");
- var groundItems = bot.getWorldItems();//GroundItemCellRenderable
- var ore = [];
- if (this.windowName == null) {
- var forMove = [];
- for (var i = 0; i < groundItems.length; i++) {
- var item = groundItems[i];
- if (bot.getWorldItemDistance(item) <= 5) {
- if (item.getHoverName().matches("^ore.*")) {
- //forMove.push(item.getId());
- bot.moveItems(forge, item.getId());
- }
- }
- }
- }
- */
- var items = bot.getWindowItems(".*smelter.*", "lump.*");
- if (items != null && items.length > 80) {
- var topLumps = bot.filterItems(items, helper.greaterThanQualityCallback(80));
- items = helper.arraySubtract(items, topLumps);
- bot.moveItems(74851870883586, topLumps);
- bot.moveItems(74851870883586, items);
- }
- if (items != null && items.length < 80) {
- var lowLumps = bot.filterItems(items, helper.greaterThanQualityCallback(80));
- items = helper.arraySubtract(items, lowLumps);
- bot.moveItems(74850025389826, lowLumps);
- bot.moveItems(74850025389826, items);
- }
- if (!isBusy && bot.getFavor() > 10 && spells.cast(450)) {//dispell
- isBusy = true;
- }
- var vein = bot.getSelectedId();
- if (vein != null && !isBusy && bot.getStamina() >= 0.95) {
- var pickaxe = bot.getInventoryItem("pickaxe.*");
- bot.sendAction(145, pickaxe.getId(), vein);//mine
- this.tickTimer.add(1);
- isBusy = true;
- }
- };
- Miner.prototype.stop = function (reason) {
- this.warn(reason);
- this.toggle();
- };
- var miner = new Miner();
- print("--Requariments-----------------------------------------------------------------------------------------");
- print("select vein, pickaxe, open smelter, altar window, open one pile with ore and smelter fuel");
- print(" do in console st = {}, st.low = bulk_id (for shit lumps), st.top = bulk_id (for > 90q lumps), st.dump = bulk_id(works if ore in pile>30)");
- print("--How it works-----------------------------------------------------------------------------------------");
- print("Mining ore from vein and put ore in smelter and lumps from smelter in bulk");
- print("Also included prayer and spellcaster");
- print("miner.toggle() for launch and stop");
- print("-------------------------------------------------------------------------------------------------------");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement