CCCPaste

ArcTurtles

-- ArcTurtles PROGRAM

local ArcUtilities	=	require("ArcUtilities")
local ArcTerm		=	require("ArcTerm")


-- FUNCTIONS

local function CheckForVerticalMining()
	local sStatusFileName	=	"Status.avm"
	local File				=	nil
	local sStatus			=	nil
	local nStatusType		=	nil
	if fs.exists(sStatusFileName) then
		File		=	fs.open(sStatusFileName,"r")
		sStatus		=	File.readLine()
		nStatusType	=	tonumber(ArcUtilities.StringExtract(sStatus,1,";"))
		File.close()
		if nStatusType == 1 or nStatusType == 2 then shell.run("ArcVerticalMining.lua") end
	end
end

local function CheckForChunkLoading()
	local sStatusFileName	=	"Status.acl"
	local File				=	nil
	local sStatus			=	nil
	local nStatusType		=	nil
	if fs.exists(sStatusFileName) then
		File		=	fs.open(sStatusFileName,"r")
		sStatus		=	File.readLine()
		nStatusType	=	tonumber(ArcUtilities.StringExtract(sStatus,1,";"))
		File.close()
		if nStatusType == 1 or nStatusType == 2 then shell.run("ArcChunkLoading.lua") end
	end
end

local function OpenMenu()
	local nKey		=	nil
	while true do
		ArcTerm.Reset()
		ArcTerm.Write(1,1,"<============ ARC TURTLES ============>")
		ArcTerm.Write(1,3,"-- Programs --")
		ArcTerm.Write(1,4,"- 1 | Vertical mining")
		ArcTerm.Write(1,5,"- 2 | Chunk loading")
		ArcTerm.Write(1,6,"- 3 | Inventory Ids")
		ArcTerm.Write(1,8,"- 4 | Reboot")
		ArcTerm.Write(1,9,"- 5 | Update")
		ArcTerm.Write(1,10,"- 6 | Shutdown")
		nKey = ArcUtilities.KeyToNumber(ArcTerm.ReadKey())
		if nKey == 1 then
			shell.run("ArcVerticalMining.lua")
		elseif nKey == 2 then
			shell.run("ArcChunkLoading.lua")
		elseif nKey == 3 then
			shell.run("ArcInventoryIds.lua")
		elseif nKey == 4 then
			os.reboot()
		elseif nKey == 5 then
			fs.delete("startup.lua")
			shell.run("pastebin","get wDVRJDDZ \"startup.lua\"")
			os.reboot()
		elseif nKey == 6 then
			os.shutdown()
		end
	end
end

CheckForVerticalMining()
CheckForChunkLoading()
OpenMenu()