Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- options:
- prefix: &f&lAeon &2&lGuilds&7
- nochestclaimed: &cYou do not have permission to open chests in claimed land!
- blockbreakclaimed: &cYou do not have permission to break blocks in claimed land!
- blockplaceclaimed: &cYou do not have permission to place blocks in claimed land!
- areaclaimed: &cThis area is claimed by another guild!
- noguild: &cYou are not in a guild!
- noleader: &cYou are not the leader of your guild!
- command /guilds <text> [<text>]:
- aliases: /g, /guild
- trigger:
- set {_t1} to arg 1
- if arg 2 is set:
- set {_temp} to arg 2
- loop all players:
- if {_temp} is loop-player:
- set {_p} to {_temp} parsed as a player
- stop loop
- if {_p} is set:
- if player is {_p}:
- send "{@prefix}: You can't do that to yourself!" to player
- else if {_t1} is "invite":
- if {guilds.inguild.%player%} is true:
- set {_guild} to {guilds.active.%player%}
- if {guilds.%{_guild}%.leader} is player:
- if {guilds.inguild.%{_p}%} is not true:
- set {guilds.invited.%{_guild}%.%{_p}%} to true
- send "{@prefix}: &aYou have been invited by %player%!" to {_p}
- send "{@prefix}: &aType &b/guilds accept %{_guild}% &ato join!" to {_p}
- send "{@prefix}: &aYou invited %{_p}%!" to player
- else:
- send "{@prefix}: That player is already in a guild!" to player
- else:
- send "{@prefix}: You are not able to invite people to your clan." to player
- else if {_t1} is "kick":
- if {guilds.inguild.%player%} is true:
- set {_guild} to {guilds.active.%player%}
- if {guilds.%{_guild}%.leader} is player:
- if {guilds.inguild.%{_p}%} is true:
- if {guilds.active.%{_p}%} is {_guild}:
- set {guilds.inguild.%{_p}%} to false
- clear {guilds.active.%{_p}%}
- remove {_p} from {guilds.%{_guild}%.members::*}
- loop {guilds.%{_guild}%.members::*}:
- send "{@prefix}: &b%{_p}% &cwas kicked from the guild!" to loop-value
- else:
- set {_t2} to {_temp}
- if {_t1} is "create":
- if {guilds.inguild.%player%} is false:
- if size of {guilds.all.list::*} is 0:
- set {_tempname} to true
- else:
- loop {guilds.all.list::*}:
- if {_t2} is loop-value:
- send "{@prefix}: &cThis guild name is unavailable!" to player
- set {_tempname} to false
- stop loop
- else:
- set {_tempname} to true
- if {_tempname} is true:
- set {guilds.%{_t2}%} to true
- set {guilds.%{_t2}%.leader} to player
- set {guilds.inguild.%player%} to true
- set {guilds.active.%player%} to {_t2}
- set {guilds.role.%player%} to "leader"
- add player to {guilds.%{_t2}%.members::*}
- add {_t2} to {guilds.all.list::*}
- send "{@prefix}: &fYou created the Guild named &2%{_t2}%&f!" to player
- set {guilds.%{_t2}%.members.rp.blockbreak} to false
- set {guilds.%{_t2}%.members.rp.blockplace} to false
- set {guilds.%{_t2}%.members.rp.openchest} to false
- set {guilds.%{_t2}%.officers.rp.blockbreak} to false
- set {guilds.%{_t2}%.officers.rp.blockplace} to false
- set {guilds.%{_t2}%.officers.rp.openchest} to false
- make console execute command "/setprefix %player%"
- else:
- send "{@prefix}: &cYou are already in a guild!" to player
- else if {_t1} is "accept":
- if {guilds.inguild.%player%} is false:
- if {guilds.invited.%{_t2}%.%player%} is true:
- set {guilds.inguild.%player%} to true
- set {guilds.active.%player%} to {_t2}
- set {guilds.role.%player%} to "Member"
- add player to {guilds.%{_t2}%.members::*}
- delete {guilds.invited.%{_t2}%.%player%}
- send "{@prefix}: &aYou joined the guild &b%{_t2}%&a!" to player
- loop {guilds.%{_t2}%.members::*}:
- send "{@prefix}: &a%player% &bjoined the guild!" to loop-value
- loop {guilds.all.list::*}:
- if {guilds.invited.%loop-value%.%player%} is set:
- delete {guilds.invited.%loop-value%.%player%}
- else if {_t1} is "decline":
- if {guilds.inguild.%player%} is false:
- if {guilds.invited.%{_t2}%.%player%} is true:
- delete {guilds.invited.%{_t2}%.%player%}
- send "{@prefix}: You declined the invite to &a%{_t2}%&7." to player
- loop {guilds.%{_t2}%.members::*}:
- send "{@prefix}: &a%player% &cdeclined to join the guild." to loop-value
- else if {_t1} is "info":
- loop {guilds.all.list::*}:
- if {_t2} is loop-value:
- set {_tempname} to true
- stop loop
- else:
- set {_tempname} to false
- if {_tempname} is true:
- set {_guild} to {_t2}
- open virtual chest inventory with size 6 named "&8%{_guild}%" to player
- set {_item} to anvil named "&a%{_guild}%"
- format gui slot 4 of player with {_item}
- set {_item} to skull of {guilds.%{_guild}%.leader} named "&6Leader"
- set line 1 of lore of {_item} to "&f%{guilds.%{_guild}%.leader}%"
- format gui slot 13 of player with {_item}
- set {_o} to 19
- set {_m} to 27
- loop {guilds.%{_guild}%.members::*}:
- set {_p} to loop-value
- if {_p} is not {guilds.%{_guild}%.leader}:
- if {guilds.role.%{_p}%} is "Officer":
- set {_item} to skull of {_p} named "&eOfficer"
- set line 1 of lore of {_item} to "&f%{_p}%"
- format gui slot {_i} of player with {_item}
- add 1 to {_o}
- else if {guilds.role.%{_p}%} is "Member":
- set {_item} to skull of {_p} named "&aMember"
- set line 1 of lore of {_item} to "&f%{_p}%"
- format gui slot {_i} of player with {_item}
- add 1 to {_m}
- else:
- continue
- if player is {guilds.%{_guild}%.leader}:
- set {_item} to book named "&eAdmin Mode"
- set line 1 of lore of {_item} to "&fChange permissions of roles in your guild!"
- format gui slot 49 of player with {_item} to run console command "consoleguilds leaderinfo %player%" with "left" click
- else if {_tempname} is false:
- send "{@prefix}: That guild doesn't exist!" to player
- else:
- if {_t1} is "disband":
- if {guilds.inguild.%player%} is true:
- set {_guild} to {guilds.active.%player%}
- if {guilds.%{_guild}%.leader} is player:
- guildDisband("%{_guild}%")
- else:
- send "{@prefix}: {@noleader}" to player
- else:
- send "{@prefix}: {@noguild}" to player
- else if {_t1} is "claim":
- if {guilds.inguild.%player%} is true:
- set {_guild} to {guilds.active.%player%}
- set {_loc} to the chunk at the player
- if {guilds.%{_guild}%.leader} is player:
- if size of {guilds.%{_guild}%.members::*} is more than size of {guilds.%{_guild}%.chunks::*}:
- FindChunks(player, {_loc})
- if {currentchunk.%player%} is "":
- add {_loc} to {guilds.%{_guild}%.chunks::*}
- send "{@prefix}: &aYou claimed this land!" to player
- else:
- send "{@prefix}: You cannot claim this chunk!" to player
- else:
- send "{@prefix}: You need more members to claim chunks!" to player
- else:
- send "{@prefix}: {@noleader}" to player
- else:
- send "{@prefix}: {@noguild}" to player
- else if {_t1} is "unclaim":
- if {guilds.inguild.%player%} is true:
- set {_guild} to {guilds.active.%player%}
- set {_loc} to the chunk at the player
- if {guilds.%{_guild}%.leader} is player:
- FindChunks(player, {_loc})
- if {currentchunk.%player%} is "%{_guild}%":
- remove {_loc} from {guilds.%{_guild}%.chunks::*}
- set {guilds.%{_guild}%.chunks::*} to sorted {guilds.%{_guild}%.chunks::*}
- send "{@prefix}: Unclaiming chunk!" to player
- if {guilds.%{_guild}%.homechunk} is {_loc}:
- clear {guilds.%{_guild}%.home}
- clear {guilds.%{_guild}%.homechunk}
- loop {guilds.%{_guild}%.members::*}:
- send "{@prefix}: The chunk containing the &aguild home was unclaimed." to player
- else:
- send "{@prefix}: You cannot unclaim this chunk!" to player
- else:
- send "{@prefix}: {@noleader}" to player
- else:
- send "{@prefix}: {@noguild}" to player
- else if {_t1} is "list":
- set {guildslist.%player%} to 1
- set {_guildslist1} to {guildslist.%player%}+1
- set {_guildslist2} to {guildslist.%player%}+2
- set {_guildslist3} to {guildslist.%player%}+3
- set {_guildslist4} to {guildslist.%player%}+4
- json("%player%","&71. &b%{guilds.all.list::%{guildslist.%player%}%}%||cmd:/guilds info %{guilds.all.list::%{guildslist.%player%}%}%||ttp:&7Click for more info!")
- json("%player%","&72. &b%{guilds.all.list::%{_guildslist1}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist1}%}%||ttp:&7Click for more info!")
- json("%player%","&73. &b%{guilds.all.list::%{_guildslist2}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist2}%}%||ttp:&7Click for more info!")
- json("%player%","&74. &b%{guilds.all.list::%{_guildslist3}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist3}%}%||ttp:&7Click for more info!")
- json("%player%","&75. &b%{guilds.all.list::%{_guildslist4}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist4}%}%||ttp:&7Click for more info!")
- json("%player%","&aNext page||cmd:/guilds continuelist||ttp:&7Next page!")
- else if {_t1} is "continuelist":
- add 5 to {guildslist.%player%}
- set {_guildslist1} to {guildslist.%player%}+1
- set {_guildslist2} to {guildslist.%player%}+2
- set {_guildslist3} to {guildslist.%player%}+3
- set {_guildslist4} to {guildslist.%player%}+4
- json("%player%","&7%{guildslist.%player%}%. &b%{guilds.all.list::%{guildslist.%player%}%}%||cmd:/guilds info %{guilds.all.list::%{guildslist.%player%}%}%||ttp:&7Click for more info!")
- json("%player%","&7%{_guildslist1}%. &b%{guilds.all.list::%{_guildslist1}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist1}%}%||ttp:&7Click for more info!")
- json("%player%","&7%{_guildslist2}%. &b%{guilds.all.list::%{_guildslist2}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist2}%}%||ttp:&7Click for more info!")
- json("%player%","&7%{_guildslist3}%. &b%{guilds.all.list::%{_guildslist3}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist3}%}%||ttp:&7Click for more info!")
- json("%player%","&7%{_guildslist4}%. &b%{guilds.all.list::%{_guildslist4}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist4}%}%||ttp:&7Click for more info!")
- json("%player%","&aNext page||cmd:/guilds continuelist||ttp:&7Next page!")
- else if {_t1} is "sethome":
- if {guilds.inguild.%player%} is true:
- set {_guild} to {guilds.active.%player%}
- if {guilds.%{_guild}%.leader} is player:
- set {_loc} to the chunk at the player
- set {_ghome} to location of player
- FindChunks(player , {_loc})
- if {currentchunk.%player%} is "%{guilds.active.%player%}%":
- set {guilds.%{_guild}%.home} to {_ghome}
- set {guilds.%{_guild}%.homechunk} to {_loc}
- send "{@prefix}: You set your guild's home!" to player
- else:
- send "{@prefix}: You cannot set your home here!" to player
- else:
- send "{@prefix}: &cYou are not the leader of this guild!" to player
- else:
- send "{@prefix}: {@noguild}" to player
- else if {_t1} is "home":
- if {guilds.inguild.%player%} is true:
- set {_guild} to {guilds.active.%player%}
- if {guilds.%{_guild}%.home} is set:
- teleport player to {guilds.%{_guild}%.home}
- else:
- send "{@prefix}: Your guild home hasn't been set!" to player
- else:
- send "{@prefix}: {@noguild}" to player
- else if {_t1} is "info":
- if {guilds.inguild.%player%} is true:
- set {_guild} to {guilds.active.%player%}
- make player execute command "/guilds info %{_guild}%"
- else:
- send "{@prefix}: {@noguild}" to player
- command /consoleguilds <text> [<text>]:
- executable by: console
- trigger:
- set {_t1} to arg 1
- if arg 2 is set:
- set {_temp} to arg 2
- loop all players:
- if {_temp} is loop-player:
- set {_p} to {_temp} parsed as a player
- stop loop
- if {_p} is set:
- if {_t1} is "leaderinfo":
- set {_guild} to {guilds.active.%{_p}%}
- unformat all gui slots of {_p}
- set {_item} to anvil named "&a%{_guild}%"
- format gui slot 4 of {_p} with {_item}
- set {_item} to gold ingot named "&6Officer"
- set line 1 of lore of {_item} to "&fChange the permissions for officers!"
- format gui slot 21 of {_p} with {_item} to run function infoPerms({_p} , "officers") with "left" click
- set {_item} to iron ingot named "&eMember"
- set line 1 of lore of {_item} to "&fChange the permissions for members!"
- format gui slot 23 of {_p} with {_item} to run function infoPerms({_p} , "members") with "left" click
- set {_item} to book named "&bBack"
- set line 1 of lore of {_item} to "&7Return to the previous menu."
- format gui slot 49 of {_p} with {_item} to run {_p} command "guilds info" with "left" click
- else:
- if {_t1} is "forcedisband":
- guildDisband("%{_temp}%")
- function infoPerms(p: player , role: text):
- set {_guild} to {guilds.active.%{_p}%}
- unformat all gui slots of {_p}
- set {_item} to anvil named "&a%{_guild}%"
- format gui slot 4 of {_p} with {_item}
- if {guilds.%{_guild}%.%{_role}%.rp.blockbreak} is false:
- set {_item} to red stained glass pane named "&aEnable Block Break"
- else:
- set {_item} to green stained glass pane named "&cDisable Block Break"
- set line 1 of lore of {_item} to "&7Click to change this permission."
- format gui slot 18 of {_p} with {_item} to run function changePerm({_p} , "blockbreak" , "%{_role}%") with "left" click
- set {_item} to stone bricks named "&aBlock Break"
- set line 1 of lore of {_item} to "&fShould %{_role}% be able to break blocks"
- set line 2 of lore of {_item} to "&fin Guild claimed land?"
- format gui slot 27 of {_p} with {_item}
- if {guilds.%{_guild}%.%{_role}%.rp.blockplace} is false:
- set {_item} to red stained glass pane named "&aEnable Block Place"
- else:
- set {_item} to green stained glass pane named "&cDisable Block Place"
- set line 1 of lore of {_item} to "&7Click to change this permission."
- format gui slot 19 of {_p} with {_item} to run function changePerm({_p} , "blockplace" , "%{_role}%") with "left" click
- set {_item} to grass block named "&aBlock Place"
- set line 1 of lore of {_item} to "&fShould %{_role}% be able to place blocks"
- set line 2 of lore of {_item} to "&fin Guild claimed land?"
- format gui slot 28 of {_p} with {_item}
- if {guilds.%{_guild}%.%{_role}%.rp.openchest} is false:
- set {_item} to red stained glass pane named "&aEnable Open Chest"
- else:
- set {_item} to green stained glass pane named "&cDisable Open Chest"
- set line 1 of lore of {_item} to "&7Click to change this permission."
- format gui slot 20 of {_p} with {_item} to run function changePerm({_p} , "openchest" , "%{_role}%") with "left" click
- set {_item} to chest named "&aOpen Chest"
- set line 1 of lore of {_item} to "&fShould %{_role}% be able to open chests"
- set line 2 of lore of {_item} to "&fin Guild claimed land?"
- format gui slot 29 of {_p} with {_item}
- set {_item} to book named "&bBack"
- set line 1 of lore of {_item} to "&7Return to the previous menu."
- format gui slot 49 of {_p} with {_item} to run console command "consoleguilds leaderinfo %{_p}%" with "left" click
- function changePerm(p: player , perms: text , role: text):
- set {_guild} to "%{guilds.active.%{_p}%}%"
- if {guilds.%{_guild}%.%{_role}%.rp.%{_perms}%} is false:
- set {guilds.%{_guild}%.%{_role}%.rp.%{_perms}%} to true
- else:
- set {guilds.%{_guild}%.%{_role}%.rp.%{_perms}%} to false
- infoPerms({_p} , "%{_role}%")
- function guildDisband(guild: text):
- loop {guilds.%{_guild}%.members::*}:
- send "{@prefix}: &a%{_guild}% &fis being disbanded!" to loop-value
- set {guilds.inguild.%loop-value%} to false
- clear {guilds.active.%loop-value%}
- remove loop-value from {guilds.%{_guild}%.members::*}
- clear {guilds.role.%loop-value%}
- loop {guilds.%{_guild}%.chunks::*}:
- remove loop-value from {guilds.%{_guild}%.chunks::*}
- remove {_guild} from {guilds.all.list::*}
- set {guilds.all.list::*} to sorted {guilds.all.list::*}
- delete {guilds.%{_guild}%}
- delete {guilds.%{_guild}%.leader}
- delete {guilds.%{_guild}%.members::*}
- delete {guilds.%{_guild}%.members.rp.blockbreak}
- delete {guilds.%{_guild}%.members.rp.blockplace}
- delete {guilds.%{_guild}%.members.rp.openchest}
- delete {guilds.%{_guild}%.officers.rp.blockbreak}
- delete {guilds.%{_guild}%.officers.rp.blockplace}
- delete {guilds.%{_guild}%.officers.rp.openchest}
- on block break:
- set {targetedloc.%player%} to chunk at the event-block
- findTargetChunks(player , {targetedloc.%player%})
- send "%{currenttargetchunk.%player%}%" to player
- if {currenttargetchunk.%player%} is {guilds.active.%player%}:
- set {_b} to checkRolePerms(player , "blockbreak")
- if {_b} is false:
- cancel event
- else if {currenttargetchunk.%player%} is not "":
- send "{@prefix}: {@areaclaimed}" to player
- cancel event
- on block place:
- set {targetedloc.%player%} to chunk at the event-block
- findTargetChunks(player , {targetedloc.%player%})
- send "%{currenttargetchunk.%player%}%" to player
- if {currenttargetchunk.%player%} is {guilds.active.%player%}:
- set {_b} to checkRolePerms(player , "blockplace")
- if {_b} is false:
- cancel event
- else if {currenttargetchunk.%player%} is not "":
- send "{@prefix}: {@areaclaimed}" to player
- cancel event
- on inventory open:
- if targeted block is chest or trapped chest:
- set {_loc} to targeted block
- set {targetedloc.%player%} to chunk at location {_loc}
- findTargetChunks(player , {targetedloc.%player%})
- send "%{currenttargetchunk.%player%}%" to player
- if {currenttargetchunk.%player%} is {guilds.active.%player%}:
- set {_b} to checkRolePerms(player , "openchest")
- if {_b} is false:
- cancel event
- else if {currenttargetchunk.%player%} is not "":
- send "{@prefix}: {@areaclaimed}" to player
- cancel event
- function findTargetChunks(p: player , loc: chunk):
- loop {guilds.all.list::*}:
- set {_guild} to loop-value-1
- loop {guilds.%{_guild}%.chunks::*}:
- if {_loc} is loop-value-2:
- if {currenttargetchunk.%{_p}%} is not {_guild}:
- set {currenttargetchunk.%{_p}%} to {_guild}
- stop 2 loops
- else:
- set {currenttargetchunk.%{_p}%} to ""
- every 5 ticks:
- if {players.online} is more than 0:
- loop all players:
- setCurrentChunk(loop-player)
- function setCurrentChunk(p: player):
- set {_loc} to chunk at location of {_p}
- set {_lastchunk} to {currentchunk.%{_p}%}
- FindChunks({_p} , {_loc})
- if {currentchunk.%{_p}%} is not {_lastchunk}:
- if {currentchunk.%{_p}%} is {guilds.active.%{_p}%}:
- send title "&2%{currentchunk.%{_p}%}%" to {_p} for 1.5 seconds
- else if {currentchunk.%{_p}%} is not "":
- send title "&a%{currentchunk.%{_p}%}%" to {_p} for 1.5 seconds
- else:
- send title "&fWilderness" to {_p} for 1.5 seconds
- function FindChunks(p: player , loc: chunk):
- if size of {guilds.all.list::*} is more than 0:
- loop {guilds.all.list::*}:
- set {_guild} to loop-value-1
- loop {guilds.%{_guild}%.chunks::*}:
- if {_loc} is loop-value-2:
- if {currentchunk.%{_p}%} is not {_guild}:
- set {currentchunk.%{_p}%} to {_guild}
- stop 2 loops
- else:
- set {currentchunk.%{_p}%} to ""
- else:
- set {currentchunk.%{_p}%} to ""
- function checkRolePerms(p: player , perm: text) :: boolean:
- set {_guild} to {guilds.active.%{_p}%}
- if {guilds.role.%{_p}%} is "Member":
- if {guilds.%{_guild}%.members.rp.%{_perm}%} is false:
- if {_perm} is "openchest":
- send "{@prefix}: {@nochestclaimed}" to {_p}
- set {_b} to false
- if {_perm} is "blockbreak":
- send "{@prefix}: {@blockbreakclaimed}" to {_p}
- set {_b} to false
- if {_perm} is "blockplace":
- send "{@prefix}: {@blockplaceclaimed}" to {_p}
- set {_b} to false
- else:
- set {_b} to true
- if {guilds.role.%{_p}%} is "Officer":
- if {guilds.%{_guild}%.officers.rp.%{_perm}%} is false:
- if {_perm} is "openchest":
- send "{@prefix}: {@nochestclaimed}" to {_p}
- set {_b} to false
- if {_perm} is "blockbreak":
- send "{@prefix}: {@blockbreakclaimed}" to {_p}
- set {_b} to false
- if {_perm} is "blockplace":
- send "{@prefix}: {@blockplaceclaimed}" to {_p}
- set {_b} to false
- else:
- set {_b} to true
- if {guilds.role.%{_p}%} is "leader":
- set {_b} to true
- return {_b}
- on join:
- wait 5 ticks
- make console execute command "/setplayersonline"
- if {guilds.inguild.%player%} is not set:
- make console execute command "/guildreset %player%"
- on disconnect:
- wait 5 ticks
- make console execute command "/setplayersonline"
- command /setplayersonline:
- executable by: console
- trigger:
- set {players.online} to the online player count
- send "Players Online: %{players.online}%" to console
- command /guildreset <player>:
- permission: op
- trigger:
- set {guilds.inguild.%argument%} to false
- set {_guild} to {guilds.active.%argument%}
- clear {guilds.active.%argument%}
- set {guildslist.%argument%} to 0
- set {currentchunk.%argument%} to ""
- set {currenttargetchunk.%argument%} to ""
- remove argument from {guilds.%{_guild}%.members::*}
Advertisement
Add Comment
Please, Sign In to add comment