Oxalist

Generators

Jul 3rd, 2020 (edited)
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.71 KB | None | 0 0
  1. every 10 seconds:
  2. loop {generators::*}:
  3. if {generatorhopper::%loop-value%} is set:
  4. if block at {generatorhopper::%loop-value%} is not a hopper:
  5. delete {generatorhopper::%loop-value%}
  6. if {generatorstatus::%loop-value%} is true:
  7. if {generatorhopper::%loop-value%} is set:
  8. if inventory of block at {generatorhopper::%loop-value%} doesn't have space for {generatorlevel::%loop-value%} of {generatordrops::%loop-value%}:
  9. set line 4 of {generatorholograms::%loop-value%} to "&cHopper Full"
  10. else if inventory of block at {generatorhopper::%loop-value%} has space for {generatorlevel::%loop-value%} of {generatordrops::%loop-value%}:
  11. add {generatorlevel::%loop-value%} of {generatordrops::%loop-value%} to inventory of block at {generatorhopper::%loop-value%}
  12. delete line 4 of {generatorholograms::%loop-value%}
  13. play 10 happy villager at block at loop-value
  14. else if {generatorhopper::%loop-value%} is not set:
  15. drop {generatorlevel::%loop-value%} of {generatordrops::%loop-value%} at block above block at loop-value without velocity
  16. delete line 4 of {generatorholograms::%loop-value%}
  17. play 10 happy villager at block at loop-value
  18.  
  19. on right click on smoker:
  20. if {generators::*} contains event-location:
  21. cancel event
  22. set {_block} to event-location
  23. open virtual chest inventory with size 4 named "Generator Properties" to player
  24. set {_i} to 0
  25. loop 36 times:
  26. format a gui slot {_i} of player with black stained glass pane named "&7" to do nothing
  27. add 1 to {_i}
  28. if {generatorlevel::%event-location%} is less than or equal to 4:
  29. set {_level} to {generatorlevel::%event-location%} + 1
  30. if {generatorlevel::%event-location%} is 5:
  31. set {_level} to "N/A &7(Max Generator Level)"
  32. format a gui slot 13 of player with smoker named "&6Plasma Generator &8[%{generatorstars::%event-location%}%&8]" with lore "" and "&fSimply place the generator and allow" and "&fit to generate the specified items" and "" and "&dDrops: &d&l%{generatortype::%event-location%}% &d&lFragment" and "&dCurrent Level: &d&l%{generatorlevel::%event-location%}%" and "&dNext Level: &d&l%{_level}%" and "" to do nothing
  33. if {generatorstatus::%{_block}%} is true:
  34. set {_generator} to "&a&lENABLED"
  35. else if {generatorstatus::%{_block}%} is false:
  36. set {_generator} to "&c&lDISABLED"
  37. format a gui slot 20 of player with flower pot named "&6Disable/Enable this generator" with lore "" and "&fClick to toggle this generator to enable" and "&for disable items from being dispensed" and "" and "&fGenerator Status: %{_generator}%" and "" to run:
  38. if {generatorstatus::%{_block}%} is true:
  39. set line 5 of lore of slot 20 of player's current inventory to "&fGenerator Status: &c&lDISABLED"
  40. set line 1 of {generatorholograms::%{_block}%} to "&c%{generatortype::%{_block}%}% &cGenerator"
  41. set {generatorstatus::%{_block}%} to false
  42. else if {generatorstatus::%{_block}%} is false:
  43. set line 5 of lore of slot 20 of player's current inventory to "&fGenerator Status: &a&lENABLED"
  44. set line 1 of {generatorholograms::%{_block}%} to "&a%{generatortype::%{_block}%}% &aGenerator"
  45. set {generatorstatus::%{_block}%} to true
  46. if {generatorhopper::%{_block}%} is set:
  47. set {_hopper} to {generatorhopper::%{_block}%}
  48. else if {generatorhopper::%{_block}%} is not set:
  49. set {_hopper} to "&c&lN/A"
  50. format a gui slot 22 of player with hopper named "&6Attach/Detach a hopper" with lore "" and "&fClick to attach/detach a hopper that" and "&fwill automatically collect the materials" and "" and "&fCurrent Hopper: &a&l%{_hopper}%" and "" to run:
  51. close player's inventory
  52. set {selecthopperblock::%player%} to {_block}
  53. set {block::%player's uuid%} to {generatorhopper::%{_block}%}
  54. if {selecthopper::%player%} is not set:
  55. set {selecthopper::%player%} to true
  56. else if {selecthopper::%player%} is true:
  57. set action bar of player to "&cCancelled hopper allocating setup"
  58. delete {selecthopper::%player%}
  59.  
  60. every second:
  61. loop all players:
  62. if {selecthopper::%loop-player%} is set:
  63. set action bar of loop-player to "&aRight-Click a hopper to apply it to the selected generator"
  64.  
  65. on right click on hopper:
  66. if {selecthopper::%player%} is set:
  67. cancel event
  68. if {generatorhopper::%{selecthopperblock::%player%}%} is event-location:
  69. delete {generatorhopper::%{selecthopperblock::%player%}%}
  70. delete {selecthopper::%player%}
  71. play 5 happy villager at block at event-block
  72. send "&cRemoved the clicked hopper from the generator collector" to player
  73. else if {generatorhopper::%{selecthopperblock::%player%}%} is not event-location:
  74. set {generatorhopper::%{selecthopperblock::%player%}%} to event-location
  75. delete {selecthopper::%player%}
  76. play 5 happy villager at block at event-block
  77. send "&aAdded the clicked hopper to the generator collector" to player
  78.  
  79. on place of cauldron:
  80. if name of player's tool contains "&6Chunk Buster":
  81. add location of event-block to {chunkbusters::*}
  82. create a hologram with lines "&6Chunk Buster" and "&fRight-Click to use" at block above above event-block and store it in {chunkbusterholograms::%event-location%}
  83.  
  84. on break of cauldron:
  85. if {chunkbusters::*} contains event-location:
  86. cancel drops
  87. remove location of event-location from {chunkbusters::*}
  88. delete holo {chunkbusterholograms::%event-location%}
  89. give cauldron named "&6Chunk Buster" with lore "&7## Purchasable & Tradeable ##" and "" and "&fUse this to destroy a chunk" and "&fthis will remove all blocks in the chunk" and "" and "&dUses: &d&lTrading" to player
  90.  
  91. on right click on cauldron:
  92. if {chunkbusters::*} contains event-location:
  93. cancel event
  94. set {_block} to event-block
  95. open virtual hopper inventory named "Chunk Buster" to player
  96. format a gui slot 0 and 1 and 3 and 4 of player with black stained glass pane named "&7" to do nothing
  97. format a gui slot 2 of player with flower pot named "&6Click to clear this chunk" with lore "" and "&fClick to remove all placed blocks in" and "&fthis chunk &cExcluding Special Blocks" and "" and "&dBlocks: &d&l%size of {chunkblocks::%chunk at event-block%::*}%" to run:
  98. close player's inventory
  99. set {_chunk} to chunk at {_block}
  100. set {_loc} to location of {_block}
  101. loop {chunkblocks::%{_chunk}%::*}:
  102. set block at loop-value to air
  103. wait 1 ticks
  104. delete {chunkblocks::%{_chunk}%::*}
  105. set block at {_block} to air
  106. delete holo {chunkbusterholograms::%{_loc}%}
  107. remove {_loc} from {chunkbusters::*}
  108.  
  109. on place:
  110. if event-block is not cauldron or smoker:
  111. if player's gamemode is survival:
  112. add event-location to {chunkblocks::%chunk at event-block%::*}
  113.  
  114. on break:
  115. if event-block is not cauldron or smoker:
  116. remove event-location from {chunkblocks::%chunk at event-block%::*}
Advertisement
Add Comment
Please, Sign In to add comment