Advertisement
Guest User

Untitled

a guest
Feb 4th, 2021
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. -- ==========================
  2. -- === Parameter einlesen ===
  3. -- ==========================
  4.  
  5. local tArgs = { ... }
  6.  
  7. if #tArgs ~= 2 then
  8. print( "Usage: wand <breite> <hoehe>" )
  9. print( "Turtle Initialposition: Unten links vor erstem Block" )
  10. return
  11. end
  12.  
  13. local breite = tonumber( tArgs[1] )
  14. local hoehe = tonumber( tArgs[2] )
  15.  
  16. -- =================
  17. -- === Debugging ===
  18. -- =================
  19.  
  20. print( "Baue Wand "..breite.." breit x "..hoehe.." hoch" )
  21.  
  22. -- ==================
  23. -- === Wand bauen ===
  24. -- ==================
  25.  
  26. local aktuellerSlot = 1
  27.  
  28. for x=1,breite do
  29. -- Über die gesamte Länge jeweils einen Block unten platzieren und voranschreiten
  30. -- Ausnahme: Beim letzen Block nach dem Block platzieren nicht voranschreiten
  31. -- um das Gebiet nicht zu verlassen
  32. -- anschließend den ganzen Weg zurücklaufen
  33. for y=1,hoehe do
  34. if not turtle.detect() then
  35.  
  36. -- Via detect() wurde festgestellt dass vor dem Turtle noch kein Block platziert ist
  37. -- Es wird nun zunächst überprüft ob der Turtle noch Items im aktuellen Slot hat
  38. -- Falls nicht wird der nächste Slot gewählt
  39. -- Falls der 17. (also nicht existente) Slot erreicht wird, bricht die gesamte Funktion ab via return
  40. if turtle.getItemCount(aktuellerSlot) == 0 then
  41. aktuellerSlot = aktuellerSlot + 1
  42. if aktuellerSlot > 16 then
  43. return
  44. end
  45. turtle.select(aktuellerSlot)
  46. end
  47.  
  48. if turtle.getItemCount(aktuellerSlot) == 0 then
  49. return
  50. end
  51.  
  52. turtle.place()
  53. end
  54.  
  55. if y ~= hoehe then
  56. turtle.up()
  57. end
  58. end
  59. for y=1,hoehe-1 do
  60. turtle.down()
  61. end
  62.  
  63. -- Sobald zurückgelaufen nach rechts zur nächsten Reihe wechseln
  64. -- Ausnahme: Beim letzten Block nach rechts nicht noch eins weiter nach rechts laufen
  65. -- da sonst das Gebiet verlassen würde
  66. if x ~= breite then
  67. turtle.turnRight()
  68. turtle.forward()
  69. turtle.turnLeft()
  70. end
  71. end
  72. turtle.turnLeft()
  73. for x=1,breite-1 do
  74. turtle.forward()
  75. end
  76. turtle.turnRight()
  77.  
  78. -- Zurückkehren auf Initialposition
  79. turtle.select(1)
  80.  
  81.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement