Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Computer = {
- rednetSide = "back"
- }
- CartDetector = {
- }
- CartDetecter_mt = {__index = CartDetector}
- function CartDetector:create()--{{{
- local new_cartDetector = {}
- setmetatable(new_cartDetector, CartDetector_mt)
- return new_cartDetector
- end--}}}
- CartHolder = {
- }
- function CartHolder:holdCart()--{{{
- rs.setOutput(self.side, false)
- end--}}}
- function CartHolder:releaseCart()--{{{
- rs.setOutput(self.side, true)
- end--}}}
- CartHolder_mt = {__index = CartHolder}
- function CartHolder:create()--{{{
- local new_cartHolder = {}
- setmetatable(new_cartHolder, CartHolder_mt)
- return new_cartHolder
- end--}}}
- comp = Computer
- rs.setBundledOutput(comp.rednetSide, 0)
- cartDetLoader = CartDetector:create()--{{{
- cartDetLoader.side = 'right'--}}}
- cartDetLoaderLeave = CartDetector:create()--{{{
- cartDetLoaderLeave.side = 'left'--}}}
- cartHolderQueue1 = CartHolder:create()--{{{
- cartHolderQueue1.side = "back"
- cartHolderQueue1:releaseCart()--}}}
- cartLoading = true
- while true do
- event, param1, param2, param3 = os.pullEvent("redstone")
- print("arrive: " .. textutils.serialize(rs.getInput(cartDetLoaderLeave.side)))
- print("leave: " .. textutils.serialize(rs.getInput(cartDetLoaderLeave.side)))
- if rs.getInput(cartDetLoader.side) then -- on to loader
- print("Received cart arrive event")
- cartHolderQueue1:holdCart()
- end
- if rs.getInput(cartDetLoaderLeave.side) then
- print("Received cart leave event")
- cartHolderQueue1:releaseCart()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement