Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local monitor = peripheral.wrap("monitor_0")
- if monitor then
- monitor.setTextScale(0.5)
- monitor.setBackgroundColor(colors.black)
- monitor.setTextColor(colors.white)
- monitor.clear()
- monitor.setCursorPos(1, 1)
- term.redirect(monitor)
- end
- local schematicChest = "minecraft:chest_0"
- local handleChest = "minecraft:chest_1"
- local partChest = "minecraft:chest_1" -- backup chest for parts I might have missed
- local axeHeadChest = "minecraft:chest_2"
- local swordBladeChest = "minecraft:chest_3"
- local shovelHeadChest = "minecraft:chest_5"
- local pickaxeHeadChest = "minecraft:chest_6"
- local materialChest = "minecraft:chest_7"
- local hoeHeadChest = "minecraft:chest_8"
- local allChests = { -- Used for debugging, not needed for the actual program
- schematicChest,
- handleChest,
- partChest,
- axeHeadChest,
- swordBladeChest,
- shovelHeadChest,
- pickaxeHeadChest,
- materialChest,
- hoeHeadChest
- }
- local bufferChest = "minecraft:chest_4" -- chest to dump all items into, this is what we'll be pulling from.
- local tags = {
- "forgero:schematic",
- "forgero:gem",
- "forgero:trinket",
- "forgero:binding",
- "forgero:handle",
- "forgero:hoe_head",
- "forgero:pickaxe_head",
- "forgero:sword_blade",
- "forgero:axe_head",
- "forgero:shovel_head",
- "forgero:part",
- "forgero:material"
- }
- local chests = {
- ["forgero:schematic"] = schematicChest,
- ["forgero:gem"] = handleChest,
- ["forgero:trinket"] = handleChest,
- ["forgero:binding"] = handleChest,
- ["forgero:handle"] = handleChest,
- ["forgero:hoe_head"] = hoeHeadChest,
- ["forgero:pickaxe_head"] = pickaxeHeadChest,
- ["forgero:sword_blade"] = swordBladeChest,
- ["forgero:axe_head"] = axeHeadChest,
- ["forgero:shovel_head"] = shovelHeadChest,
- ["forgero:part"] = partChest,
- ["forgero:material"] = materialChest
- }
- while true do
- local items = luna.getItems({
- ["inventories"] = {bufferChest}
- })
- for k, item in pairs(items) do
- for _, tag in ipairs(tags) do
- if luna.hasTags(item, tag) and item.name ~= "minecraft:totem_of_undying" then
- -- luna.log("Found " .. tag .. ": " .. item.name)
- local p = peripheral.wrap(chests[tag])
- for _, slot in pairs(item.slots) do
- -- slot is a string, so we need to convert it to a number
- local numberOfItemsTransferred = p.pullItems(item.where, tonumber(slot))
- if numberOfItemsTransferred <= 0 then
- luna.error("No space for " .. item.name .. " in " .. chests[tag])
- else
- luna.log(item.name .. " >> " .. chests[tag])
- end
- end
- break
- end
- end
- end
- sleep()
- end
Add Comment
Please, Sign In to add comment