Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local logging = require("logging")
- local logger = logging.Logger.new(shell.getRunningProgram())
- local kupplung = "right"
- local startergetriebe = "back"
- local starterkurbel = "top"
- local pumpkontrolle = peripheral.wrap("Create_RotationSpeedController_0")
- local brunnen = peripheral.wrap("Create_RotationSpeedController_1")
- local speedometer = peripheral.wrap("Create_Speedometer_0")
- local treibstoff = "front"
- local function ist_treibstoff_vorhanden()
- return redstone.getInput(treibstoff)
- end
- local function setze_arbeits_pumpengeschwindigkeit()
- local current_speed = pumpkontrolle.getTargetSpeed()
- local speed_with_fuel = 100
- local speed_without_fuel = 30
- if ist_treibstoff_vorhanden() then
- pumpkontrolle.setTargetSpeed(speed_with_fuel)
- brunnen.setTargetSpeed(110)
- else
- pumpkontrolle.setTargetSpeed(speed_without_fuel)
- brunnen.setTargetSpeed(40)
- end
- end
- local function startSteamEngine()
- pumpkontrolle.setTargetSpeed(150)
- redstone.setOutput(kupplung, true)
- redstone.setOutput(startergetriebe, false)
- local start_zeit = os.clock()
- local kurbel_zeit = 8.5
- repeat
- turtle.placeUp() -- starterkurbel
- until os.clock() - start_zeit >= kurbel_zeit
- redstone.setOutput(startergetriebe, true)
- sleep(6)
- setze_arbeits_pumpengeschwindigkeit()
- redstone.setOutput(kupplung, false)
- end
- while true do
- local speed = speedometer.getSpeed()
- logger:debug("Speed:", speed)
- if speed <= 0 then
- logger:info("Versuche steam engine zu starten!")
- startSteamEngine()
- end
- setze_arbeits_pumpengeschwindigkeit()
- sleep(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement