Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Spawners = {}
- function Init()
- local list = {}
- Spawners.list = list
- end
- function ImportSpawnerConfig(file_path)
- SpawnerConfig = io.open(file_path, "r")
- Spawners = textutils.unserialiseJSON(SpawnerConfig.readAll())
- end
- function ExportSpawnerConfig(file_path)
- SpawnerConfig = io.open(file_path, "w")
- Config = textutils.serializeJSON(RemoveSpawner)
- SpawnerConfig.write(Config)
- end
- function AddSpawner(spawner_name, redstone_integrator, direction)
- Spawners.list.append(spawner_name)
- local new_spawner = {}
- new_spawner.side = direction
- new_spawner.redstone = redstone_integrator
- new_spawner.enabled = false
- Spawners[spawner_name] = new_spawner
- end
- function RemoveSpawner(spawner_name)
- Spawners[spawner_name] = nil
- table.remove(Spawners.list)
- end
- function GetSpawner(name)
- if Spawners[name] == nil then
- error("Spawner Not Found")
- else
- return Spawners[name]
- end
- end
- function ActivateSpawner(name)
- Spawner = GetSpawner(name)
- Spawner.enabled = true
- Integrator = peripheral.wrap(Spawner.redstone)
- Integrator.setOutput(Spawner.side, true)
- end
- function DeactivateSpawner(name)
- Spawner = GetSpawner(name)
- Spawner.enabled = false
- Integrator = peripheral.wrap(Spawner.redstone)
- Integrator.setOutput(Spawner.side, false)
- end
- function ActivateAll()
- for i = 1, #Spawners.list do
- ActivateSpawner(Spawners.list[i])
- end
- end
- function DeactivateAll()
- for i = 1, #Spawners.list do
- DeactivateSpawner(Spawners.list[i])
- end
- end
- function ToggleSpawner(spawner_name)
- local spawner = Spawners[spawner_name]
- if spawner.enabled then
- DeactivateSpawner(spawner_name)
- else
- ActivateSpawner(spawner_name)
- end
- end
- function GetSpawnerNames()
- return Spawners.list
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement