14 Commits

Author SHA1 Message Date
MayaTheShy
b7427aa973 feat: implement reboot listener for mining turtle to handle remote reboot commands 2026-03-25 22:37:03 -04:00
MayaTheShy
48ca088a2c feat: add new data files for enhanced inventory management and crafting capabilities 2026-03-25 22:36:57 -04:00
MayaTheShy
2adfa7f7a3 Add mining turtle for infinite cobblestone generators
New miningTurtle.lua: sits on top of a cobble gen, continuously
digs down, and pushes items into networked chests via wired modem.
Features:
- Configurable mine interval, dump threshold, fuel slot
- Auto-dumps inventory when slots fill or timer expires
- Auto-refuels from designated fuel slot
- Remote reboot via SYSTEM_CHANNEL
- Stats display (mined, dumped, uptime, fuel)
- Persistent config in usr/config/inventory-manager/.miner_config

Also adds:
- startup/miner.lua: auto-update + launch script for standalone use
- .package: new 'Mining Turtle' role (option 4) in setup wizard
- autorun/startup.lua: detects .miner_config and launches miningTurtle
2026-03-22 21:32:42 -04:00
MayaTheShy
173a0a9f95 Persist config files across Opus package updates
The Opus package manager deletes the entire package directory on
update (fs.delete(packageDir)) before re-downloading files. This
wiped all config files (.manager_config, .client_config, etc.) that
were stored inside packages/inventory-manager/.

Fix: add _configPath() helper to every program that resolves config
file paths to usr/config/inventory-manager/ when running under Opus,
which lives outside the package directory and survives updates.
Falls back to the local _path() for standalone (non-Opus) use.

Updated files:
- inventoryManager.lua, manager/config.lua, inventoryClient.lua,
  inventoryWebBridge.lua, dropperController.lua, craftingTurtle.lua
- .package install script: saves configs to usr/config/inventory-manager/
- autorun/startup.lua: checks both persistent and package dirs
- startup/client.lua: uses persistent dir for .client_setup/.dropper_config
- web/server/Dockerfile: switch health check to wget (from prior fix)
2026-03-22 20:51:31 -04:00
MayaTheShy
d67a2fde88 feat: first-run setup wizard for client dropper config
- startup/client.lua now prompts on first run: asks if a dropper
  is next to the computer, and if so, which side it's on
- Saves config to .dropper_config (JSON with dropperSide,
  redstoneSide, enabled)
- Only launches dropperController if dropper is enabled
- dropperController.lua reads .dropper_config for its sides
  instead of hardcoding 'back'
- Delete .client_setup to re-run the setup wizard
2026-03-22 19:31:08 -04:00
MayaTheShy
82ab5cd9f5 Refactor file download paths for improved organization in manager.lua 2026-03-22 11:38:32 -04:00
MayaTheShy
62f67b7893 Add reboot listener to handle remote reboot commands 2026-03-22 03:16:16 -04:00
MayaTheShy
58ff05c5e6 Add reboot listener to handle incoming reboot commands 2026-03-22 03:16:09 -04:00
MayaTheShy
899606b5c0 Add reboot listener to handle remote reboot commands 2026-03-22 03:16:04 -04:00
MayaTheShy
67a1148e85 Add reboot listener to handle remote reboot commands 2026-03-22 03:15:58 -04:00
MayaTheShy
891fb2a10c Add startup script for Crafting Turtle with auto-update functionality 2026-03-22 03:09:11 -04:00
MayaTheShy
8da6d8bc0e Add startup script for Inventory Client with auto-update functionality 2026-03-22 03:09:04 -04:00
MayaTheShy
8c98546fbf Add startup script for Web Bridge with auto-update functionality 2026-03-22 03:08:59 -04:00
MayaTheShy
9a7d4b3175 Add startup script for automatic file updates and launching inventoryManager 2026-03-22 03:08:51 -04:00