SHOW:
|
|
- or go back to the newest paste.
| 1 | --pastebin:VCNreRFK | |
| 2 | --file:tsort | |
| 3 | ||
| 4 | - | t.select(16) |
| 4 | + | |
| 5 | - | local hasItem = t.suckDown() |
| 5 | + | local offset = 0 |
| 6 | local sleepTime = 10 | |
| 7 | - | local offset = 1 |
| 7 | + | |
| 8 | local function dropAt(pos) | |
| 9 | for i = 1, pos + offset do | |
| 10 | - | for i=1,pos+offset do |
| 10 | + | t.forward() |
| 11 | end | |
| 12 | - | end |
| 12 | + | t.select(16) |
| 13 | - | t.dropDown() |
| 13 | + | local dropped = t.dropDown() |
| 14 | - | for i=1,pos+offset do |
| 14 | + | local curCount = t.getItemCount(pos) |
| 15 | if curCount > 1 then | |
| 16 | - | end |
| 16 | + | t.select(pos) |
| 17 | t.dropDown(curCount - 1) | |
| 18 | end | |
| 19 | - | if (hasItem) then |
| 19 | + | for i = 1, pos + offset do |
| 20 | - | for i=1,15 do |
| 20 | + | t.back() |
| 21 | - | if ( t.compareTo(i) ) then |
| 21 | + | |
| 22 | - | dropAt(i) |
| 22 | + | return dropped |
| 23 | - | break |
| 23 | + | |
| 24 | ||
| 25 | - | end |
| 25 | + | local function pickItem() |
| 26 | - | end |
| 26 | + | t.select(16) |
| 27 | local current = t.getItemCount(16) | |
| 28 | if current > 0 then | |
| 29 | return true | |
| 30 | end | |
| 31 | for i = 1, 15 do | |
| 32 | local slotCount = t.getItemCount(i) | |
| 33 | if slotCount > 1 then | |
| 34 | t.select(i) | |
| 35 | t.transferTo(16, slotCount-1) | |
| 36 | return true | |
| 37 | end | |
| 38 | end | |
| 39 | return t.suckDown() | |
| 40 | end | |
| 41 | ||
| 42 | local function sortItem() | |
| 43 | print("Sorting item")
| |
| 44 | local matchFound = false | |
| 45 | local dropped = false | |
| 46 | for i = 1, 15 do | |
| 47 | if (t.compareTo(i)) then | |
| 48 | matchFound = true | |
| 49 | dropped = dropAt(i) | |
| 50 | break | |
| 51 | end | |
| 52 | end | |
| 53 | if (not matchFound) then | |
| 54 | t.dropUp() | |
| 55 | end | |
| 56 | if (matchFound and not dropped) then | |
| 57 | t.dropUp() | |
| 58 | end | |
| 59 | end | |
| 60 | ||
| 61 | local function detectItems() | |
| 62 | print("Detecting items...")
| |
| 63 | t.turnRight() | |
| 64 | t.forward() | |
| 65 | t.turnLeft() | |
| 66 | t.forward() | |
| 67 | t.down() | |
| 68 | t.down() | |
| 69 | t.turnLeft() | |
| 70 | t.forward() | |
| 71 | t.turnRight() | |
| 72 | for i = 1, 15 do | |
| 73 | t.select(i) | |
| 74 | if t.getItemCount(i) == 0 then | |
| 75 | t.suckUp() | |
| 76 | end | |
| 77 | if (i < 15) then | |
| 78 | t.forward() | |
| 79 | end | |
| 80 | end | |
| 81 | for i = 1, 14 do | |
| 82 | t.back() | |
| 83 | end | |
| 84 | t.turnRight() | |
| 85 | t.forward() | |
| 86 | t.up() | |
| 87 | t.up() | |
| 88 | t.back() | |
| 89 | t.turnLeft() | |
| 90 | t.back() | |
| 91 | print("Item detection complete.")
| |
| 92 | end | |
| 93 | ||
| 94 | function main() | |
| 95 | detectItems() | |
| 96 | while (true) do | |
| 97 | local hasItem = true | |
| 98 | while (hasItem) do | |
| 99 | local hasItem = pickItem() | |
| 100 | if (hasItem) then | |
| 101 | sortItem() | |
| 102 | end | |
| 103 | end | |
| 104 | sleep(sleepTime) | |
| 105 | end | |
| 106 | end | |
| 107 | ||
| 108 | ||
| 109 | main() |