Guest User

botania-runes

a guest
Jun 11th, 2015
382
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.59 KB | None | 0 0
  1. function pulse (side, colour)
  2.    print("pulse ", side, " - ", colour)
  3.    rs.setBundledOutput(side, colour)
  4.    sleep(0.25)
  5.    rs.setBundledOutput(side, 0)
  6. end
  7.  
  8. function checkItemComparator()
  9.   local level = rs.getAnalogInput("left")
  10.   print("dropper comp = ", level)
  11.   return level
  12. end
  13.  
  14. -- wait for a redstone signal from the
  15. -- dispenser/comparator
  16. while true do
  17.   print("waiting on a redstone event...")
  18.   os.pullEvent("redstone")
  19.   print("got redstone event!")
  20.  
  21.   -- short pause to ensure all items get there
  22.   sleep(1)
  23.  
  24.   if checkItemComparator() > 0 then
  25.     local done = false
  26.     -- loop till all items in the
  27.     -- dropper are ejected
  28.     while done == false do
  29.       compLevel = checkItemComparator()
  30.       if compLevel > 0 then
  31.         -- white = vanilla dropper (items)
  32.         pulse("top", colors.white)
  33.       else
  34.         done = true
  35.       end
  36.     end
  37.  
  38.     -- orange = openblocks dropper (livingrock)  
  39.     pulse("top", colors.orange)
  40.  
  41.     sleep(0.5)
  42.  
  43.     -- magenta = dispenser (wand of forest)
  44.     pulse("top", colors.magenta)
  45.    
  46.     -- crafting has begun
  47.     -- wait for strength 2 signal to finish
  48.     -- runic altar's comparator outputs this
  49.     local finished = 0
  50.     for i = 0, 60 do
  51.       local altar = rs.getAnalogInput("back")
  52.       print("altar level = ", altar)
  53.       if altar == 2 then
  54.         pulse("top", colors.magenta)
  55.         finished = 1
  56.         break
  57.       end
  58.       sleep(1)
  59.     end
  60.     if finished == 0 then
  61.       print("ERROR: crafting didn't finish after 60 seconds")
  62.     end
  63.  
  64.   end  -- if
  65.  
  66. end  -- while true
Advertisement
Add Comment
Please, Sign In to add comment