command /league [] []: trigger: if arg-1 is "create": $ thread set {_group} to value of sql var "group::%sender%" $ thread set {_league} to leagueOf(sender) $ thread set {_taken} to sql var "leagues::%arg-2%" exists if {_group} is "donor1" or "" or "donor2": bungee tell "&7You do not have a high enough rank to create a league!" to "%sender%" else if {_league} is not "": bungee tell "&7You already are in a league." to "%sender%" else if arg-2 is not set: bungee tell "&7You need to give your league a name." to "%sender%" else if alphabetic(arg-2) is false: bungee tell "&7You can only use letters in your league name." to "%sender%" else if length of arg-2 is greater than 13: bungee tell "&7Your league name can only be up to 10 letters." to "%sender%" else if length of arg-2 is less than 4: bungee tell "&7Your league name must be 4 or more characters long." to "%sender%" else if {_taken} is true: bungee tell "&7That league name is already taken." to "%sender%" else: $ thread set sql var "leagues::%arg-2%" to "%now%" $ thread set sql var "leagues::%arg-2%::%sender%" to "leader" $ thread set sql var "league::%sender%" to "%arg-2%" $ thread set sql var "leaguebank::%arg-2%" to "0" bungee tell "&7You created the league &e%arg-2%&7." to "%sender%" else if arg-1 is "invite": $ thread set {_league} to leagueOf(sender) $ thread set {_leaguerank} to leagueRank(sender) $ thread set {_leagueinvite} to sql var "leagueinvites::%arg-2%::%{_league}%" exists $ thread set {_league2} to leagueOf(arg-2 parsed as offline player) $ thread set {_leaguesize} to leagueSize({_league}) $ thread set {_pue} to sql var "pu::%arg-2%" exists if "%arg-2%" is "%sender%": bungee tell "&7You cannot invite yourself to your league." to "%player%" else if arg-2 is not set: send "&7You must provide a player to invite to your league." else if {_leagueinvite} is true: bungee tell "&e%arg-2%&7 has already been invited to your league." to "%player%" else if {_league} is "": bungee tell "&7You are not in a league." to "%sender%" else if {_pue} is false: bungee tell "&e%arg-2%&7 has never logged in." to "%sender%" else if {_leaguerank} is not "leader" or "moderator": bungee tell "&7You must be a League Moderator or League Leader to invite players to the league." to "%sender%" else if {_league2} is not "": bungee tell "&7That player is already in a league." to "%sender%" else if {_leaguesize} is 25: bungee tell "&7You already have 25 players in your league." to "%sender%" else: $ thread set sql var "leagueinvites::%arg-2%::%{_league}%" to "true" bungee tell "&7You have invited &e%arg-2%&7 to your league!" to "%sender%" $ thread leagueMessage({_league}, "&e%sender%&7 has invited &e%arg-2%&7 to the league. They have 5 minutes to accept the invite.") set {_server} to serverOf(arg-2 parsed as offline player) serverCommand("/tellraw %arg-2% ["""",{""text"":""&7You've been invited &7to join &7the league &e%{_league}%&7 by &e%sender%&7. ""},{""text"":""&e&lCL&e&lICK H&e&lER&e&lE"",""clickEvent"":{""action"":""run_command"",""value"":""/league join %player%""},""hoverEvent"":{""action"":""show_text"",""value"":""&e/league join %player%""}},{""text"":""&7 to &7join &7their &7league.""}]", {_server}) wait 5 minutes $ thread set {_invite} to sql var "leagueinvites::%arg-2%::%{_league}%" exists {_invite} is true $ thread delete sql var "leagueinvites::%arg-2%::%{_league}%" bungee tell "&7League invite from &e%sender% &7expired." to "%arg-2%" $ thread leagueMessage({_league}, "&e%sender%'s&7 league invite to &e%arg-2%&7 has expired.") else if arg-1 is "join" or "accept": $ thread set {_leaguecheck} to leagueOf(sender) $ thread set {_league} to leagueOf(arg-2 parsed as offline player) $ thread set {_invite} to sql var "leagueinvites::%sender%::%{_league}%" exists $ thread set {_leaguesize} to leagueSize({_league}) $ thread set {_pue} to sql var "pu::%arg-2%" exists if {_leaguecheck} is not "": send "&7You are already in a league." else if arg-2 is not set: send "&7You need to provide a player name that is in the league you were invited to." else if {_pue} is false: send "&e%arg-2%&7 has never logged in." else if {_league} is "": send "&e%arg-2%&7 is not in a league." else if {_invite} is false: send "&7Nobody from that league has invited you to it." else if {_leaguesize} is 25: bungee tell "&7That league already is full." to "%sender%" else: $ thread leagueMessage({_league}, "&e%player%&7 has joined the league.") $ thread delete sql var "leagueinvites::%sender%::%{_league}%" $ thread set sql var "league::%sender%" to "%{_league}%" $ thread set sql var "leagues::%{_league}%::%sender%" to "member" send "&7You have joined the league &e%{_league}%&7." else if arg-1 is "leave": $ thread set {_league} to leagueOf(sender) $ thread set {_leaguerank} to leagueRank(sender) if {_league} is "": bungee tell "&7You're not in a league." to "%sender%" else if {_leaguerank} is "owner": bungee tell "&7You have to transfer ownership or delete the league before leaving it." to "%sender%" else: $ thread delete sql var "league::%player%" $ thread delete sql var "leagues::%{_league}%::%player%" send "&7You have left the league &e%{_league}%&7." $ thread leagueMessage({_league}, "&e%sender%&7 has left your league.") else if arg-1 is "delete": $ thread set {_league} to leagueOf(sender) $ thread set {_leaguerank} to leagueRank(sender) if {_league} is "": bungee tell "&7You're not in a league." to "%sender%" else if {_leaguerank} is not "leader": bungee tell "&7You must be the League Leader to use this command." to "%player%" else: $ thread set {_members::*} to leagueMembers({_league}) loop {_members::*}: if "%loop-value%" is not "%sender%": bungee tell "&e%sender%&7 has deleted the league &e%{_league}%&7." to "%loop-value%" $ thread delete sql var "league::%loop-value%" $ thread delete sql var "leagues::%{_league}%::%loop-value%" $ thread delete sql var "leagues::%{_league}%" $ thread delete sql var "leaguebank::%{_league}%" bungee tell "&7You have deleted your league &e%{_league}%&7." to "%player%" else if arg-1 is "kick": $ thread set {_league} to leagueOf(sender) $ thread set {_leaguerank} to leagueRank(sender) $ thread set {_pue} to sql var "pu::%arg-2%" exists $ thread set {_league2} to leagueOf(arg-2 parsed as offline player) if "%arg-2%" is "%sender%": bungee tell "&7You cannot kick yourself from the league." to "%player%" else if arg-2 is not set: send "&7You need to provide a player to kick." else if {_league} is "": bungee tell "&7You are not in a league." to "%sender%" else if {_pue} is false: bungee tell "&e%arg-2%&7 has never logged in." to "%sender%" else if {_leaguerank} is not "leader" or "moderator": bungee tell "&7You must be a League Moderator or League Leader to kick players from the league." to "%sender%" else if {_league2} is not "%{_league}%": bungee tell "&7That player is not in your league." to "%sender%" else: $ thread set {_rank} to leagueRank(arg-2 parsed as offline player) if {_rank} is "officer" or "leader": {_leaguerank} is not "leader" send "&7You can only kick normal members from the league." stop trigger $ thread delete sql var "league::%arg-2%" $ thread delete sql var "leagues::%{_league}%::%arg-2%" bungee tell "&e%arg-2%&7 has kicked you from the league &e%{_league}%&7." to "%arg-2%" $ thread leagueMessage({_league}, "&e%sender%&7 kicked &e%arg-2%&7 from the league.") else if arg-1 is "info": if arg-2 is set: $ thread set {_exists} to value of sql var "leagues::%arg-2%" if {_exists} is not "": set {_league} to arg-2 else: send "&7That is not a valid league." stop trigger else: $ thread set {_league} to leagueOf(sender) if {_league} is "": send "&7You're not in a league." stop trigger $ thread set {_leaguesize} to leagueSize({_league}) $ thread set {_created} to value of sql var "leagues::%{_league}%" $ thread set {_coins} to value of sql var "leaguebank::%{_league}%" parsed as integer send " " send "&7League Name: &e%{_league}%" send "&7Members: &e%{_leaguesize}%/25" send "&7Date Created (EST): &e%{_created}%" send "&7Coins in League Bank: &e%{_coins}%" else if arg-1 is "bank": $ thread set {_league} to leagueOf(sender) $ thread set {_coins} to getCoins(sender) if {_league} is "": bungee tell "&7You are not in a league." to "%sender%" else if arg-2 is not set: send "&7Provide a number of coins to add to the league bank." else if arg-2 parsed as integer is not set: send "&7Provide a number of coins to add to the league bank." else if arg-2 parsed as integer is greater than {_coins}: send "&7You do not have enough coins to do that." else if arg-2 parsed as integer is less than 500: send "&7Each bank deposit must be atleast 500 coins." else: $ thread set {_leaguecoins} to value of sql var "leaguebank::%{_league}%" parsed as integer $ thread set sql var "leaguebank::%{_league}%" to "%{_leaguecoins} + arg-2 parsed as integer%" $ thread leagueMessage({_league}, "&e%sender%&7 added &e%arg-2% coins&7 to the league bank. There are now &e%{_leaguecoins} + arg-2 parsed as integer% coins&7 in the league bank.") $ thread remCoins(sender, arg-2 parsed as integer) else if arg-1 is "list": if arg-2 is set: $ thread set {_exists} to sql var "leagues::%arg-2%" exists if {_exists} is true: set {_league} to arg-2 else: send "&7That is not a valid league." stop trigger else: $ thread set {_league} to leagueOf(sender) if {_league} is "": send "&7You're not in a league." stop trigger $ thread set {_members::*} to leagueMembers({_league}) loop {_members::*}: $ thread set {_rank} to value of sql var "leagues::%{_league}%::%loop-value%" $ thread set {_online} to sql var "online::%loop-value%" exists if {_rank} is "leader": if {_online} is true: set {_leader} to "&a%loop-value%" else: set {_leader} to "&c%loop-value%" else if {_rank} is "moderator": if {_online} is true: add "&a%loop-value%" to {_mods::*} else: add "&c%loop-value%" to {_mods::*} else: if {_online} is true: add "&a%loop-value%" to {_member::*} else: add "&c%loop-value%" to {_member::*} send " " send "&e&lLeague Leader&7: %{_leader}%" if size of {_mods::*} is 0: send "&7&lLeague Moderators&7: None" else: send "&7&lLeague Moderators &7(%size of {_mods::*}%): %{_mods::*}%" if size of {_member::*} is 0: send "&7League Members: None" else: send "&7League Members &7(%size of {_member::*}%): %{_member::*}%" else if arg-1 is "transfer": $ thread set {_league} to leagueOf(sender) $ thread set {_leaguerank} to leagueRank(sender) $ thread set {_pue} to sql var "pu::%arg-2%" exists $ thread set {_league2} to leagueOf(arg-2 parsed as offlineplayer) if {_league} is "": bungee tell "&7You're not in a league." to "%player%" else if arg-2 is not set: send "&7You need to provide a player to transfer leadership to." else if {_pue} is false: bungee tell "&e%arg-2%&7 has never logged in." to "%sender%" else if {_leaguerank} is not "leader": bungee tell "&7You're not the leader of the guild." to "%player%" else if {_league2} is not {_league}: bungee tell "&7That player is not in your league." to "%player%" else if "%arg-2%" is "%sender%": bungee tell "&7You are already the league leader." to "%player%" else: $ thread set {_group} to value of sql var "group::%arg-2%" if {_group} is "donor1" or "" or "donor2": bungee tell "&e%arg-2%&7 must be at least a &bDiamond&7 donator to own a league." to "%sender%" stop trigger $ thread set sql var "leagues::%{_league}%::%player%" to "moderator" $ thread set sql var "leagues::%{_league}%::%arg-2%" to "leader" $ thread leagueMessage({_league}, "&e%player%&7 transfered league leadership to &e%arg-2%&7.") else if arg-1 is "promote": $ thread set {_league} to leagueOf(sender) $ thread set {_leaguerank} to leagueRank(sender) $ thread set {_league2} to leagueOf(arg-2 parsed as player) $ thread set {_pue} to sql var "pu::%arg-2%" exists $ thread set {_leaguerank2} to leagueRank(arg-2 parsed as offline player) if {_league} is "": bungee tell "&7You're not in a league." to "%player%" else if arg-2 is not set: send "&7You need to provide a player to promote." else if {_pue} is false: bungee tell "&e%arg-2%&7 has never logged in." to "%sender%" else if "%arg-2%" is "%sender%": bungee tell "&7You cannot promote yourself." to "%player%" else if {_leaguerank} is not "leader": bungee tell "&7You're not the leader of the guild." to "%player%" else if {_league2} is not {_league}: bungee tell "&7That player is not in your league." to "%player%" else if {_leaguerank2} is "moderator": bungee tell "&7That player is already a moderator in the league." to "%player%" else: $ thread set sql var "leagues::%{_league}%::%arg-2%" to "moderator" $ thread leagueMessage({_league}, "&e%player%&7 promoted &e%arg-2%&7 to a league moderator.") else if arg-1 is "demote": $ thread set {_league} to leagueOf(sender) $ thread set {_leaguerank} to leagueRank(sender) $ thread set {_pue} to sql var "pu::%arg-2%" exists $ thread set {_league2} to leagueOf(arg-2 parsed as offline player) $ thread set {_leaguerank2} to leagueRank(arg-2 parsed as offline player) if {_league} is "": bungee tell "&7You're not in a league." to "%player%" else if arg-2 is not set: send "&7You need to provide a player to demote." else if {_pue} is false: bungee tell "&e%arg-2%&7 has never logged in." to "%sender%" else if "%arg-2%" is "%sender%": bungee tell "&7You cannot demote yourself." to "%player%" else if {_leaguerank} is not "leader": bungee tell "&7You're not the leader of the guild." to "%player%" else if {_league2} is not {_league}: bungee tell "&7That player is not in your league." to "%player%" else if {_leaguerank2} is not "moderator": bungee tell "&7That player is not a moderator in the league." to "%player%" else: $ thread set sql var "leagues::%{_league}%::%arg-2%" to "member" $ thread leagueMessage({_league}, "&e%player%&7 demoted &e%arg-2%&7 to a league member.") else if arg-1 is "chat": $ thread set {_league} to leagueOf(sender) if {_league} is "": bungee tell "&7You're not in a league." to "%player%" else if arg-2 is not set: bungee tell "&7You need to provide a message to send to your league." to "%player%" else: $ thread leagueMessage({_league}, "&e%sender%&7: %arg-2%") else if arg-1 is "party": $ thread set {_league} to leagueOf(sender) $ thread set {_leaguerank} to leagueRank(sender) $ thread set {_party} to value of sql var "party::inparty::%sender%" $ thread set {_size} to leagueSize({_league}) if {_league} is "": bungee tell "&7You are not in a league." to "%sender%" else if {_leaguerank} is not "leader" or "moderator": bungee tell "&7You must be a League Moderator or League Leader to form a league party." to "%sender%" else if {_party} is not "": send "&7You are already in a party." else if {_size} is 1: send "&7You are the only person in your league." $ thread set {_members::*} to leagueMembers({_league}) loop {_members::*}: $ thread set {_online} to sql var "online::%loop-value%" exists {_online} is true "%loop-value%" is not "%sender%" $ thread set {_partylv} to value of sql var "party::inparty::%loop-value%" {_partylv} is "" add 1 to {_invites} sender command "/p invite %loop-value%" if {_invites} is not set: send "&7Nobody in your league was online to join a party." else: if arg-1 is set: arg-1 is not "help" or "?" bungee tell "&7Unknown argument: ""%arg-1%""." to "%player%" bungee tell "&eLeague Commands:" to "%player%" bungee tell "&e/league create [name] &7- Creates a league (requires &bDiamond&7 donator)." to "%player%" bungee tell "&e/league invite [player] &7- Invites a player to your league." to "%player%" bungee tell "&e/league bank [number] &7- Add coins to your league bank." to "%player%" bungee tell "&e/league join [player] &7- Joins a player's league if you were invited to it." to "%player%" bungee tell "&e/league delete &7- Deletes your league." to "%player%" bungee tell "&e/league kick [player] &7- Kicks a player from your league." to "%player%" bungee tell "&e/league list [league=your league] &7- List of all players in your league." to "%player%" bungee tell "&e/league info [league=your league] &7- Send some info about your league." to "%player%" bungee tell "&e/league chat [message] &7- Send a message to your party." to "%player%" bungee tell "&e/league party &7- Invite all players in your league online to a party." to "%player%" bungee tell "&e/league transfer [player]&7 - Transfers leadership to another player in the party." to "%player%" bungee tell "&e/league promote [player]&7 - Promotes a player in the league." to "%player%" bungee tell "&e/league demote [player]&7 - Demotes a player in the league." to "%player%"