local Orientations = {"north","east","south","west"};
local programData = nil;
local function TurnLeft()
turtle.turnLeft()
programData.Orientation = programData.Orientation - 1;
if programData.Orientation == -1 then
programData.Orientation = 3;
end
end
local function TurnRight()
turtle.turnRight()
programData.Orientation = programData.Orientation + 1;
if programData.Orientation == 4 then
programData.Orientation = 0;
end
end
local function Save()
local file = io.open("programData", "w")
file:write(programData)
file:close()
end
local function Load()
local file = io.open("programData", "r") --open in read mode
programData = file:read()
file:close()
end
local function init()
if fs.exists("programData") then
Load()
else
programData = {};
programData.Orientation = 0;
end
end
local function BreakPlants()
TurnRight();
if turtle.detect() then
turtle.dig();
turtle.suck();
end
TurnLeft()
TurnLeft()
if turtle.detect() then
turtle.dig();
turtle.suck();
end
TurnRight();
end
local function DumpEverything()
for i=1,16 do
turtle.select(i);
turtle.drop();
end
end
local function Refuel()
turtle.select(1);
while turtle.getFuelLevel() < 500 do
turtle.suck();
turtle.refuel();
end
end
local function BlockAction()
local success, data = turtle.inspect();
if data.name == "minecraft:obsidian" then
TurnLeft()
TurnLeft()
elseif data.name == "EnderStorage:EnderStorage" then
DumpEverything();
Refuel();
TurnLeft();
TurnLeft();
else
error("Unknown block in front");
end
end
init();
while true do
BreakPlants()
if turtle.detect() then
BlockAction()
end
turtle.forward()
end
Comments
0 B
|👍
/👎