BrainStone

Untitled

Oct 2nd, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.56 KB | None | 0 0
  1. install {
  2. /scoreboard objectives add MazeVars dummy
  3. /scoreboard players set #State MazeVars 0
  4. start main
  5. }
  6.  
  7. uninstall {
  8. /scoreboard players set #State MazeVars -1
  9. /scoreboard players tag @a[m=1,tag=MazeItems] remove MazeItems
  10. /kill @e[type=ArmorStand,tag=Lab]
  11. stop main
  12. stop generation
  13. }
  14.  
  15. repeat process main {
  16. /kill @e[type=Item] {Item:{id:"minecraft:spawn_egg",tag:{Tags:["Lab"]}}}
  17.  
  18. /clear @a[m=1,tag=!MazeItems] minecraft:spawn_egg -1 2304 {Tags:["Lab"]}
  19. /testfor @p[m=1,tag=!MazeItems]
  20. conditional: /scoreboard players test #State MazeVars 0 *
  21. conditional: /scoreboard players tag @a[m=1,tag=!MazeItems] add MazeItems
  22.  
  23. if: /scoreboard players test #State MazeVars 0 0
  24. then {
  25. /replaceitem entity @a[m=1,tag=MazeItems] slot.hotbar.0 minecraft:spawn_egg 1 0 {EntityTag:{id:"Cow",Silent:1,NoAI:1,DeathLootTable:"Empty",Tags:["Starter"]},display:{Name:"Start Generating Maze"},ench:[{id:0,lvl:0}],HideFlags:1,Tags:["Lab"]}
  26. /replaceitem entity @a[m=1,tag=MazeItems] slot.hotbar.1 minecraft:spawn_egg 1 0 {EntityTag:{id:"Squid",Silent:1,NoAI:1,DeathLootTable:"Empty",Tags:["PathStart"]},display:{Name:"Find Path"},ench:[{id:0,lvl:0}],HideFlags:1,Tags:["Lab","Pathfinding"]}
  27. /replaceitem entity @a[m=1,tag=MazeItems] slot.hotbar.2 minecraft:spawn_egg 1 0 {EntityTag:{id:"Sheep",Silent:1,NoAI:1,DeathLootTable:"Empty",Tags:["Raiser11"]},display:{Name:"Raise 11x11"},ench:[{id:0,lvl:0}],HideFlags:1,Tags:["Lab","Raising"]}
  28. /replaceitem entity @a[m=1,tag=MazeItems] slot.hotbar.3 minecraft:spawn_egg 1 0 {EntityTag:{id:"Pig",Silent:1,NoAI:1,DeathLootTable:"Empty",Tags:["Raiser23"]},display:{Name:"Raise 23x23"},ench:[{id:0,lvl:0}],HideFlags:1,Tags:["Lab","Raising"]}
  29. }
  30.  
  31. if: /scoreboard players test #State MazeVars 1 1
  32. then {
  33. /replaceitem entity @a[m=1,tag=MazeItems] slot.hotbar.0 minecraft:spawn_egg 1 0 {EntityTag:{id:"MushroomCow",Silent:1,NoAI:1,DeathLootTable:"Empty",Tags:["Stopper"]},display:{Name:"Abort Generating Maze"},ench:[{id:0,lvl:0}],HideFlags:1,Tags:["Lab"]}
  34. }
  35.  
  36. if: /kill @e[type=MushroomCow,tag=Stopper]
  37. then {
  38. /kill @e[type=ArmorStand,tag=Lab]
  39. /tellraw @a {"text":"Generation aborted!","color":"dark_red","bold":"true"}
  40. }
  41.  
  42. /kill @e[type=Squid,tag=PathStart]
  43. conditional: start pathfinding
  44.  
  45. /execute @e[type=Sheep,tag=Raiser11] ~-5 ~-2 ~-5 clone ~ ~ ~ ~10 ~1 ~10 ~ ~2 ~
  46. conditional: /kill @e[type=Sheep,tag=Raiser11]
  47. /execute @e[type=Pig,tag=Raiser23] ~-11 ~-2 ~-11 clone ~ ~ ~ ~22 ~1 ~22 ~ ~2 ~
  48. conditional: /kill @e[type=Pig,tag=Raiser23]
  49.  
  50. if: /execute @e[type=Cow,tag=Starter] ~ ~-2 ~ summon ArmorStand ~ ~ ~ {NoGravity:1,Invisible:1,Marker:1,Tags:["Marker","Lab"]}
  51. then {
  52. /kill @e[type=Cow,tag=Starter]
  53. /tellraw @a {"text":"Started generating maze...","color":"yellow","bold":"true","extra":[{"text":"\nPlease wait!","color":"dark_red"}]}
  54. /execute @a ~ ~ ~ playsound minecraft:entity.villager.ambient master @p ~ ~ ~
  55. /scoreboard players set #State MazeVars 1
  56. /scoreboard players tag @a[m=1,tag=MazeItems] remove MazeItems
  57. start generation
  58. }
  59. }
  60.  
  61. repeat process generation {
  62. /execute @e[type=ArmorStand,tag=Marker] ~ ~ ~ summon ArmorStand ~2 ~ ~ {NoGravity:1,Invisible:1,Tags:["Tester","PosX","Lab"]}
  63. /execute @e[type=ArmorStand,tag=Marker] ~ ~ ~ summon ArmorStand ~ ~ ~2 {NoGravity:1,Invisible:1,Tags:["Tester","PosZ","Lab"]}
  64. /execute @e[type=ArmorStand,tag=Marker] ~ ~ ~ summon ArmorStand ~-2 ~ ~ {NoGravity:1,Invisible:1,Tags:["Tester","NegX","Lab"]}
  65. /execute @e[type=ArmorStand,tag=Marker] ~ ~ ~ summon ArmorStand ~ ~ ~-2 {NoGravity:1,Invisible:1,Tags:["Tester","NegZ","Lab"]}
  66.  
  67. /execute @e[type=ArmorStand,tag=Tester] ~ ~ ~ detect ~ ~ ~ minecraft:air 0 kill @e[type=ArmorStand,tag=Tester,r=0,c=1]
  68.  
  69. /scoreboard players tag @r[type=ArmorStand,tag=Tester] add Goal
  70. conditional: /scoreboard players tag @e[type=ArmorStand,tag=Goal] remove Tester
  71. conditional: /scoreboard players tag @e[type=ArmorStand,tag=Marker] add Safe
  72.  
  73. /execute @e[type=ArmorStand,tag=Marker] ~ ~ ~ kill @e[type=ArmorStand,tag=!Safe,c=1,r=1]
  74. conditional: /scoreboard players tag @r[type=ArmorStand,tag=Lab] add Next
  75.  
  76. /scoreboard players tag @e[type=ArmorStand,tag=Safe] remove Safe
  77. /kill @e[type=ArmorStand,tag=Tester]
  78.  
  79. // Destroy in PosX
  80. /execute @e[type=ArmorStand,tag=Goal,tag=PosX] ~ ~ ~ setblock ~-2 ~1 ~ minecraft:air 0 destroy
  81. /execute @e[type=ArmorStand,tag=Goal,tag=PosX] ~ ~ ~ setblock ~-2 ~ ~ minecraft:air 0 destroy
  82. /execute @e[type=ArmorStand,tag=Goal,tag=PosX] ~ ~ ~ setblock ~-1 ~1 ~ minecraft:air 0 destroy
  83. /execute @e[type=ArmorStand,tag=Goal,tag=PosX] ~ ~ ~ setblock ~-1 ~ ~ minecraft:air 0 destroy
  84. /execute @e[type=ArmorStand,tag=Goal,tag=PosX] ~ ~ ~ setblock ~ ~1 ~ minecraft:air 0 destroy
  85. /execute @e[type=ArmorStand,tag=Goal,tag=PosX] ~ ~ ~ setblock ~ ~ ~ minecraft:air 0 destroy
  86. /execute @e[type=ArmorStand,tag=Goal,tag=PosX] ~-3 ~ ~-1 kill @e[type=Item,dx=5,dy=3,dz=3]
  87.  
  88. // Destroy in PosZ
  89. /execute @e[type=ArmorStand,tag=Goal,tag=PosZ] ~ ~ ~ setblock ~ ~1 ~-2 minecraft:air 0 destroy
  90. /execute @e[type=ArmorStand,tag=Goal,tag=PosZ] ~ ~ ~ setblock ~ ~ ~-2 minecraft:air 0 destroy
  91. /execute @e[type=ArmorStand,tag=Goal,tag=PosZ] ~ ~ ~ setblock ~ ~1 ~-1 minecraft:air 0 destroy
  92. /execute @e[type=ArmorStand,tag=Goal,tag=PosZ] ~ ~ ~ setblock ~ ~ ~-1 minecraft:air 0 destroy
  93. /execute @e[type=ArmorStand,tag=Goal,tag=PosZ] ~ ~ ~ setblock ~ ~1 ~ minecraft:air 0 destroy
  94. /execute @e[type=ArmorStand,tag=Goal,tag=PosZ] ~ ~ ~ setblock ~ ~ ~ minecraft:air 0 destroy
  95. /execute @e[type=ArmorStand,tag=Goal,tag=PosZ] ~-1 ~ ~-3 kill @e[type=Item,dx=3,dy=3,dz=5]
  96.  
  97. // Destroy in NegX
  98. /execute @e[type=ArmorStand,tag=Goal,tag=NegX] ~ ~ ~ setblock ~2 ~1 ~ minecraft:air 0 destroy
  99. /execute @e[type=ArmorStand,tag=Goal,tag=NegX] ~ ~ ~ setblock ~2 ~ ~ minecraft:air 0 destroy
  100. /execute @e[type=ArmorStand,tag=Goal,tag=NegX] ~ ~ ~ setblock ~1 ~1 ~ minecraft:air 0 destroy
  101. /execute @e[type=ArmorStand,tag=Goal,tag=NegX] ~ ~ ~ setblock ~1 ~ ~ minecraft:air 0 destroy
  102. /execute @e[type=ArmorStand,tag=Goal,tag=NegX] ~ ~ ~ setblock ~ ~1 ~ minecraft:air 0 destroy
  103. /execute @e[type=ArmorStand,tag=Goal,tag=NegX] ~ ~ ~ setblock ~ ~ ~ minecraft:air 0 destroy
  104. /execute @e[type=ArmorStand,tag=Goal,tag=NegX] ~-1 ~ ~-1 kill @e[type=Item,dx=5,dy=3,dz=3]
  105.  
  106. // Destroy in NegZ
  107. /execute @e[type=ArmorStand,tag=Goal,tag=NegZ] ~ ~ ~ setblock ~ ~1 ~2 minecraft:air 0 destroy
  108. /execute @e[type=ArmorStand,tag=Goal,tag=NegZ] ~ ~ ~ setblock ~ ~ ~2 minecraft:air 0 destroy
  109. /execute @e[type=ArmorStand,tag=Goal,tag=NegZ] ~ ~ ~ setblock ~ ~1 ~1 minecraft:air 0 destroy
  110. /execute @e[type=ArmorStand,tag=Goal,tag=NegZ] ~ ~ ~ setblock ~ ~ ~1 minecraft:air 0 destroy
  111. /execute @e[type=ArmorStand,tag=Goal,tag=NegZ] ~ ~ ~ setblock ~ ~1 ~ minecraft:air 0 destroy
  112. /execute @e[type=ArmorStand,tag=Goal,tag=NegZ] ~ ~ ~ setblock ~ ~ ~ minecraft:air 0 destroy
  113. /execute @e[type=ArmorStand,tag=Goal,tag=NegZ] ~-1 ~ ~-1 kill @e[type=Item,dx=3,dy=3,dz=5]
  114.  
  115. /scoreboard players tag @e[type=ArmorStand,tag=Marker] remove Marker
  116. /scoreboard players tag @e[type=ArmorStand,tag=Goal] add Marker
  117. /scoreboard players tag @e[type=ArmorStand,tag=Marker] remove Goal
  118.  
  119. /scoreboard players tag @e[type=ArmorStand,tag=Next] add Marker
  120. /scoreboard players tag @e[type=ArmorStand,tag=Marker] remove Next
  121.  
  122. // Delete all armor stands that have all surrounding fields cleared
  123. /scoreboard players tag @e[type=ArmorStand,tag=Marker] remove Lab
  124. /execute @e[type=ArmorStand,tag=Marker] ~-2 ~ ~-2 execute @e[type=ArmorStand,tag=Lab,dx=4,dy=0,dz=4] ~ ~ ~ detect ~2 ~ ~ minecraft:air 0 execute @e[type=ArmorStand,tag=Lab,dx=0,dy=0,dz=0,c=1] ~ ~ ~ detect ~ ~ ~2 minecraft:air 0 execute @e[type=ArmorStand,tag=Lab,dx=0,dy=0,dz=0,c=1] ~ ~ ~ detect ~-2 ~ ~ minecraft:air 0 execute @e[type=ArmorStand,tag=Lab,dx=0,dy=0,dz=0,c=1] ~ ~ ~ detect ~ ~ ~-2 minecraft:air 0 kill @e[type=ArmorStand,tag=Lab,dx=0,dy=0,dz=0,c=1]
  125. /scoreboard players tag @e[type=ArmorStand,tag=Marker] add Lab
  126.  
  127. if not: /testfor @e[type=ArmorStand,tag=Lab]
  128. then {
  129. if: /scoreboard players test #State MazeVars 1 1
  130. then {
  131. /tellraw @a {"text":"Maze finished generating!","color":"dark_green","bold":"true"}
  132. /execute @a ~ ~ ~ playsound minecraft:entity.villager.yes master @p ~ ~ ~
  133. /scoreboard players set #State MazeVars 0
  134. /scoreboard players tag @a[m=1,tag=MazeItems] remove MazeItems
  135. stop generation
  136. }
  137. }
  138. }
  139.  
  140. process pathfinding {
  141. /tellraw @a {"text":"Not available yet!","color":"dark_red","bold":"true"}
  142. /execute @a ~ ~ ~ playsound minecraft:entity.villager.no master @p ~ ~ ~
  143. }
Advertisement
Add Comment
Please, Sign In to add comment