Created a Full Vertical Circles Module and created a build_pipe app
This commit is contained in:
		
							
								
								
									
										78
									
								
								Modules/fvcircles.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								Modules/fvcircles.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
			
		||||
--[[ Modules for generation or building vertical circles in 
 | 
			
		||||
--various forms which are filled. Good for underwater bases
 | 
			
		||||
--written by TheLux
 | 
			
		||||
--Check https://i.redd.it/swn3e9w8dyc31.jpg to see
 | 
			
		||||
--the references for the numbers]]
 | 
			
		||||
 | 
			
		||||
-- Check if the modules API is present
 | 
			
		||||
-- and load it. We need it
 | 
			
		||||
if not os.loadAPI('modules.lua') then
 | 
			
		||||
  error('Error! modules.lua is missing. Please insert it into turtle.')
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
--initial_full_circle_setup() checks if there is enough
 | 
			
		||||
--material and sets the turtle to the start
 | 
			
		||||
--position and places the first block.
 | 
			
		||||
--Alle circles uses this function
 | 
			
		||||
function initial_full_circle_setup(omaterial, omaterial_count, imaterial, imaterial_count)
 | 
			
		||||
  -- Check if we have enough material
 | 
			
		||||
  if modules.count_inventory(omaterial) < omaterial_count then
 | 
			
		||||
    error('Error! Not enough blocks of ' .. omaterial)
 | 
			
		||||
    return false
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  if modules.count_inventory(imaterial) < imaterial_count then
 | 
			
		||||
    error('Error! Not enough blocks of ' .. imaterial)
 | 
			
		||||
    return false
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  turtle.up()
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
--fvcircle5 builds a vertical 5 by 5 circle 
 | 
			
		||||
--which are filled with another material
 | 
			
		||||
function fvcircle5(omaterial, imaterial)
 | 
			
		||||
  -- Start the initial Setup and place the turtle in
 | 
			
		||||
  -- the right position
 | 
			
		||||
  fvcircles.initial_full_circle_setup(omaterial, 12, imaterial, 9)
 | 
			
		||||
 | 
			
		||||
  -- First Row
 | 
			
		||||
  turtle.turnLeft()
 | 
			
		||||
  turtle.back()
 | 
			
		||||
  turtle.back()
 | 
			
		||||
  for i = 1, 3 do
 | 
			
		||||
    modules.select_and_place_down(omaterial)
 | 
			
		||||
    turtle.forward()
 | 
			
		||||
  end
 | 
			
		||||
  turtle.up()
 | 
			
		||||
  -- Second and Third and Fourth Row
 | 
			
		||||
  for i = 1, 3 do
 | 
			
		||||
    turtle.turnLeft()
 | 
			
		||||
    turtle.turnLeft()
 | 
			
		||||
    modules.select_and_place_down(omaterial)
 | 
			
		||||
    turtle.forward()
 | 
			
		||||
    modules.select_and_place_down(imaterial)
 | 
			
		||||
    turtle.forward()
 | 
			
		||||
    modules.select_and_place_down(imaterial)
 | 
			
		||||
    turtle.forward()
 | 
			
		||||
    modules.select_and_place_down(omaterial)
 | 
			
		||||
    turtle.up()
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  -- Fifth and last row
 | 
			
		||||
  turtle.turnLeft()
 | 
			
		||||
  turtle.turnLeft()
 | 
			
		||||
  for i = 1, 3 do
 | 
			
		||||
    turtle.forward()
 | 
			
		||||
    modules.select_and_place_down(omaterial)
 | 
			
		||||
  end
 | 
			
		||||
  turtle.turnRight()
 | 
			
		||||
  turtle.forward()
 | 
			
		||||
  for i = 1, 5 do
 | 
			
		||||
    turtle.down()
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  print('Done building a filled and vertical 5 by 5 circle')
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user