Advertisement
Commandcracker

steamengine.lua

Aug 27th, 2023
1,465
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.56 KB | None | 0 0
  1. local logging = require("logging")
  2. local logger = logging.Logger.new(shell.getRunningProgram())
  3.  
  4. local kupplung = "right"
  5. local startergetriebe = "back"
  6. local starterkurbel = "top"
  7. local pumpkontrolle = peripheral.wrap("Create_RotationSpeedController_0")
  8. local brunnen = peripheral.wrap("Create_RotationSpeedController_1")
  9. local speedometer = peripheral.wrap("Create_Speedometer_0")
  10. local treibstoff = "front"
  11.  
  12. local function ist_treibstoff_vorhanden()
  13.     return redstone.getInput(treibstoff)
  14. end
  15.  
  16. local function setze_arbeits_pumpengeschwindigkeit()
  17.     local current_speed = pumpkontrolle.getTargetSpeed()
  18.     local speed_with_fuel = 100
  19.     local speed_without_fuel = 30
  20.  
  21.     if ist_treibstoff_vorhanden() then
  22.         pumpkontrolle.setTargetSpeed(speed_with_fuel)
  23.         brunnen.setTargetSpeed(110)
  24.     else
  25.         pumpkontrolle.setTargetSpeed(speed_without_fuel)
  26.         brunnen.setTargetSpeed(40)
  27.     end
  28. end
  29.  
  30. local function startSteamEngine()
  31.     pumpkontrolle.setTargetSpeed(150)
  32.  
  33.     redstone.setOutput(kupplung, true)
  34.     redstone.setOutput(startergetriebe, false)
  35.  
  36.     local start_zeit = os.clock()
  37.     local kurbel_zeit = 8.5
  38.  
  39.     repeat
  40.         turtle.placeUp() -- starterkurbel
  41.     until os.clock() - start_zeit >= kurbel_zeit
  42.  
  43.     redstone.setOutput(startergetriebe, true)
  44.     sleep(6)
  45.     setze_arbeits_pumpengeschwindigkeit()
  46.     redstone.setOutput(kupplung, false)
  47. end
  48.  
  49. while true do
  50.     local speed = speedometer.getSpeed()
  51.     logger:debug("Speed:", speed)
  52.     if speed <= 0 then
  53.         logger:info("Versuche steam engine zu starten!")
  54.         startSteamEngine()
  55.     end
  56.     setze_arbeits_pumpengeschwindigkeit()
  57.     sleep(1)
  58. end
  59.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement