Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Turtle Teslas
- version = "0.9.3"
- --Load peripherals
- sensor = peripheral.wrap("right")
- modem = peripheral.wrap("left")
- --Initilaze
- local armed = "on"
- for i = 1, 64 do
- modem.open(i)
- end
- --Functions
- function scan()
- mob = sensor.getEntityIds("mob")
- player = sensor.getPlayers()
- status = {}
- status[0] = os.getComputerLabel()
- status[1] = armed
- status[2] = #player
- status[3] = #mob
- end
- function transmit()
- term.clear()
- term.setCursorPos(1,1)
- print("Version: "..version)
- term.write("Status: ")
- print(armed)
- term.write("Players: ")
- print(#player)
- term.write("Entities: ")
- print(#mob)
- modem.transmit(2, 1, textutils.serialize(status))
- end
- function receive()
- local event, side, rec, reply, message, distance = os.pullEvent("modem_message")
- if message == "teslaOn" then
- scan()
- armed = "on"
- transmit()
- end
- if message == "teslaOff" then
- scan()
- armed = "off"
- transmit()
- end
- if message == "update" then
- os.reboot()
- end
- end
- function trigger()
- scan()
- transmit()
- if armed == "on" then
- if #player == 0 then
- if #mob > 0 then
- redstone.setAnalogOutput("bottom", 9)
- end
- if #mob == 0 then
- redstone.setAnalogOutput("bottom", 0)
- end
- end
- if #player > 0 then
- redstone.setAnalogOutput("bottom", 0)
- end
- end
- sleep(3)
- end
- --Start Loop
- while true do
- parallel.waitForAny(receive, trigger)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement