Advertisement
TechRunner

libSpawner.lua

Jan 22nd, 2025
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.87 KB | Gaming | 0 0
  1. local Spawners = {}
  2.  
  3. function Init()
  4.     local list = {}
  5.     Spawners.list = list
  6. end
  7.  
  8. function ImportSpawnerConfig(file_path)
  9.     SpawnerConfig = io.open(file_path, "r")
  10.     Spawners = textutils.unserialiseJSON(SpawnerConfig.readAll())
  11. end
  12.  
  13. function ExportSpawnerConfig(file_path)
  14.     SpawnerConfig = io.open(file_path, "w")
  15.     Config = textutils.serializeJSON(RemoveSpawner)
  16.     SpawnerConfig.write(Config)
  17. end
  18.  
  19. function AddSpawner(spawner_name, redstone_integrator, direction)
  20.     Spawners.list.append(spawner_name)
  21.     local new_spawner = {}
  22.     new_spawner.side = direction
  23.     new_spawner.redstone = redstone_integrator
  24.     new_spawner.enabled = false
  25.     Spawners[spawner_name] = new_spawner
  26. end
  27.  
  28. function RemoveSpawner(spawner_name)
  29.     Spawners[spawner_name] = nil
  30.     table.remove(Spawners.list)
  31. end
  32.  
  33. function GetSpawner(name)
  34.     if Spawners[name] == nil then
  35.         error("Spawner Not Found")
  36.     else
  37.         return Spawners[name]
  38.     end
  39. end
  40.  
  41. function ActivateSpawner(name)
  42.     Spawner = GetSpawner(name)
  43.     Spawner.enabled = true
  44.     Integrator = peripheral.wrap(Spawner.redstone)
  45.     Integrator.setOutput(Spawner.side, true)
  46. end
  47.  
  48. function DeactivateSpawner(name)
  49.     Spawner = GetSpawner(name)
  50.     Spawner.enabled = false
  51.     Integrator = peripheral.wrap(Spawner.redstone)
  52.     Integrator.setOutput(Spawner.side, false)
  53. end
  54.  
  55. function ActivateAll()
  56.     for i = 1, #Spawners.list do
  57.         ActivateSpawner(Spawners.list[i])
  58.     end
  59. end
  60.  
  61. function DeactivateAll()
  62.     for i = 1, #Spawners.list do
  63.         DeactivateSpawner(Spawners.list[i])
  64.     end
  65. end
  66.  
  67. function ToggleSpawner(spawner_name)
  68.     local spawner = Spawners[spawner_name]
  69.     if spawner.enabled then
  70.         DeactivateSpawner(spawner_name)
  71.     else
  72.         ActivateSpawner(spawner_name)
  73.     end
  74. end
  75.  
  76. function GetSpawnerNames()
  77.     return Spawners.list
  78. end
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement