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
59 lines
1.4 KiB
Lua
59 lines
1.4 KiB
Lua
-- startup.lua for Mining Turtle
|
|
-- Auto-updates from git then launches miningTurtle.lua
|
|
|
|
local REPO_RAW = "https://git.spatulaa.com/MayaTheShy/Inventory-Manager-CC/raw/branch/main"
|
|
|
|
local FILES = {
|
|
["miningTurtle.lua"] = "miningTurtle.lua",
|
|
}
|
|
|
|
-------------------------------------------------
|
|
|
|
local function download(remotePath, localPath)
|
|
local url = REPO_RAW .. "/" .. remotePath
|
|
local response = http.get(url)
|
|
if response then
|
|
local f = fs.open(localPath, "w")
|
|
f.write(response.readAll())
|
|
f.close()
|
|
response.close()
|
|
return true
|
|
end
|
|
return false
|
|
end
|
|
|
|
-------------------------------------------------
|
|
|
|
term.clear()
|
|
term.setCursorPos(1, 1)
|
|
print("==================================")
|
|
print(" Mining Turtle - Startup")
|
|
print(" Computer ID: " .. os.getComputerID())
|
|
print("==================================")
|
|
print("")
|
|
|
|
local updated, failed = 0, 0
|
|
for localPath, remotePath in pairs(FILES) do
|
|
write(" " .. localPath .. " ... ")
|
|
if download(remotePath, localPath) then
|
|
print("OK")
|
|
updated = updated + 1
|
|
else
|
|
print("FAIL")
|
|
failed = failed + 1
|
|
end
|
|
end
|
|
|
|
print("")
|
|
if failed > 0 then
|
|
print(string.format("Updated %d files, %d failed.", updated, failed))
|
|
else
|
|
print(string.format("All %d files up to date.", updated))
|
|
end
|
|
|
|
print("")
|
|
print("Starting miningTurtle...")
|
|
sleep(1)
|
|
|
|
shell.run("miningTurtle.lua")
|