osmarks

endergenic

Jul 14th, 2025 (edited)
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.15 KB | None | 0 0
  1. local endergenic_generators = {}
  2.  
  3. for i = 21, 32 do
  4.     local gen = peripheral.wrap("redstone_integrator_" .. i)
  5.     table.insert(endergenic_generators, gen)
  6.     print(tostring(i) .. ": " .. tostring(gen))
  7. end
  8.  
  9. local sensor = peripheral.wrap "redstone_integrator_19"
  10. local injector = peripheral.wrap "redstone_integrator_20"
  11. local inj_cyc = 0
  12.  
  13. local last_fire = 0
  14.  
  15. while true do
  16.     local ctr = math.floor(os.clock() * 4)
  17.     local tick = ctr % #endergenic_generators
  18.  
  19.     print(#endergenic_generators, tick)
  20.     local gen_fire = endergenic_generators[tick + 1]
  21.     local gen_charge = endergenic_generators[(tick + 10) % #endergenic_generators + 1]
  22.  
  23.     if sensor.getInput("south") then
  24.         last_fire = ctr
  25.         print "reset"
  26.     end
  27.     local pulse_injector = last_fire < (ctr - 100) and tick == inj_cyc
  28.     if pulse_injector then
  29.         injector.setOutput("south", true)
  30.         print "fire"
  31.     end
  32.     gen_fire.setOutput("top", true)
  33.     gen_charge.setOutput("top", true)
  34.     sleep()
  35.     gen_fire.setOutput("top", false)
  36.     gen_charge.setOutput("top", false)
  37.     if pulse_injector then
  38.         injector.setOutput("south", false)
  39.     end
  40. end
  41.  
Advertisement
Add Comment
Please, Sign In to add comment