Unnamed Paste
4.61 KiB
6
5 months ago
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)