jonassvensson4

OpenPeripherals - Mobfarms

Mar 25th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.07 KB | None | 0 0
  1. local glasses = peripheral.wrap("back")
  2. rednet.open("top")
  3.  
  4. -- Computer ids
  5. ender = 186
  6. blaze = 187
  7. witherboss = 188
  8. cowfarm = 191
  9. villager = 197
  10. sheep = 198
  11. pigmen = 201
  12. igne = 202
  13. glac = 207
  14. witherskeleton = 203
  15. ldoor = 194
  16. rdoor = 193
  17. sdoor = 215
  18. witch = 231
  19.  
  20. -- Values for status check
  21. local bl = false
  22. local en = false
  23. local wb = false
  24. local cw = false
  25. local vi = false
  26. local sh = false
  27. local pg = false
  28. local ig = false
  29. local ws = false
  30. local gl = false
  31. local wi = false
  32.  
  33. -- Window value
  34. local window = false
  35.  
  36. -- Create icons
  37. function icons()
  38.     glasses.clear()
  39.     glasses.addBox(0,0,14,13,0x9452EB,1)
  40.     glasses.addText(4,3,"M",0x000000)
  41.     glasses.addBox(14,0,14,13,0x808080,1)
  42.     glasses.addText(18,3,"M",0x000000)
  43.     glasses.sync()
  44. end
  45.  
  46. -- Create mobfarms-box
  47. function createMobBox()
  48.     glasses.clear()
  49.     glasses.addBox(5,20,58,138,0x000000,0.2)
  50.     glasses.addText(10,25,"Mobfarms",0x9452EB)
  51.     glasses.addText(10,35,"EN:",0x9C3838)
  52.     glasses.addText(10,45,"BL:",0x9C3838)
  53.     glasses.addText(10,55,"WB:",0x9C3838)
  54.     glasses.addText(10,65,"CW:",0x9C3838)
  55.     glasses.addText(10,75,"VI:",0x9C3838)
  56.     glasses.addText(10,85,"SH:",0x9C3838)
  57.     glasses.addText(10,95,"PG:",0x9C3838)
  58.     glasses.addText(10,105,"WS:",0x9C3838)
  59.     glasses.addText(10,115,"WI:",0x9C3838)
  60.     glasses.addText(10,125,"XX:",0x9C3838)
  61.     glasses.addText(10,135,"XX:",0x9C3838)
  62.     glasses.addText(10,145,"XX:",0x9C3838)
  63.     glasses.sync()
  64. end
  65.  
  66. -- Create machine-box
  67. function createMachineBox()
  68.     glasses.addBox(5,170,58,40,0x000000,0.2)
  69.     glasses.addText(10,175,"Machines",0x9452EB)
  70.     glasses.addText(10,185,"IG:",0x9C3838)
  71.     glasses.addText(10,195,"GL:",0x9C3838)
  72.     glasses.sync()
  73. end
  74.  
  75. -- Startup
  76. function startup()
  77.     -- Mobfarms
  78.     rednet.send(ender,"off")
  79.     rednet.send(blaze,"bloff")
  80.     rednet.send(witherboss,"wboff")
  81.     rednet.send(cowfarm,"cwoff")
  82.     rednet.send(villager,"vioff")
  83.     rednet.send(sheep,"shoff")
  84.     rednet.send(pigmen,"off")
  85.     rednet.send(witherskeleton,"off")
  86.     rednet.send(witch,"off")
  87.  
  88.     -- Machines
  89.     rednet.send(igne,"off")
  90.     rednet.send(glac,"off")
  91.  
  92.     glasses.sync()
  93. end
  94.  
  95. -- Check status
  96. function status()
  97.     -- Mobfarms
  98.     if wi == true then
  99.         glasses.addText(26,115,"Online",0x389C51)
  100.     elseif wi == false then
  101.         glasses.addText(26,115,"Offline",0x9C3838)
  102.     end
  103.  
  104.     if en == true then
  105.         glasses.addText(26,35,"Online",0x389C51)
  106.     elseif en == false then
  107.         glasses.addText(26,35,"Offline",0x9C3838)
  108.     end
  109.  
  110.     if bl == true then
  111.         glasses.addText(26,45,"Online",0x389C51)
  112.     elseif bl == false then
  113.         glasses.addText(26,45,"Offline",0x9C3838)
  114.     end
  115.  
  116.     if wb == true then
  117.         glasses.addText(26,55,"Online",0x389C51)
  118.     elseif wb == false then
  119.         glasses.addText(26,55,"Offline",0x9C3838)
  120.     end
  121.    
  122.     if cw == true then
  123.         glasses.addText(26,65,"Online",0x389C51)
  124.     elseif cw == false then
  125.         glasses.addText(26,65,"Offline",0x9C3838)
  126.     end
  127.  
  128.     if vi == true then
  129.         glasses.addText(26,75,"Online",0x389C51)
  130.     elseif vi == false then
  131.         glasses.addText(26,75,"Offline",0x9C3838)
  132.     end
  133.  
  134.     if sh == true then
  135.         glasses.addText(26,85,"Online",0x389C51)
  136.     elseif sh == false then
  137.         glasses.addText(26,85,"Offline",0x9C3838)
  138.     end
  139.    
  140.     if pg == true then
  141.         glasses.addText(26,95,"Online",0x389C51)
  142.     elseif pg == false then
  143.         glasses.addText(26,95,"Offline",0x9C3838)
  144.     end
  145.  
  146.     if ws == true then
  147.         glasses.addText(26,105,"Online",0x389C51)
  148.     elseif ws == false then
  149.         glasses.addText(26,105,"Offline",0x9C3838)
  150.     end
  151.  
  152.     -- Machines
  153.     if ig == true then
  154.         glasses.addText(26,185,"Online",0x389C51)
  155.     elseif ig == false then
  156.         glasses.addText(26,185,"Offline",0x9C3838)
  157.     end
  158.  
  159.     if gl == true then
  160.         glasses.addText(26,195,"Online",0x389C51)
  161.     elseif gl == false then
  162.         glasses.addText(26,195,"Offline",0x9C3838)
  163.     end
  164. end
  165.  
  166. -- Update window if it's open
  167. function updateWindow()
  168.     if window == true then
  169.         createMobBox()
  170.         createMachineBox()
  171.         status()
  172.         glasses.sync()
  173.     else
  174.         -- Don't do anything..
  175.     end
  176. end
  177.  
  178. startup()
  179. icons()
  180.  
  181. -- Commands
  182. while true do
  183.     local event = { os.pullEvent() }
  184.     if event[1] == "glasses_chat_command" then
  185.     -- Special
  186.         if event[5] == "show" then
  187.             window = true
  188.             createMobBox()
  189.             createMachineBox()
  190.             status()
  191.             glasses.sync()
  192.         elseif event[5] == "hide" then
  193.             window = false
  194.             glasses.clear()
  195.             icons()
  196.             glasses.sync()
  197.     -- Mobfarms
  198.         elseif event[5] == "enon" then
  199.             rednet.send(ender,"on")
  200.             en = true
  201.             updateWindow()
  202.         elseif event[5] == "enoff" then
  203.             rednet.send(ender,"off")
  204.             en = false
  205.             updateWindow()
  206.         elseif event[5] == "wion" then
  207.             rednet.send(witch,"on")
  208.             wi = true
  209.             updateWindow()
  210.         elseif event[5] == "wioff" then
  211.             rednet.send(witch,"off")
  212.             wi = false
  213.             updateWindow()
  214.         elseif event[5] == "blon" then
  215.             rednet.send(blaze,"blon")
  216.             bl = true
  217.             updateWindow()
  218.         elseif event[5] == "bloff" then
  219.             rednet.send(blaze,"bloff")
  220.             bl = false
  221.             updateWindow()
  222.         elseif event[5] == "wbon" then
  223.             rednet.send(witherboss,"wbon")
  224.             wb = true
  225.             updateWindow()
  226.         elseif event[5] == "wboff" then
  227.             rednet.send(witherboss,"wboff")
  228.             wb = false
  229.             updateWindow()
  230.         elseif event[5] == "cwon" then
  231.             rednet.send(cowfarm,"cwon")
  232.             cw = true
  233.             updateWindow()
  234.         elseif event[5] == "cwoff" then
  235.             rednet.send(cowfarm,"cwoff")
  236.             cw = false
  237.             updateWindow()
  238.         elseif event[5] == "vion" then
  239.             rednet.send(villager,"vion")
  240.             vi = true
  241.             updateWindow()
  242.         elseif event[5] == "vioff" then
  243.             rednet.send(villager,"vioff")
  244.             vi = false
  245.             updateWindow()
  246.         elseif event[5] == "shon" then
  247.             rednet.send(sheep,"shon")
  248.             sh = true
  249.             updateWindow()
  250.         elseif event[5] == "shoff" then
  251.             rednet.send(sheep,"shoff")
  252.             sh = false
  253.             updateWindow()
  254.         elseif event[5] == "pgon" then
  255.             rednet.send(pigmen,"on")
  256.             pg = true
  257.             updateWindow()
  258.         elseif event[5] == "pgoff" then
  259.             rednet.send(pigmen,"off")
  260.             pg = false
  261.             updateWindow()
  262.         elseif event[5] == "wson" then
  263.             rednet.send(witherskeleton,"on")
  264.             ws = true
  265.             updateWindow()
  266.         elseif event[5] == "wsoff" then
  267.             rednet.send(witherskeleton,"off")
  268.             ws = false
  269.             updateWindow()
  270.  
  271.         -- Other
  272.         elseif event[5] == "ldooro" then
  273.             rednet.send(ldoor,"open")
  274.         elseif event[5] == "ldoorc" then
  275.             rednet.send(ldoor,"close")
  276.         elseif event[5] == "rdooro" then
  277.             rednet.send(rdoor,"open")
  278.         elseif event[5] == "rdoorc" then
  279.             rednet.send(rdoor,"close")
  280.         elseif event[5] == "sdooro" then
  281.             rednet.send(sdoor,"open")
  282.         elseif event[5] == "sdoorc" then
  283.             rednet.send(sdoor,"close")
  284.  
  285.         -- Machines
  286.         elseif event[5] == "igon" then
  287.             rednet.send(igne,"on")
  288.             ig = true
  289.             updateWindow()
  290.         elseif event[5] == "igoff" then
  291.             rednet.send(igne,"off")
  292.             ig = false
  293.             updateWindow()
  294.         elseif event[5] == "glon" then
  295.             rednet.send(glac,"on")
  296.             gl = true
  297.             updateWindow()
  298.         elseif event[5] == "gloff" then
  299.             rednet.send(glac,"off")
  300.             gl = false
  301.             updateWindow()
  302.         sleep(0.75)
  303.         end
  304.     end
  305. end
Add Comment
Please, Sign In to add comment