launcher.lua
57 lines · 1.6 KB
eHydra Program Launcher
Usage: launcher <program> <args...>
Copy & run
wget https://perlytiara.github.io/turtles.tips/raw/programs/perlytiara/eHydra_wip/launcher.lua
| 1 | -- eHydra Program Launcher |
| 2 | -- Runs eHydra programs with command-line arguments |
| 3 | -- Usage: launcher <program> <args...> |
| 4 | |
| 5 | local args = {...} |
| 6 | |
| 7 | if #args == 0 then |
| 8 | print("eHydra Program Launcher v1.0") |
| 9 | print("============================") |
| 10 | print("Available programs:") |
| 11 | print(" mining_setup <program> <width> <depth> <height> [params]") |
| 12 | print(" turtle_deployer") |
| 13 | print(" init") |
| 14 | print(" batch_updater") |
| 15 | print(" autoupdater <url> <name>") |
| 16 | print() |
| 17 | print("Examples:") |
| 18 | print(" launcher mining_setup quarry 32 32 16") |
| 19 | print(" launcher turtle_deployer") |
| 20 | print(" launcher init") |
| 21 | return |
| 22 | end |
| 23 | |
| 24 | local program = args[1] |
| 25 | local programArgs = {} |
| 26 | for i = 2, #args do |
| 27 | table.insert(programArgs, args[i]) |
| 28 | end |
| 29 | |
| 30 | -- Map program names to actual files |
| 31 | local programMap = { |
| 32 | ["mining_setup"] = "mining_setup.lua", |
| 33 | ["turtle_deployer"] = "turtle_deployer.lua", |
| 34 | ["init"] = "init.lua", |
| 35 | ["batch_updater"] = "batch_updater.lua", |
| 36 | ["autoupdater"] = "autoupdater.lua", |
| 37 | ["self_update"] = "self_update.lua", |
| 38 | ["startup"] = "startup.lua" |
| 39 | } |
| 40 | |
| 41 | local programFile = programMap[program] or (program .. ".lua") |
| 42 | |
| 43 | print("🚀 eHydra Launcher") |
| 44 | print("Program: " .. program) |
| 45 | if #programArgs > 0 then |
| 46 | print("Args: " .. table.concat(programArgs, " ")) |
| 47 | end |
| 48 | print() |
| 49 | |
| 50 | if fs.exists(programFile) then |
| 51 | -- Pass arguments to the program |
| 52 | shell.run(programFile, table.unpack(programArgs)) |
| 53 | else |
| 54 | print("❌ Program not found: " .. program) |
| 55 | print("Available programs: " .. table.concat({"mining_setup", "turtle_deployer", "init", "batch_updater", "autoupdater"}, ", ")) |
| 56 | end |
| 57 |