Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local n_chest = "tile_extrautils_chestfull_name_0"
- local n_monit = "monitor_0"
- local n_grav1 = "peripheral_0"
- local n_grav2 = "peripheral_1"
- local n_grav3 = "peripheral_2"
- local n_grav4 = "peripheral_3"
- local n_grav5 = "peripheral_4"
- local chest = {name = n_chest, peripheral = peripheral.wrap(n_chest)}
- local monit = {name = n_monit, peripheral = peripheral.wrap(n_monit)}
- local grav1 = {name = n_grav1, peripheral = peripheral.wrap(n_grav1)}
- local grav2 = {name = n_grav2, peripheral = peripheral.wrap(n_grav2)}
- local grav3 = {name = n_grav3, peripheral = peripheral.wrap(n_grav3)}
- local grav4 = {name = n_grav4, peripheral = peripheral.wrap(n_grav4)}
- local grav5 = {name = n_grav5, peripheral = peripheral.wrap(n_grav5)}
- function moveItem(from, to, fromSlot, amount, toSlot)
- local itemDetail = from.peripheral.getStackInSlot(fromSlot)
- if itemDetail then
- toSlot = toSlot or nil
- amount = amount or 64
- from.peripheral.pushItemIntoSlot(to.name, fromSlot, amount, toSlot)
- end
- end
- function checkAndMoveItems()
- local gravMachines = {grav1, grav2, grav3, grav4}
- local specialItems = {
- ["enderio.silicon"] = "item.appliedenergistics2.itemmaterial.engprocessorpress",
- ["item.appliedenergistics2.itemmaterial.purifiedcertusquartzcrystal"] = "item.appliedenergistics2.itemmaterial.logicprocessorpress",
- ["item.diamond"] = "item.appliedenergistics2.itemmaterial.calcprocessorpress",
- ["item.ingotgold"] = "item.appliedenergistics2.itemmaterial.siliconpress"
- }
- for slot = 1, chest.peripheral.getInventorySize() do
- local itemDetail = chest.peripheral.getStackInSlot(slot)
- if itemDetail then
- local itemName = itemDetail.raw_name
- if specialItems[itemName] then
- for _, grav in ipairs(gravMachines) do
- local gravItem = grav.peripheral.getStackInSlot(1)
- if gravItem and gravItem.raw_name == specialItems[itemName] then
- moveItem(chest, grav, slot, 64, 2)
- break
- end
- end
- elseif itemName == "item.appliedenergistics2.itemmaterial.engprocessorprint" or
- itemName == "item.appliedenergistics2.itemmaterial.logicprocessorprint" or
- itemName == "item.appliedenergistics2.itemmaterial.calcprocessorprint" then
- if not grav5.peripheral.getStackInSlot(1) then
- moveItem(chest, grav5, slot, 64, 1)
- end
- elseif itemName == "item.appliedenergistics2.itemmaterial.siliconprint" then
- if not grav5.peripheral.getStackInSlot(3) then
- moveItem(chest, grav5, slot, 64, 3)
- end
- elseif itemName == "item.redstone" then
- if not grav5.peripheral.getStackInSlot(2) then
- moveItem(chest, grav5, slot, 64, 2)
- end
- end
- end
- end
- for _, grav in ipairs(gravMachines) do
- local itemDetail = grav.peripheral.getStackInSlot(4)
- if itemDetail then
- local itemName = itemDetail.raw_name
- if itemName == "item.appliedenergistics2.itemmaterial.engprocessorprint" or
- itemName == "item.appliedenergistics2.itemmaterial.logicprocessorprint" or
- itemName == "item.appliedenergistics2.itemmaterial.calcprocessorprint" or
- itemName == "item.appliedenergistics2.itemmaterial.siliconprint" then
- moveItem(grav, chest, 4, 64)
- end
- end
- end
- local itemDetail = grav5.peripheral.getStackInSlot(4)
- if itemDetail then
- moveItem(grav5, chest, 4, 64)
- end
- end
- -- Kontinuierliches Scannen und Verschieben von Gegenständen
- while true do
- checkAndMoveItems()
- sleep(10) -- Wartezeit in Sekunden, bevor erneut gescannt wird
- end
Advertisement
Add Comment
Please, Sign In to add comment