SHOW:
|
|
- or go back to the newest paste.
| 1 | tArgs = {...}
| |
| 2 | ||
| 3 | local currentLevel = 0 | |
| 4 | local build = false | |
| 5 | local currentSlot = 1 | |
| 6 | - | local length = 1 |
| 6 | + | local size = 1 |
| 7 | - | local width = 1 |
| 7 | + | |
| 8 | function isEmpty(slot) | |
| 9 | if turtle.getItemCount(slot) > 0 then | |
| 10 | - | if turtle.getCount(slot) > 0 then |
| 10 | + | |
| 11 | else | |
| 12 | return true | |
| 13 | end | |
| 14 | end | |
| 15 | ||
| 16 | function nextSlot() | |
| 17 | currentSlot = currentSlot + 1 | |
| 18 | turtle.select(currentSlot) | |
| 19 | end | |
| 20 | ||
| 21 | function buildColumn() | |
| 22 | while turtle.detectDown() == false do | |
| 23 | - | while turtle.detectDown() == false do |
| 23 | + | turtle.down() |
| 24 | - | turtle.down() |
| 24 | + | currentLevel = currentLevel + 1 |
| 25 | - | currentLevel = currentLevel + 1 |
| 25 | + | |
| 26 | ||
| 27 | if turtle.detectDown() == true then | |
| 28 | - | if turtle.detectDown() == true then |
| 28 | + | for i = 1, currentLevel do |
| 29 | - | for i = 1, currentLevel do |
| 29 | + | if isEmpty(currentSlot) == false then |
| 30 | - | if isEmpty(currentSlot) == false |
| 30 | + | turtle.up() |
| 31 | - | turtle.up() |
| 31 | + | turtle.placeDown() |
| 32 | - | turtle.placeDown() |
| 32 | + | else |
| 33 | - | else |
| 33 | + | nextSlot() |
| 34 | - | nextSlot() |
| 34 | + | i = i - 1 |
| 35 | - | i = i - 1 |
| 35 | + | |
| 36 | - | end |
| 36 | + | |
| 37 | - | end |
| 37 | + | |
| 38 | currentLevel = 0 | |
| 39 | end | |
| 40 | ||
| 41 | function buildTwoByTwo() | |
| 42 | buildColumn() | |
| 43 | turtle.forward() | |
| 44 | buildColumn() | |
| 45 | - | if tArgs[2] == nil then |
| 45 | + | turtle.turnLeft() |
| 46 | turtle.forward() | |
| 47 | buildColumn() | |
| 48 | turtle.turnLeft() | |
| 49 | - | print("column length width")
|
| 49 | + | turtle.forward() |
| 50 | - | build = false |
| 50 | + | buildColumn() |
| 51 | turtle.turnLeft() | |
| 52 | - | print("Building a "..tArgs[1].."x"..tArgs[2].." column")
|
| 52 | + | turtle.forward() |
| 53 | print("DONE")
| |
| 54 | end | |
| 55 | ||
| 56 | function buildThreeByThree() | |
| 57 | buildColumn() | |
| 58 | turtle.forward() | |
| 59 | buildColumn() | |
| 60 | - | if length > 1 then |
| 60 | + | turtle.forward() |
| 61 | - | for i = 1, length do |
| 61 | + | |
| 62 | - | if width > 1 then |
| 62 | + | turtle.turnLeft() |
| 63 | - | turtle.turnLeft() |
| 63 | + | turtle.forward() |
| 64 | - | for i = 1, width do |
| 64 | + | turtle.buildColumn() |
| 65 | - | turtle.forward() |
| 65 | + | turtle.turnLeft() |
| 66 | - | buildColumn() |
| 66 | + | turtle.forward() |
| 67 | - | currentLevel = 0 |
| 67 | + | |
| 68 | - | for i = 1, width do |
| 68 | + | turtle.forward() |
| 69 | - | turtle.back() |
| 69 | + | |
| 70 | - | end |
| 70 | + | turtle.turnRight() |
| 71 | - | end |
| 71 | + | turtle.forward() |
| 72 | - | turtle.turnRight() |
| 72 | + | |
| 73 | turtle.turnRight() | |
| 74 | - | turtle.forward() |
| 74 | + | turtle.forward() |
| 75 | - | buildColumn() |
| 75 | + | |
| 76 | - | currentLevel = 0 |
| 76 | + | turtle.forward() |
| 77 | buildColumn() | |
| 78 | - | for i = 1, length do |
| 78 | + | turtle.turnRight() |
| 79 | - | turtle.back() |
| 79 | + | turtle.turnRight() |
| 80 | turtle.forward() | |
| 81 | turtle.forward() | |
| 82 | turtle.forward() | |
| 83 | end | |
| 84 | ||
| 85 | function buildFourByFour() | |
| 86 | -- | |
| 87 | end | |
| 88 | ||
| 89 | if tArgs[1] == nil then | |
| 90 | print("Building a 1 x 1 column")
| |
| 91 | build = true | |
| 92 | else | |
| 93 | if tArgs[2] == "2" or tArgs[2] == "3" or tArgs[2] == "4" then | |
| 94 | build = true | |
| 95 | size = tonumber(tArgs[1]) | |
| 96 | else | |
| 97 | print("Invalid Usage.")
| |
| 98 | print("Usage:")
| |
| 99 | print("column")
| |
| 100 | print("column size")
| |
| 101 | print(" ")
| |
| 102 | print("Valid column sizes: (2) = 2 x 2, (3) = 3 x 3, (4) = 4 x 4")
| |
| 103 | end | |
| 104 | end | |
| 105 | ||
| 106 | if build == true then | |
| 107 | if size == 1 then | |
| 108 | buildColumn() | |
| 109 | print("DONE")
| |
| 110 | elseif size == 2 then | |
| 111 | buildTwoByTwo() | |
| 112 | elseif size == 3 then | |
| 113 | buildThreeByThree() | |
| 114 | elseif size == 4 then | |
| 115 | buildFourByFour() | |
| 116 | end | |
| 117 | end |