Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- options:
- #Title that is displayed in chat
- title: <##ff85a2>Homes &8|
- #Name of the GUI
- guititle: <##ff85a2>Homes
- #Main color for chat highlights
- c1: <##ff85a2>
- #Color of beds and decorative glass | Only use 1 of the 16 basic colors
- guicolor: pink
- #Message that is shown in the GUI if someone doesn't have the permission for the home
- nopermgui: <##640000>&oNo perms..
- #Where should messages be displayed? | actionbar or chat
- messages: actionbar
- command /home [<text>]:
- aliases: homes
- trigger:
- if arg 1 is not set:
- homeGUI(player)
- else:
- if {homes::%player's uuid%::home%arg 1%::location} is set:
- teleport player to {homes::%player's uuid%::home%arg 1%::location}
- if "{@messages}" = "chat":
- send "{@title} &7You've been teleported to home &f##{@c1}%arg 1%&7."
- else if "{@messages}" = "actionbar":
- send action bar "{@title} &7You've been teleported to home &f##{@c1}%arg 1%&7." to player
- else:
- if "{@messages}" = "chat":
- send "{@title} &7Seems like you haven't set that home yet."
- else if "{@messages}" = "actionbar":
- send action bar "{@title} &7Seems like you haven't set that home yet." to player
- function homeGUI(p: player):
- set {_pid} to uuid of {_p}
- set metadata tag "homeGUI" of {_p} to chest inventory with 5 rows named "{@guititle}"
- 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 " "
- add integers between 10 and 34 to {_slots::*}
- remove 17, 18, 26 and 27 from {_slots::*}
- loop {_slots::*}:
- loop-value > 9:
- set {_minus} to -9
- set {_row} to 1
- loop-value > 18:
- set {_minus} to -11
- set {_row} to 2
- loop-value > 27:
- set {_minus} to -13
- set {_row} to 3
- set {_num} to (loop-value + {_minus})
- if {homes::%{_pid}%::home%{_num}%::location} is not set:
- set {_color} to "gray"
- set {_c3} to "&8"
- set {_action1} to ""
- set {_action2} to "&7○ %{_c3}%&oLeft click &7to place home"
- if {_p} has permission "home.set.%{_num}%" or "home.set.row.%{_row}%" or "home.set.all":
- set {_action3} to ""
- else:
- set {_action3} to "{@nopermgui}"
- set {_desc} to "-"
- else:
- set {_color} to {@guicolor}
- set {_c3} to "{@c1}"
- set {_action1} to "&7○ %{_c3}%&oLeft click &7to teleport"
- set {_action2} to "&7○ %{_c3}%&oMiddle click &7to edit description"
- set {_action3} to "&7○ %{_c3}%&oRight click &7to delete"
- set {_desc} to "%{homes::%{_pid}%::home%{_num}%::desc}%"
- set {_item} to "%{_color}% bed" parsed as item type
- 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}%"
- open (metadata tag "homeGUI" of {_p}) to {_p}
- on inventory click:
- if name of player's current inventory = "{@guititle}":
- cancel event
- add integers between 10 and 34 to {_slots::*}
- remove 17, 18, 26 and 27 from {_slots::*}
- if {_slots::*} contains index of event-slot:
- index of event-slot > 9:
- set {_minus} to -9
- set {_row} to 1
- index of event-slot > 18:
- set {_minus} to -11
- set {_row} to 2
- index of event-slot > 27:
- set {_minus} to -13
- set {_row} to 3
- set {_num} to index of event-slot + {_minus}
- if event-click type = left mouse button:
- if {homes::%player's uuid%::home%{_num}%::location} is not set:
- player has permission "home.set.%{_num}%" or "home.set.row.%{_row}%" or "home.set.all":
- set {homes::%player's uuid%::home%{_num}%::location} to location of player
- set {homes::%player's uuid%::home%{_num}%::desc} to "-"
- if "{@messages}" = "chat":
- send "{@title} &7You set home &f##{@c1}%{_num}% &7to your current location."
- else if "{@messages}" = "actionbar":
- send action bar "{@title} &7You set home &f##{@c1}%{_num}% &7to your current location." to player
- homeGUI(player)
- else:
- if "{@messages}" = "chat":
- send "{@title} &7Seems like you don't have the required permission for home &f##{@c1}%{_num}%&7."
- else if "{@messages}" = "actionbar":
- send action bar "{@title} &7Seems like you don't have the required permission for home &f##{@c1}%{_num}%&7." to player
- else:
- teleport player to {homes::%player's uuid%::home%{_num}%::location}
- if "{@messages}" = "chat":
- send "{@title} &7You've been teleported to home &f##{@c1}%{_num}%&7."
- else if "{@messages}" = "actionbar":
- send action bar "{@title} &7You've been teleported to home &f##{@c1}%{_num}%&7." to player
- else if event-click type = right mouse button:
- if {homes::%player's uuid%::home%{_num}%::location} is set:
- delete {homes::%player's uuid%::home%{_num}%::location}
- delete {homes::%player's uuid%::home%{_num}%::desc}
- if "{@messages}" = "chat":
- send "{@title} &7Home &f##{@c1}%{_num}% &7has been &cdeleted&7."
- else if "{@messages}" = "actionbar":
- send action bar "{@title} &7Home &f##{@c1}%{_num}% &7has been &cdeleted&7." to player
- homeGUI(player)
- else if event-click type = middle mouse button:
- if {homes::%player's uuid%::home%{_num}%::location} is set:
- set {homes::%player's uuid%::settingdesc::status} to true
- set {homes::%player's uuid%::settingdesc::num} to {_num}
- if "{@messages}" = "chat":
- send "{@title} &7Please write the description you want: &8&o(punch to cancel)"
- else if "{@messages}" = "actionbar":
- send action bar "{@title} &7Please write the description you want: &f&o(punch to cancel)" to player
- close player's inventory
- on chat:
- if {homes::%player's uuid%::settingdesc::status} is true:
- cancel event
- set {homes::%player's uuid%::home%{homes::%player's uuid%::settingdesc::num}%::desc} to colored message
- homeGUI(player)
- if "{@messages}" = "chat":
- send "{@title} &7Description of home &f##{@c1}%{homes::%player's uuid%::settingdesc::num}% &7has been set to:"
- send "{@title} &f%colored message%"
- else if "{@messages}" = "actionbar":
- send action bar "{@title} &7Description of home &f##{@c1}%{homes::%player's uuid%::settingdesc::num}% &7has been set to:" to player
- wait 1.5 seconds
- send action bar "{@title} &f%colored message%" to player
- delete {homes::%player's uuid%::settingdesc::status}
- delete {homes::%player's uuid%::settingdesc::num}
- on leftclick:
- if {homes::%player's uuid%::settingdesc::status} is true:
- cancel event
- if "{@messages}" = "chat":
- send "{@title} &7Editing description of home &f##{@c1}%{homes::%player's uuid%::settingdesc::num}% &7has been cancelled."
- else if "{@messages}" = "actionbar":
- send action bar "{@title} &7Editing description of home &f##{@c1}%{homes::%player's uuid%::settingdesc::num}% &7has been cancelled." to player
- delete {homes::%player's uuid%::settingdesc::status}
- delete {homes::%player's uuid%::settingdesc::num}
- homeGUI(player)
- on quit:
- if {homes::%player's uuid%::settingdesc::status} is true:
- delete {homes::%player's uuid%::settingdesc::status}
- delete {homes::%player's uuid%::settingdesc::num}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement