Advertisement
Doob

[ComputerCraft] CannonBuilder/Remover

May 24th, 2015
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.20 KB | None | 0 0
  1. --mc 1710, cc 173
  2. local function body(place)
  3.   function inverter()
  4.     if place == true then
  5.       turtle.place()
  6.     elseif place == false then
  7.       turtle.dig()
  8.     end
  9.   end
  10.  
  11.   function sleeve()
  12.     turtle.turnRight()
  13.     inverter()
  14.     shell.run('go left 2')
  15.     inverter()
  16.     if place == true then
  17.       turtle.placeDown()
  18.     elseif place == false then
  19.       turtle.digDown()
  20.     end
  21.     turtle.turnRight()
  22.   end
  23.  
  24.   sleeve()
  25.   turtle.back()
  26.   sleeve()
  27.   turtle.back()
  28.   sleeve()
  29.   shell.run('go left 2')
  30.   inverter()
  31.   turtle.up()
  32.   turtle.back()
  33.   turtle.up()
  34.   for i = 1, 4 do
  35.     turtle.turnRight()
  36.     inverter()
  37.   end
  38.   shell.run('go left 2')
  39.   turtle.down()
  40.   turtle.forward()
  41.   turtle.turnRight()
  42.   inverter()
  43.   shell.run('go left 2')
  44.   inverter()
  45.   turtle.turnRight()
  46. end
  47.  
  48. local function finder(id, amount)
  49.   for x = 1, 16 do
  50.     if turtle.getItemCount(x) == 0 then
  51.     else
  52.       tItem = turtle.getItemDetail(x)
  53.       if tItem.name == id and tItem.count >= amount then
  54.         turtle.select(x)
  55.         break
  56.       end
  57.     end
  58.   end
  59. end
  60.  
  61. local function buildCannon()
  62.   finder('minecraft:obsidian', 16)
  63.   body(true)
  64.   finder('minecraft:stone_slab', 1)
  65.   turtle.placeDown()
  66.   shell.run('go back 2')
  67.   finder('minecraft:water_bucket', 1)
  68.   turtle.placeDown()
  69.   turtle.forward()
  70. end
  71.  
  72. local function removeCannon()
  73.   turtle.back()
  74.   finder('minecraft:bucket', 1)
  75.   turtle.placeDown()
  76.   shell.run('go forward 2')
  77.   turtle.digDown()
  78.   turtle.down()
  79.   body(false)
  80.   turtle.down()
  81. end
  82.  
  83. local function shot()
  84.   finder('minecraft:tnt', 3)
  85.   turtle.place()
  86.   turtle.placeDown()
  87.   turtle.placeUp()
  88.  
  89.   rs.setOutput('top', true)
  90.   rs.setOutput('bottom', true)
  91.   sleep(0.4)
  92.   rs.setOutput('top', false)
  93.   rs.setOutput('bottom', false)
  94.   sleep(0.1)
  95.   rs.setOutput('front', true)
  96.   sleep(0.1)
  97.   rs.setOutput('front', false)
  98.  
  99.   turtle.back()
  100.   sleep(5)
  101.   turtle.forward()
  102. end
  103.  
  104. function printUsage()
  105.   print('Usage: cannon <build>')
  106.   print('Usage: cannon <remove>')
  107.   print('Usage: cannon <shot>')
  108.   return
  109. end
  110.  
  111. local tArgs = {...}
  112. if tArgs[1] == 'build' then buildCannon()
  113. elseif tArgs[1] == 'remove' then removeCannon()
  114. elseif tArgs[1] == 'shot' then shot()
  115. else printUsage()
  116. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement