Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- spawnerName = "ThaumcraftSpawner"
- updateTime = 1
- rSide = "bottom"
- rednet.open("right")
- local Args = {...}
- if Args[1] == "update" then
- programName = shell.getRunningProgram()
- print("Updating.")
- fs.delete( programName )
- shell.run( "pastebin","get", "u1w60x3y", programName )
- print("Finished updating.")
- error()
- end
- print("Hosting as "..spawnerName)
- active = true
- print("Active: true")
- timer = os.startTimer( updateTime )
- function update()
- rs.setOutput( rSide, active )
- end
- function getPick()
- for i=1,16 do
- if turtle.getItemCount( i ) == 0 then
- return i
- end
- end
- return 0
- end
- function setPick(n)
- turtle.select(1)
- turtle.suckDown()
- turtle.select(n)
- turtle.dropDown()
- end
- update()
- while true do
- event,pr1,pr2 = os.pullEvent()
- if event == "timer" and pr1 == timer then
- data = {}
- data["getActive"] = active
- data["getPick"] = getPick()
- txtData = textutils.serialize( { [1] = "spawner", [2] = spawnerName, [3] = textutils.serialize( data ) } )
- rednet.broadcast( txtData )
- timer = os.startTimer( updateTime - 0.05 )
- update()
- elseif event == "rednet_message" then
- if textutils.unserialize(pr2)[1] == spawnerName then
- data = textutils.unserialize(pr2)
- if data[2] == "setActive" then
- active = data[3]
- if active then
- print("Active: true")
- else
- print("Active: false")
- end
- update()
- timer = os.startTimer( updateTime - 0.05 )
- elseif data[2] == "toggle" then
- active = not active
- if active then
- print("Active: true")
- else
- print("Active: false")
- end
- update()
- timer = os.startTimer( updateTime - 0.05 )
- elseif data[2] == "setPick" then
- setPick( tonumber(data[3]) )
- timer = os.startTimer( updateTime - 0.05 )
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment