siso_

custom enchant

Jul 6th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.51 KB | None | 0 0
  1. command /level <number>:
  2. trigger:
  3. set player's level to arg 1
  4.  
  5. on right click on anvil:
  6. block under the event-block is iron block
  7. cancel event
  8. open chest with 5 row named "&6&lEnchant Anvil" to player
  9. set {_enchantslotnum} to -1
  10. loop 45 times:
  11. add 1 to {_enchantslotnum}
  12. if {_enchantslotnum} is 13 or 20 or 24:
  13. continue
  14. set slot {_enchantslotnum} of player's current inventory to gray glass pane named ""
  15.  
  16. on inventory click:
  17. name of player's current inventory contain "Enchant"
  18. send "%clicked type%"
  19. if clicked inventory is player's inventory:
  20. stop
  21. if clicked slot isn't 13 or 20 or 24:
  22. cancel event
  23. stop
  24. if clicked cursor is not air:
  25. clicked slot is 13
  26. cancel event
  27. stop
  28. if clicked inventory is player's inventory:
  29. "%clicked type%" contain "left mouse button with shift"
  30. send "dsadL"
  31. if clicked item is enchanted book:
  32. cancel event
  33. if slot 24 or 20 of player's current inventory is enchanted book:
  34. stop
  35. if slot 24 of player's current inventory is enchanted book:
  36. set slot 20 of player's current inventory to clicked item
  37. if slot 20 of player's current inventory is enchanted book:
  38. set slot 24 of player's current inventory to clicked item
  39. if clicked item is sword or armor or tool:
  40. cancel event
  41. if slot 20 of player's current inventory is set:
  42. stop
  43. wait 1 tick
  44. set slot 20 of player's current inventory to clicked item
  45. stop
  46. if clicked cursor is air:
  47. clicked slot is 13
  48. slot 13 of player's current inventory is set
  49. slot 13 of player's current inventory is not air
  50. slot 20 and 24 of player's current inventory is enchanted book or armor or tool or sword or pickaxe
  51. set {_reqlv::*} to name of slot 40 of player's current inventory split at "&6Cost:&e&l"
  52. if level of player < {_reqlv::2} parsed as number:
  53. send "&cYou don't have enough levels"
  54. sound(player, "entity.villager.no")
  55. close player's inventory
  56. drop slot 20 of player's current inventory at player
  57. drop slot 24 of player's current inventory at player
  58. stop
  59. wait 1 tick
  60. set slot 20 and 24 of player's current inventory to air
  61. remove {_reqlv::2} parsed as number from player's level
  62. sound(player, "block.anvil.use")
  63. stop
  64. if clicked cursor is tool or armor or pickaxe or sword or enchanted book:
  65. clicked slot is 20 or 24
  66. wait 1 tick
  67. slot 24 of player's current inventory is enchanted book
  68. if slot 20 of player's current inventory is tool or pickaxe or armor or sword:
  69. set {ce.tool.%player%} to slot 20 of player's current inventory
  70. set {ce.book.name.%player%} to last length of name of slot 24 of player's current inventory - (length of name of slot 24 of player's current inventory -3) characters of name of slot 24 of player's current inventory
  71. booklv(player)
  72. set slot 40 of player's current inventory to anvil named "&6Cost:&e&l%{ce.book.lv.%player%} * 10%"
  73. set slot 13 of player's current inventory to {ce.tool.%player%}
  74. set {_ce.setlore} to false
  75. set {_ce.same} to subtext of name of slot 24 of player's current inventory from characters 1 to (length of name of slot 24 of player's current inventory - 3)
  76. loop 30 times:
  77. {_ce.setlore} is false
  78. if line loop-number of lore of slot 13 of player's current inventory contain {_ce.same}:
  79. send "&c既にこのエンチャントは付与されています。"
  80. stop
  81. if line loop-number of lore of slot 13 of player's current inventory is not set:
  82. set line loop-number of lore of slot 13 of player's current inventory to "&9%name of slot 24 of player's current inventory%"
  83. set {_ce.setlore} to true
  84. else:
  85. continue
  86. stop
  87. if slot 20 of player's current inventory is enchanted book:
  88. if name of slot 20 of player's current inventory is name of slot 24 of player's current inventory:
  89. set {ce.tool.%player%} to slot 24 of player's current inventory
  90. set {ce.book.name.%player%} to last length of name of slot 24 of player's current inventory - (length of name of slot 24 of player's current inventory -3) characters of name of slot 24 of player's current inventory
  91. set {ce.book.lv.name.%player%} to name of slot 24 of player's current inventory
  92. booklvname(player)
  93. set slot 40 of player's current inventory to anvil named "&6Cost:&e&l%{ce.book.lv.%player%} * 10%"
  94. set slot 13 of player's current inventory to {ce.tool.%player%} named "&f&9%{ce.book.lv.name.%player%}%"
  95. else:
  96. wait 1 tick
  97. set slot 40 of player's current inventory to barrier block named "&cPlease same enchant level"
  98. sound(player, "entity.villager.no")
  99. stop
  100.  
  101. on inventory click:
  102. name of player's current inventory contain "Enchant"
  103. slot 20 and 24 of player's current inventory is sword or tool or armor or pickaxe
  104. clicked cursor is air
  105. clicked slot is 20 or 24
  106. slot 13 of player's current inventory is set
  107. slot 13 of player's current inventory is not air
  108. wait 1 tick
  109. set slot 13 of player's current inventory to air
  110. on inventory close:
  111. inventory name of player's current inventory contain "Anvil"
  112. send "dsa"
  113. slot 13 or 20 or 24 of player's current inventory is set
  114. if slot 13 of player's current inventory is set:
  115. drop slot 20 of player's current inventory at player
  116. drop slot 24 of player's current inventory at player
  117. else:
  118. drop slot 13 of player's current inventory at player
  119. drop slot 20 of player's current inventory at player
  120. drop slot 24 of player's current inventory at player
  121.  
  122. command /setname <text>:
  123. trigger:
  124. set the name of player's held item to "%colored arg 1%"
  125.  
  126. function booklv(p: player):
  127. if {ce.book.name.%{_p}%} contain "VI":
  128. set {ce.book.lv.%{_p}%} to 4
  129. stop
  130. if {ce.book.name.%{_p}%} contain "V":
  131. set {ce.book.lv.%{_p}%} to 5
  132. stop
  133. if {ce.book.name.%{_p}%} contain "III":
  134. set {ce.book.lv.%{_p}%} to 3
  135. stop
  136. if {ce.book.name.%{_p}%} contain "II":
  137. set {ce.book.lv.%{_p}%} to 2
  138. stop
  139. if {ce.book.name.%{_p}%} contain "I":
  140. set {ce.book.lv.%{_p}%} to 1
  141. stop
  142.  
  143. function booklvname(p: player):
  144. if {ce.book.name.%{_p}%} contain "VI":
  145. set {ce.book.lv.%{_p}%} to 4
  146. set {_ce.book.lv.name} to subtext of {ce.book.lv.name.%{_p}%} from characters 1 to (length of {ce.book.lv.name.%{_p}%} - 2)
  147. set {ce.book.lv.name.%{_p}%} to "%{_ce.book.lv.name}%V"
  148. stop
  149. if {ce.book.name.%{_p}%} contain "III":
  150. set {ce.book.lv.%{_p}%} to 3
  151. set {_ce.book.lv.name} to subtext of {ce.book.lv.name.%{_p}%} from characters 1 to (length of {ce.book.lv.name.%{_p}%} - 3)
  152. set {ce.book.lv.name.%{_p}%} to "%{_ce.book.lv.name}%VI"
  153. stop
  154. if {ce.book.name.%{_p}%} contain "II":
  155. set {ce.book.lv.%{_p}%} to 2
  156. set {_ce.book.lv.name} to subtext of {ce.book.lv.name.%{_p}%} from characters 1 to (length of {ce.book.lv.name.%{_p}%} - 2)
  157. set {ce.book.lv.name.%{_p}%} to "%{_ce.book.lv.name}%III"
  158. stop
  159. if {ce.book.name.%{_p}%} contain "I":
  160. set {ce.book.lv.%{_p}%} to 1
  161. set {_ce.book.lv.name} to subtext of {ce.book.lv.name.%{_p}%} from characters 1 to (length of {ce.book.lv.name.%{_p}%} - 1)
  162. set {ce.book.lv.name.%{_p}%} to "%{_ce.book.lv.name}%II"
  163. stop
  164. function sound(p: player, sound: text):
  165. play sound "%{_sound}%" with volume 10 and pitch 1 at {_p} for {_p}
  166.  
  167. on tool change:
  168. if lore of player's tool is not set:
  169. delete {break.drop.%player%}
  170. stop
  171. loop lore of player's tool:
  172. if loop-value contain "Breakdrop":
  173. set {break.drop.%player%} to true
  174. else:
  175. delete {break.drop.%player%}
  176.  
  177. on break of stone:
  178. {break.drop.%player%} is true
  179. drop 2 diamond at event-block
  180.  
  181. command /text <text>:
  182. trigger:
  183. send "%colored arg 1%"
Add Comment
Please, Sign In to add comment