Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("ocs/apis/sensor")
- sen=sensor.wrap("left")
- local senChest=sen.getTargetDetails("0,-1,0")
- chest=peripheral.wrap("bottom")
- rednet.open("right")
- invTable={}
- function makeInvTable(slot, itemName)
- invTable[slot]=itemName
- end
- function checkInv()
- testSpawner()
- invSize=chest.getSizeInventory()
- print("Inventory has "..invSize.." slots.")
- print("Checking for filled slots...")
- chest.condense()
- invTable={}
- senChest=sen.getTargetDetails("0,-1,0")
- for i=1, invSize do
- if senChest["Slots"][i]["Name"]=="empty" then
- break
- elseif senChest["Slots"][i]["RawName"] ~= "item.mfr.safarinet.reusable" then
- print("-----")
- print("Error.")
- print("Non safari-net in inventory.")
- print("Maintainence Required")
- print("-----")
- else
- makeInvTable(i, senChest["Slots"][i]["Name"])
- end
- end
- for i, v in pairs(invTable) do
- print(i.." = "..v)
- end
- end
- function sendTable()
- rednet.send(1, textutils.serialize(invTable))
- end
- function testSpawner()
- if turtle.suckUp()==true then
- print("Mob already in spawner. Removing.")
- turtle.dropDown()
- end
- end
- while true do
- rednet.open("right")
- print("Waiting for message...")
- event, ID, message, dist = os.pullEvent("rednet_message")
- print("Recieved message: "..message)
- sleep(0.2)
- if message == "refresh" then
- checkInv()
- sendTable()
- elseif type(message)=="number" then
- testSpawner()
- print("Transferring mob in slot "..message)
- chest.push("up", message-1, 1)
- turtle.dropUp()
- elseif message=="clear" then
- turtle.suckUp()
- turtle.dropDown()
- elseif message=="grinders" then
- redstone.setOutput("back", not redstone.getOutput("back"))
- elseif message=="spawner" then
- redstone.setOutput("top", not redstone.getOutput("top"))
- elseif message=="swap" then
- event, ID, fStack, dist = os.pullEvent("rednet_message")
- if type(fStack)=="number" then
- print(invTable[fStack].." selected")
- event, ID, sStack, dist = os.pullEvent("rednet_message")
- if type(sStack)=="number" then
- if fStack ~= sStack then
- print("Swapping "..invTable[fStack].." with "..invTable[sStack])
- chest.swapStacks(fStack-1, sStack-1)
- else
- print("Same stack selected")
- end
- rednet.send(1, "done")
- else
- print("No mob selected")
- rednet.send(1,"failed")
- end
- else
- print("No mob selected")
- rednet.send(1, "failed")
- end
- elseif message=="remove" then
- event, ID, message, dist = os.pullEvent("rednet_message")
- if type(message)=="number" then
- testSpawner()
- print("Removing mob in slot "..message)
- chest.push("up", message-1, 1)
- turtle.drop()
- rednet.send(1, "done")
- else
- print("No mob selected")
- end
- end
- sleep(0.01)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement