Advertisement
ben_mkiv

de.lua

Oct 31st, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.38 KB | None | 0 0
  1. require ("package").loaded.borders = nil
  2. require ("package").loaded.hazeUI = nil
  3. require ("package").loaded.deH = nil
  4.  
  5. sides = require("sides")
  6. component = require("component")
  7. event = require("event")
  8. require "hazeUI"
  9.      
  10. recipes = {}
  11. recipes_compressed = {}
  12. upgradeRecipes = {}
  13. upgradeRecipes_compressed = {}
  14. upgradeKeys = {}
  15. inventory = {}
  16. inventoryAll = {}
  17. selectedUpgrades = {}
  18.  
  19. config = {}
  20. config.target = "draconicevolution"
  21. config.devices =  {}
  22.        
  23. config.devices.redstone = {
  24.     crafter = { address = false, side = false },
  25.     status  = { address = false, side = false } }
  26.        
  27. config.devices.transposer = {
  28.     crafter = {
  29.         address = false,
  30.         sideCrafter = false,
  31.         sideInput = false,
  32.         sideOutput = false },
  33.     injectors = {} }
  34.    
  35. config.devices.ae2 = {
  36.     controller = false,
  37.     interface = {},
  38.     exportbus = {} }
  39.  
  40. require "deH"
  41.  
  42. loadConfig()
  43.  
  44. gui = clone(hazeUI)
  45. gui.gpu = component.gpu
  46. gui.super = gui
  47. gui.self = gui
  48. titleBar = gui:addButton(1, 1, 80, 1, "draconic infusion crafting, starting up...", "all", 0x282828, 0xFFB000, "left")
  49.  
  50. function closeTool()
  51.     gui.gpu.setBackground(0x0)
  52.     gui.gpu.setForeground(0xFFFFFF)
  53.     gui.gpu.setResolution(60,30)
  54.     event.ignore("touch", touchEventHandler)
  55.     require("term").clear()
  56.     os.exit()
  57. end
  58.  
  59. function touchEventHandler(id, device, x, y, button, user)
  60.     --if user ~= "ben_mkiv" then return false; end
  61.     return gui:touchEvent(x, y, user)  
  62. end
  63.  
  64. gui.gpu.setResolution(80,25)
  65. gui:drawScreen("all")
  66. gui:setElement({index = titleBar, cb = "drawMain"})
  67.  
  68. event.listen("touch", touchEventHandler)
  69.  
  70. for address,type in pairs(component.list("redstone")) do
  71.     if config.devices.redstone.crafter.address == address and config.devices.redstone.crafter.side ~= false then
  72.         print("device " .. address .. " already configured as crafter redstone")
  73.     elseif config.devices.redstone.status.address == address and config.devices.redstone.status.side ~= false then
  74.         print("device " .. address .. " already configured as comparator redstone")
  75.     else
  76.         config.devices.redstone.status.address = address
  77.         config.devices.redstone.crafter.address = address
  78.         configureRedstoneDevice(address)
  79.     end
  80. end
  81.  
  82. for address,type in pairs(component.list("transposer")) do
  83.     local index = getTransposerIndex(address)
  84.     if index and config.devices.transposer.injectors[index].sideInventory ~= false and config.devices.transposer.injectors[index].sideInjector ~= false then
  85.         print("device " .. address .. " already configured for injector")
  86.     elseif config.devices.transposer.crafter.address == address and config.devices.transposer.crafter.sideInput ~= false and config.devices.transposer.crafter.sideOutput ~= false and config.devices.transposer.crafter.sideCrafter ~= false then
  87.         print("device " .. address .. " already configured for crafter")
  88.     else
  89.         configureTransposerDevice(address)
  90.     end
  91. end
  92.  
  93. for address,type in pairs(component.list("me_network")) do
  94.     print("[i] found me network controller "..address)
  95.     config.devices.ae2.controller = component.proxy(address)
  96. end
  97.  
  98. for address,type in pairs(component.list("me_exportbus")) do
  99.     print("[+] adding me exportbus")
  100.     config.devices.ae2.exportbus[#config.devices.ae2.exportbus+1] = {}
  101.     config.devices.ae2.exportbus[#config.devices.ae2.exportbus].address = address
  102. end
  103.  
  104. os.sleep(3)
  105.  
  106. saveConfig()
  107.  
  108. gui:cleanup()
  109. gui:loadRecipesConfig()
  110. gui:drawMain()
  111.  
  112. event.pull("interrupted")
  113. closeTool()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement