Hiranus icon

CC plant farmer

Hiranus | PRO | 03/22/19 12:35:23 PM UTC | 0 ⭐ | 324 👁️ | Never ⏰ | []
Lua |

1.78 KB

|

None

|

0 👍

/

0 👎

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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎