local SMELTER_INPUT = "sc-goodies:iron_barrel_958" local SMELTER_OUTPUT = "sc-goodies:iron_barrel_959" local SMELTER_TYPE = "minecraft:blast_furnace*" local FARM_INPUT_TYPE = "minecraft:hopper*" local STORAGE_TYPE = "sc-goodies:diamond_barrel*" local LAVA_ESTORAGE = "ender_storage_279" local BUCKET_ESTORAGE = "ender_storage_280" local RECYCLING_ESTORAGE = "ender_storage_281" local GOLD_BLOCK_OUTPUT = "ender_storage_288" local hopper = require("hopper") local function hopperf(...) return hopper(string.format(...)) end local function crafter() hopperf("%s %s", "self", STORAGE_TYPE) while true do local ingots = hopperf("%s void minecraft:gold_ingot", STORAGE_TYPE) if ingots >= 576 then hopperf("%s %s -to_slot_range 1 3 -to_slot_range 5 7 -to_slot_range 9 11 minecraft:gold_ingot", STORAGE_TYPE, "self") turtle.craft(64) hopperf("%s %s", "self", STORAGE_TYPE) end local nuggets = hopperf("%s void minecraft:gold_nugget", STORAGE_TYPE) print(nuggets) if nuggets >= 576 then hopperf("%s %s -to_slot_range 1 3 -to_slot_range 5 7 -to_slot_range 9 11 minecraft:gold_nugget", STORAGE_TYPE, "self") turtle.craft(64) hopperf("%s %s", "self", STORAGE_TYPE) end sleep(5) end end local function emptyHoppersCounting() local nuggetsSinceStart = 0 local nuggetsLast60Sec = {} local function countNuggetsLast60Sec() while true do local count = 0 for i,v in ipairs(nuggetsLast60Sec) do if v[1]+60000 < os.epoch("utc") then table.remove(nuggetsLast60Sec, i) break end count = count + v[2] if i >= #nuggetsLast60Sec then return count end end end end while true do local nuggets = 0 print("is this fucked?") nuggets = nuggets + hopper(string.format("%s %s minecraft:gold_nugget", FARM_INPUT_TYPE, STORAGE_TYPE)) nuggets = nuggets + hopper(string.format("%s %s minecraft:gold_ingot", FARM_INPUT_TYPE, STORAGE_TYPE))*9 nuggets = nuggets + hopper(string.format("%s %s minecraft:golden_shovel minecraft:golden_pickaxe minecraft:golden_axe minecraft:golden_hoe minecraft:golden_sword minecraft:golden_helmet minecraft:golden_chestplate minecraft:golden_leggings minecraft:golden_boots", FARM_INPUT_TYPE, STORAGE_TYPE)) hopper(string.format("%s %s -negate minecraft:gold_nugget minecraft:gold_ingot minecraft:golden_shovel minecraft:golden_pickaxe minecraft:golden_axe minecraft:golden_hoe minecraft:golden_sword minecraft:golden_helmet minecraft:golden_chestplate minecraft:golden_leggings minecraft:golden_boots", FARM_INPUT_TYPE, STORAGE_TYPE)) table.insert(nuggetsLast60Sec, {os.epoch("utc"), nuggets}) nuggetsSinceStart = nuggetsSinceStart + nuggets local last60s = countNuggetsLast60Sec() for i,v in ipairs({peripheral.find("monitor")}) do print("writing on monitor "..i) v.setTextColor(colors.white) v.setBackgroundColor(colors.black) v.setTextScale(0.5) v.clear() v.setCursorPos(1,1) v.write("ingots") v.setCursorPos(1,2) v.write("total: "..string.format("%.2f", nuggetsSinceStart/9)) v.setCursorPos(1,3) v.write(string.format("%.2f", last60s/9).."/min") v.setCursorPos(1,4) v.write("^") v.setCursorPos(1,5) v.write("|") v.setCursorPos(1,6) v.write("based on last") v.setCursorPos(1,7) v.write("60 seconds") end sleep(0.5) end end local function openTabf(...) return shell.openTab(string.format(...)) end --openTabf("hopper %s %s", FARM_INPUT_TYPE, STORAGE_TYPE) openTabf("hopper %s %s minecraft:rotten_flesh minecraft:warped_fungus_on_a_stick minecraft:crossbow -sleep 15", STORAGE_TYPE, RECYCLING_ESTORAGE) openTabf("hopper %s %s minecraft:golden_shovel minecraft:golden_pickaxe minecraft:golden_axe minecraft:golden_hoe minecraft:golden_sword minecraft:golden_helmet minecraft:golden_chestplate minecraft:golden_leggings minecraft:golden_boots -sleep 15", STORAGE_TYPE, SMELTER_INPUT) openTabf("hopper %s %s -sleep 30", SMELTER_OUTPUT, STORAGE_TYPE) openTabf("hopper %s %s minecraft:lava_bucket -to_slot 2 -sleep 30", LAVA_ESTORAGE, SMELTER_TYPE) openTabf("hopper %s %s minecraft:bucket -from_slot 2 -sleep 30", SMELTER_TYPE, BUCKET_ESTORAGE) openTabf("hopper %s %s -to_slot 1", SMELTER_INPUT, SMELTER_TYPE) openTabf("hopper %s %s -from_slot 3 -sleep 30", SMELTER_TYPE, SMELTER_OUTPUT) openTabf("hopper %s %s minecraft:gold_block -sleep 30", STORAGE_TYPE, GOLD_BLOCK_OUTPUT) parallel.waitForAny(crafter, emptyHoppersCounting)