Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- DebiMobFarm - (c) monster010
- ----------------------------------
- ----- DONT CHANGE UNDER THIS -----
- ----------------------------------
- local software = "DebiMobFarm"
- local cfg = {}
- local mobs = {}
- local ns = {x = 21, y = 9, w = 18, h = 3, active = false}
- local monitor
- local button
- os.loadAPI("debimobfarm/api/config")
- os.loadAPI("debimobfarm/api/monster010")
- os.loadAPI("debimobfarm/api/btn")
- function addButtons()
- for name, data in pairs(mobs) do
- btn.add(name, data["name"], toggleFarm, name, data["x"], data["y"], data["w"], 1)
- end
- btn.add("notstop", "Notstopp", notstop, false, ns["x"], ns["y"], ns["w"], ns["h"], colors.red, colors.lime)
- btn.screen()
- end
- function toggleFarm(name)
- local colorss = 32768
- if not ns["active"] then
- mobs[name]["active"] = not mobs[name]["active"]
- btn.toggle(name)
- if not mobs[name]["active"] then
- write("Farm ")
- term.setTextColor(colors.green)
- write(mobs[name]["name"])
- term.setTextColor(colors.white)
- print(" wurde aktiviert")
- else
- write("Farm ")
- term.setTextColor(colors.red)
- write(mobs[name]["name"])
- term.setTextColor(colors.white)
- print(" wurde deaktiviert")
- end
- for name, data in pairs(mobs) do
- if data["active"] then
- colorss = colors.combine(colorss, data["color"])
- else
- colorss = colors.subtract(colorss, data["color"])
- end
- end
- rs.setBundledOutput(cfg["redSide"], colorss)
- save()
- end
- end
- function notstop()
- local colorsn = 32768
- local colorss = 32768
- ns["active"] = not ns["active"]
- btn.toggle("notstop")
- if ns["active"] then
- term.setTextColor(colors.red)
- print("NOTSTOPP wurde aktiviert")
- term.setTextColor(colors.white)
- else
- term.setTextColor(colors.red)
- print("NOTSTOPP wurde deaktiviert")
- term.setTextColor(colors.white)
- end
- if ns["active"] then
- for name, data in pairs(mobs) do
- colorsn = colors.combine(colorsn, data["color"])
- btn.set(name, true)
- end
- btn.screen()
- rs.setBundledOutput(cfg["redSide"], colorsn)
- else
- for name, data in pairs(mobs) do
- if data["active"] then
- colorss = colors.combine(colorss, data["color"])
- else
- btn.toggle(name)
- end
- end
- rs.setBundledOutput(cfg["redSide"], colorss)
- end
- monster010.saveFile("/debimobfarm/savens", textutils.serialize(ns))
- end
- function save()
- monster010.saveFile("/debimobfarm/save", textutils.serialize(mobs))
- end
- function load()
- local colorss = 32768
- local colorsn = 32768
- if fs.exists("/debimobfarm/save") then
- mobs = monster010.loadFile("/debimobfarm/save", true)
- end
- if fs.exists("/debimobfarm/savens") then
- ns = monster010.loadFile("/debimobfarm/savens", true)
- end
- addButtons()
- if ns["active"] then
- btn.set("notstop", true)
- for name, data in pairs(mobs) do
- colorsn = colors.combine(colorsn, data["color"])
- btn.set(name, true)
- end
- btn.screen()
- rs.setBundledOutput(cfg["redSide"], colorsn)
- else
- for name, data in pairs(mobs) do
- if data["active"] then
- colorss = colors.combine(colorss, data["color"])
- else
- colorss = colors.subtract(colorss, data["color"])
- end
- btn.set(name, data["active"])
- end
- btn.screen()
- rs.setBundledOutput(cfg["redSide"], colorss)
- end
- end
- function launchRestart()
- while true do
- local event, args = os.pullEvent("key")
- if args == 19 then
- os.reboot()
- end
- end
- end
- config.load("/debimobfarm/cfg")
- cfg = config.getConfig()
- monster010.construct(cfg["monSide"], software)
- monster010.startUp()
- monitor = monster010.getMonitor()
- btn.construct(monitor)
- monster010.heading(software)
- load()
- monster010.startUpDone()
- while true do
- parallel.waitForAny(btn.getClick, launchRestart)
- end
Advertisement
Add Comment
Please, Sign In to add comment