launcher.lua

57 lines · 1.6 KB

Open raw

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
5local args = {...}
6
7if #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
22end
23
24local program = args[1]
25local programArgs = {}
26for i = 2, #args do
27 table.insert(programArgs, args[i])
28end
29
30-- Map program names to actual files
31local 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
41local programFile = programMap[program] or (program .. ".lua")
42
43print("🚀 eHydra Launcher")
44print("Program: " .. program)
45if #programArgs > 0 then
46 print("Args: " .. table.concat(programArgs, " "))
47end
48print()
49
50if fs.exists(programFile) then
51 -- Pass arguments to the program
52 shell.run(programFile, table.unpack(programArgs))
53else
54 print("❌ Program not found: " .. program)
55 print("Available programs: " .. table.concat({"mining_setup", "turtle_deployer", "init", "batch_updater", "autoupdater"}, ", "))
56end
57