minecraft-cc-tools/install.lua
2024-05-26 19:31:46 +02:00

113 lines
2.3 KiB
Lua

local LIST_TURTLE_FILES = {
'refuel.lua',
'miner.lua',
'tunnels-miner.lua',
'coal-crafter.lua',
'mystical-upgrader.lua',
'inferium-harvester.lua',
'inferium-server.lua'
};
local LIST_TURTLE_CONFIG_FILES = {
'config/tunnels.lua',
'config/mining.lua'
}
local LIST_SERVER_FILES = {
'inferium-server.lua'
}
local LIST_SERVER_CONFIG_FILES = {
'config/inferium.lua'
}
local LIST_CLIENT_FILES = {
'inferium-gui.lua'
}
local LIST_CLIENT_CONFIG_FILES = {}
local LIST_LIBS_FILES = {
'libs/net.lua',
'libs/utils.lua',
'libs/turtle-utils.lua',
'libs/robot.lua',
'libs/inferium.lua',
'libs/ui/CountersSelector.lua'
}
local LIST_GLOBAL_CONFIG_FILES = {
'startup.lua',
'upgrade.lua'
}
-- old files that need to be cleaned up
local LIST_OLD_FILES = {
'inferium-upgrader-lua',
'config/inferium-plans.lua',
'config/harvesting.lua'
}
local REPO_PREFIX = 'https://git.trapcloud.fr/guillaumearm/minecraft-cc-tools/raw/branch/master/'
local removeFiles = function(list)
for _, filePath in pairs(list) do
if filePath then
fs.delete(filePath)
end
end
end
local installFiles = function(list)
for _, filePath in pairs(list) do
if filePath then
fs.delete(filePath)
shell.execute('wget', REPO_PREFIX .. filePath, filePath)
end
end
end
local installConfig = function(list)
-- do not override existing config files
for _, filePath in pairs(list) do
if filePath and not fs.exists(filePath) then
shell.execute('wget', REPO_PREFIX .. filePath, filePath)
end
end
end
local prepareDirs = function()
fs.makeDir('/libs')
fs.makeDir('/libs/ui')
fs.makeDir('/config')
fs.makeDir('/data')
end
local mainSetup = function()
local previousDir = shell.dir()
prepareDirs()
removeFiles(LIST_OLD_FILES)
installFiles(LIST_LIBS_FILES)
if turtle then
installFiles(LIST_TURTLE_FILES)
installConfig(LIST_TURTLE_CONFIG_FILES)
elseif pocket then
installFiles(LIST_CLIENT_FILES)
installConfig(LIST_CLIENT_CONFIG_FILES)
else -- regular computer
installFiles(LIST_CLIENT_FILES)
installConfig(LIST_CLIENT_CONFIG_FILES)
installFiles(LIST_SERVER_FILES)
installConfig(LIST_SERVER_CONFIG_FILES)
end
installConfig(LIST_GLOBAL_CONFIG_FILES)
shell.setDir(previousDir)
end
mainSetup()