From fccec77a40e73706e9b754a05b12051424bea2ba Mon Sep 17 00:00:00 2001 From: TheLux83 Date: Mon, 16 Nov 2020 15:19:29 +0100 Subject: [PATCH] added farming builds --- Modules/modules.lua | 65 +++++++++++++++++++++++++++++++++++++++++++++ brickcrafter.lua | 49 ---------------------------------- cobminer.lua | 46 -------------------------------- 3 files changed, 65 insertions(+), 95 deletions(-) delete mode 100644 brickcrafter.lua delete mode 100644 cobminer.lua diff --git a/Modules/modules.lua b/Modules/modules.lua index 1bae75a..c8c0f13 100644 --- a/Modules/modules.lua +++ b/Modules/modules.lua @@ -129,3 +129,68 @@ function build_room(length, width, height) return true end + +-- sweepField() moves acress the rows +-- and columns of an area in front and +-- to the right of the turtle, calling +-- the provided sweepFunc at each space +function sweepField(length, width, sweepFunc) + local turnRightNext = true + + for x = 1, width do + for y = 1, length do + sweepFunc() + + -- don't move forward on the last row + if y ~= width then + turtle.forward() + end + end + + + -- don't turn on the last column + if x ~= width then + -- turn to the next column + if turnRightNext then + turtle.turnRight() + turtle.forward() + turtle.turnRight() + else + turtle.turnLeft() + turtle.forward() + turtle.turnLeft() + end + + turnRightNext = not turnRightNext + end + end + + + -- move back to the start position + if width % 2 == 0 then + turtle.turnRight() + else + for y = 1, length -1 do + turtle.back() + end + turtle.turnLeft() + end + turtle.turnRight() + + return true +end + +--findBlock() spins around searching +--for the named block next to the turtle +function findBlock(name) + local result, block + + for i = 1, 4 do + result, block = turtle.inspect() + if block ~= nil and block['name'] == name then + return true + end + turtle.turnRight() + end + return false +end diff --git a/brickcrafter.lua b/brickcrafter.lua deleted file mode 100644 index 3d3a2a1..0000000 --- a/brickcrafter.lua +++ /dev/null @@ -1,49 +0,0 @@ ---[[Stone Brick Factory program by Al Sweigart -Gets stone from furnace to craft stone bricks, turtle 2 of 2]] - -print('Starting stone brick crafting program') - -local NUM_FURNACES = 5 -local brickCount = 0 -while true do - -- check turtle's fuel - if turtle.getFuelLevel() < (2 * NUM_FURNACES) then - error('Turtle needs more fuel!') - end - - turtle.select(1) -- put stone in slot 1 - - -- start collecting stone from furnaces - for i = 1, NUM_FURNACES do - turtle.suckUp(64 - turtle.getItemCount(1)) -- get stone from furnace - if turtle.getItemCount(1) == 64 then - break -- stop once there are 64 stone blocks - end - if i ~= NUM_FURNACES then - turtle.back() -- move to next furnace - end - end - - -- craft stone bricks - if turtle.getItemCount(1) == 64 then - turtle.transferTo(2, 16) -- put in slot 2 - turtle.transferTo(5, 16) -- put in slot 5 - turtle.transferTo(6, 16) -- put in slot 6 - turtle.select(16) -- stone brick to go in slot 16 - turtle.craft() -- craft stone bricks - brick.Count = brickCount + 64 - print('Total stone bricks: ' .. brickCount) - else - print('Not enough stones yet. Sleeping...') - os.sleep(120) -- wait for 2 minutes - end - - -- move back to chest (by first furnace) - for i = 1, NUM_FURNACES - 1 do - turtle.forward() - end - turtle.turnLeft() -- face chest - turtle.select(16) -- select stone bricks - turtle.drop() -- put stone bricks into chest - turtle.turnRight() -- face generator again -end diff --git a/cobminer.lua b/cobminer.lua deleted file mode 100644 index f578c39..0000000 --- a/cobminer.lua +++ /dev/null @@ -1,46 +0,0 @@ ---[[Stone Brick Factory program by Al Sweigart -Mines cobblestone from a generator, trutle 1 of 2]] - -os.loadAPI('hare') -- load the hare module -local numToDrop -local NUM_FURNACES = 5 - -print('Starting mining program...') -while true do - -- mine cobblestone - if turtle.detect() then - print('Cobblestone detected. Mining...') - turtle.dig() -- Mine cobblestone - else - print('No cobblestone detected. Sleeping...') - os.sleep(0.5) -- half-second pause - end - - -- check for a full stack of cobblestone - hare.selectItem('minecraft:cobblestone') - if turtle.getItemCount() == 64 then - -- check turtle's fuel - if turtle.getFuelLevel() < (2 * NUM_FURNACES) then - error('Turtle needs more fuel!') - end - - -- put cobblestone in furnaces - print('Dropping off cobblestone...') - for furnacesToFill = NUM_FURNACES, 1, -1 do - turtle.back() -- move over furnace - numToDrop = math.floor(turtle.getItemCount() / furnacesToFill) - turtle.dropDown(numToDrop) -- put cobblestone in furnace - end - - -- move back to cobblestone generator - for moves = 1, NUM_FURNACES do - turtle.forward() - end - - if turtle.getItemCount() > 0 then - print('All furnaces full. Sleeping...') - os.sleep(300) -- wait for five minutes - end - end -end -