Advertisement
StarBunnie

Untitled

Jun 11th, 2021 (edited)
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.07 KB | None | 0 0
  1. options:
  2. #Title that is displayed in chat
  3. title: <##ff85a2>Homes &8|
  4. #Name of the GUI
  5. guititle: <##ff85a2>Homes
  6. #Main color for chat highlights
  7. c1: <##ff85a2>
  8. #Color of beds and decorative glass | Only use 1 of the 16 basic colors
  9. guicolor: pink
  10. #Message that is shown in the GUI if someone doesn't have the permission for the home
  11. nopermgui: <##640000>&oNo perms..
  12. #Where should messages be displayed? | actionbar or chat
  13. messages: actionbar
  14.  
  15. command /home [<text>]:
  16. aliases: homes
  17. trigger:
  18. if arg 1 is not set:
  19. homeGUI(player)
  20. else:
  21. if {homes::%player's uuid%::home%arg 1%::location} is set:
  22. teleport player to {homes::%player's uuid%::home%arg 1%::location}
  23. if "{@messages}" = "chat":
  24. send "{@title} &7You've been teleported to home &f##{@c1}%arg 1%&7."
  25. else if "{@messages}" = "actionbar":
  26. send action bar "{@title} &7You've been teleported to home &f##{@c1}%arg 1%&7." to player
  27. else:
  28. if "{@messages}" = "chat":
  29. send "{@title} &7Seems like you haven't set that home yet."
  30. else if "{@messages}" = "actionbar":
  31. send action bar "{@title} &7Seems like you haven't set that home yet." to player
  32.  
  33. function homeGUI(p: player):
  34. set {_pid} to uuid of {_p}
  35. set metadata tag "homeGUI" of {_p} to chest inventory with 5 rows named "{@guititle}"
  36. set slot integers between 0 and 8 and integers between 36 and 45 of metadata tag "homeGUI" of {_p} to {@guicolor} stained glass pane named " "
  37. add integers between 10 and 34 to {_slots::*}
  38. remove 17, 18, 26 and 27 from {_slots::*}
  39. loop {_slots::*}:
  40. loop-value > 9:
  41. set {_minus} to -9
  42. set {_row} to 1
  43. loop-value > 18:
  44. set {_minus} to -11
  45. set {_row} to 2
  46. loop-value > 27:
  47. set {_minus} to -13
  48. set {_row} to 3
  49. set {_num} to (loop-value + {_minus})
  50. if {homes::%{_pid}%::home%{_num}%::location} is not set:
  51. set {_color} to "gray"
  52. set {_c3} to "&8"
  53. set {_action1} to ""
  54. set {_action2} to "&7○ %{_c3}%&oLeft click &7to place home"
  55. if {_p} has permission "home.set.%{_num}%" or "home.set.row.%{_row}%" or "home.set.all":
  56. set {_action3} to ""
  57. else:
  58. set {_action3} to "{@nopermgui}"
  59. set {_desc} to "-"
  60. else:
  61. set {_color} to {@guicolor}
  62. set {_c3} to "{@c1}"
  63. set {_action1} to "&7○ %{_c3}%&oLeft click &7to teleport"
  64. set {_action2} to "&7○ %{_c3}%&oMiddle click &7to edit description"
  65. set {_action3} to "&7○ %{_c3}%&oRight click &7to delete"
  66. set {_desc} to "%{homes::%{_pid}%::home%{_num}%::desc}%"
  67. set {_item} to "%{_color}% bed" parsed as item type
  68. set slot loop-value of metadata tag "homeGUI" of {_p} to {_item} named "&7Home &f##%{_c3}%%{_num}%" with lore " ", "&7Description: &f%{_desc}%", "", "%{_action1}%", "%{_action2}%" and "%{_action3}%"
  69. open (metadata tag "homeGUI" of {_p}) to {_p}
  70.  
  71. on inventory click:
  72. if name of player's current inventory = "{@guititle}":
  73. cancel event
  74. add integers between 10 and 34 to {_slots::*}
  75. remove 17, 18, 26 and 27 from {_slots::*}
  76. if {_slots::*} contains index of event-slot:
  77. index of event-slot > 9:
  78. set {_minus} to -9
  79. set {_row} to 1
  80. index of event-slot > 18:
  81. set {_minus} to -11
  82. set {_row} to 2
  83. index of event-slot > 27:
  84. set {_minus} to -13
  85. set {_row} to 3
  86. set {_num} to index of event-slot + {_minus}
  87. if event-click type = left mouse button:
  88. if {homes::%player's uuid%::home%{_num}%::location} is not set:
  89. player has permission "home.set.%{_num}%" or "home.set.row.%{_row}%" or "home.set.all":
  90. set {homes::%player's uuid%::home%{_num}%::location} to location of player
  91. set {homes::%player's uuid%::home%{_num}%::desc} to "-"
  92. if "{@messages}" = "chat":
  93. send "{@title} &7You set home &f##{@c1}%{_num}% &7to your current location."
  94. else if "{@messages}" = "actionbar":
  95. send action bar "{@title} &7You set home &f##{@c1}%{_num}% &7to your current location." to player
  96. homeGUI(player)
  97. else:
  98. if "{@messages}" = "chat":
  99. send "{@title} &7Seems like you don't have the required permission for home &f##{@c1}%{_num}%&7."
  100. else if "{@messages}" = "actionbar":
  101. send action bar "{@title} &7Seems like you don't have the required permission for home &f##{@c1}%{_num}%&7." to player
  102. else:
  103. teleport player to {homes::%player's uuid%::home%{_num}%::location}
  104. if "{@messages}" = "chat":
  105. send "{@title} &7You've been teleported to home &f##{@c1}%{_num}%&7."
  106. else if "{@messages}" = "actionbar":
  107. send action bar "{@title} &7You've been teleported to home &f##{@c1}%{_num}%&7." to player
  108. else if event-click type = right mouse button:
  109. if {homes::%player's uuid%::home%{_num}%::location} is set:
  110. delete {homes::%player's uuid%::home%{_num}%::location}
  111. delete {homes::%player's uuid%::home%{_num}%::desc}
  112. if "{@messages}" = "chat":
  113. send "{@title} &7Home &f##{@c1}%{_num}% &7has been &cdeleted&7."
  114. else if "{@messages}" = "actionbar":
  115. send action bar "{@title} &7Home &f##{@c1}%{_num}% &7has been &cdeleted&7." to player
  116. homeGUI(player)
  117. else if event-click type = middle mouse button:
  118. if {homes::%player's uuid%::home%{_num}%::location} is set:
  119. set {homes::%player's uuid%::settingdesc::status} to true
  120. set {homes::%player's uuid%::settingdesc::num} to {_num}
  121. if "{@messages}" = "chat":
  122. send "{@title} &7Please write the description you want: &8&o(punch to cancel)"
  123. else if "{@messages}" = "actionbar":
  124. send action bar "{@title} &7Please write the description you want: &f&o(punch to cancel)" to player
  125. close player's inventory
  126.  
  127. on chat:
  128. if {homes::%player's uuid%::settingdesc::status} is true:
  129. cancel event
  130. set {homes::%player's uuid%::home%{homes::%player's uuid%::settingdesc::num}%::desc} to colored message
  131. homeGUI(player)
  132. if "{@messages}" = "chat":
  133. send "{@title} &7Description of home &f##{@c1}%{homes::%player's uuid%::settingdesc::num}% &7has been set to:"
  134. send "{@title} &f%colored message%"
  135. else if "{@messages}" = "actionbar":
  136. send action bar "{@title} &7Description of home &f##{@c1}%{homes::%player's uuid%::settingdesc::num}% &7has been set to:" to player
  137. wait 1.5 seconds
  138. send action bar "{@title} &f%colored message%" to player
  139. delete {homes::%player's uuid%::settingdesc::status}
  140. delete {homes::%player's uuid%::settingdesc::num}
  141.  
  142. on leftclick:
  143. if {homes::%player's uuid%::settingdesc::status} is true:
  144. cancel event
  145. if "{@messages}" = "chat":
  146. send "{@title} &7Editing description of home &f##{@c1}%{homes::%player's uuid%::settingdesc::num}% &7has been cancelled."
  147. else if "{@messages}" = "actionbar":
  148. send action bar "{@title} &7Editing description of home &f##{@c1}%{homes::%player's uuid%::settingdesc::num}% &7has been cancelled." to player
  149. delete {homes::%player's uuid%::settingdesc::status}
  150. delete {homes::%player's uuid%::settingdesc::num}
  151. homeGUI(player)
  152.  
  153. on quit:
  154. if {homes::%player's uuid%::settingdesc::status} is true:
  155. delete {homes::%player's uuid%::settingdesc::status}
  156. delete {homes::%player's uuid%::settingdesc::num}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement