From beeb98d804e5c97dd78d9e16f77ffe62c52c561e Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sun, 28 Aug 2022 16:05:27 +0100 Subject: [PATCH] Updated GitHub repository. Changed Spigot API version to `1.19.2`. Added `PlayerConnectionEvent.java`. Added `PlayerDisconnectEvent.java`. Added new clan creation broadcast system. Added new clan join broadcast system. Fixed clan prefix length limits. Added new values to `config.yml`. Added new values to `messages.yml`. Added numerical value to clan members list. Changed PlaceholderAPI expansion version to `1.2.4`. Changed plugin version to `1.2.4`. --- pom.xml | 7 ++- src/main/java/xyz/gamlin/clans/Clans.java | 12 +++- .../xyz/gamlin/clans/commands/ClanAdmin.java | 11 ++++ .../gamlin/clans/commands/ClanCommand.java | 61 ++++++++++++++++--- .../clans/expansions/PlayerClanExpansion.java | 2 +- .../listeners/PlayerConnectionEvent.java | 16 +++++ .../listeners/PlayerDisconnectEvent.java | 16 +++++ .../gamlin/clans/utils/ClansStorageUtil.java | 2 + src/main/resources/config.yml | 11 ++++ src/main/resources/messages.yml | 12 +++- src/main/resources/plugin.yml | 2 +- 11 files changed, 132 insertions(+), 20 deletions(-) create mode 100644 src/main/java/xyz/gamlin/clans/listeners/PlayerConnectionEvent.java create mode 100644 src/main/java/xyz/gamlin/clans/listeners/PlayerDisconnectEvent.java diff --git a/pom.xml b/pom.xml index 7ed0542..be39fba 100644 --- a/pom.xml +++ b/pom.xml @@ -6,12 +6,12 @@ xyz.gamlin ClansLite - 1.2.3 + 1.2.4 jar ClansLite - A simple clans plugin for Minecraft. + A simple and lightweight Clans plugin for Minecraft. 11 UTF-8 @@ -75,11 +75,12 @@ org.apache.commons commons-lang3 3.12.0 + provided org.spigotmc spigot-api - 1.19-R0.1-SNAPSHOT + 1.19.2-R0.1-SNAPSHOT provided diff --git a/src/main/java/xyz/gamlin/clans/Clans.java b/src/main/java/xyz/gamlin/clans/Clans.java index 667c9bf..bf4df3e 100644 --- a/src/main/java/xyz/gamlin/clans/Clans.java +++ b/src/main/java/xyz/gamlin/clans/Clans.java @@ -1,6 +1,7 @@ package xyz.gamlin.clans; import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.java.JavaPlugin; import xyz.gamlin.clans.commands.ClanAdmin; @@ -9,6 +10,8 @@ import xyz.gamlin.clans.expansions.PlayerClanExpansion; import xyz.gamlin.clans.files.ClansFileManager; import xyz.gamlin.clans.files.MessagesFileManager; +import xyz.gamlin.clans.listeners.PlayerConnectionEvent; +import xyz.gamlin.clans.listeners.PlayerDisconnectEvent; import xyz.gamlin.clans.listeners.PlayerMessageEvent; import xyz.gamlin.clans.listeners.PlayerDamageEvent; import xyz.gamlin.clans.updateSystem.JoinEvent; @@ -18,6 +21,7 @@ import xyz.gamlin.clans.utils.TaskTimerUtils; import java.io.IOException; +import java.util.HashMap; import java.util.logging.Logger; public final class Clans extends JavaPlugin { @@ -30,6 +34,8 @@ public final class Clans extends JavaPlugin { public MessagesFileManager messagesFileManager; public ClansFileManager clansFileManager; + public static HashMap connectedPlayers = new HashMap<>(); + @Override public void onEnable() { //Plugin startup logic @@ -88,6 +94,8 @@ public void onEnable() { this.getCommand("cc").setExecutor(new ClanChatCommand()); //Register the plugin events + this.getServer().getPluginManager().registerEvents(new PlayerConnectionEvent(), this); + this.getServer().getPluginManager().registerEvents(new PlayerDisconnectEvent(), this); this.getServer().getPluginManager().registerEvents(new PlayerMessageEvent(), this); this.getServer().getPluginManager().registerEvents(new PlayerDamageEvent(), this); this.getServer().getPluginManager().registerEvents(new JoinEvent(), this); @@ -111,7 +119,7 @@ public void onEnable() { //Plugin startup message logger.info(ColorUtils.translateColorCodes("-------------------------------------------")); - logger.info(ColorUtils.translateColorCodes("&6ClansLite: &3Plugin maintained by: &b&lLoving11ish")); + logger.info(ColorUtils.translateColorCodes("&6ClansLite: &3Plugin by: &b&lLoving11ish")); logger.info(ColorUtils.translateColorCodes("&6ClansLite: &3has been loaded successfully")); logger.info(ColorUtils.translateColorCodes("&6ClansLite: &3Plugin Version: &d&l" + pluginVersion)); logger.info(ColorUtils.translateColorCodes("-------------------------------------------")); @@ -154,7 +162,7 @@ public void onDisable() { //Safely stop the background tasks if running logger.info(ColorUtils.translateColorCodes("-------------------------------------------")); - logger.info(ColorUtils.translateColorCodes("&6ClansLite: &3Plugin maintained by: &b&lLoving11ish")); + logger.info(ColorUtils.translateColorCodes("&6ClansLite: &3Plugin by: &b&lLoving11ish")); try { if (Bukkit.getScheduler().isCurrentlyRunning(TaskTimerUtils.taskID1)||Bukkit.getScheduler().isQueued(TaskTimerUtils.taskID1)){ Bukkit.getScheduler().cancelTask(TaskTimerUtils.taskID1); diff --git a/src/main/java/xyz/gamlin/clans/commands/ClanAdmin.java b/src/main/java/xyz/gamlin/clans/commands/ClanAdmin.java index e71479a..cfbb488 100644 --- a/src/main/java/xyz/gamlin/clans/commands/ClanAdmin.java +++ b/src/main/java/xyz/gamlin/clans/commands/ClanAdmin.java @@ -33,6 +33,8 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } sender.sendMessage(ColorUtils.translateColorCodes(messagesConfig.getString("save-completed"))); } + + if (args[0].equalsIgnoreCase("reload")) { Clans.getPlugin().reloadConfig(); try { @@ -55,6 +57,8 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String Clans.getPlugin().messagesFileManager.reloadMessagesConfig(); sender.sendMessage(ColorUtils.translateColorCodes(messagesConfig.getString("plugin-reload-successful"))); } + + if (args[0].equalsIgnoreCase("about")) { sender.sendMessage(ColorUtils.translateColorCodes("&3~~~~~~~~~~ &6&nClansLite&r &3~~~~~~~~~~")); sender.sendMessage(ColorUtils.translateColorCodes("&3Version: &6" + Clans.getPlugin().getDescription().getVersion())); @@ -65,6 +69,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String sender.sendMessage(ColorUtils.translateColorCodes("&3~~~~~~~~~~ &6&nClansLite&r &3~~~~~~~~~~")); } + }else { sender.sendMessage(ColorUtils.translateColorCodes( "&6ClansLite usage:&3" + @@ -88,6 +93,8 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } logger.info(ColorUtils.translateColorCodes(messagesConfig.getString("save-completed"))); } + + if (args[0].equalsIgnoreCase("reload")) { Clans.getPlugin().reloadConfig(); try { @@ -111,6 +118,8 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String Clans.getPlugin().messagesFileManager.reloadMessagesConfig(); logger.info(ColorUtils.translateColorCodes(messagesConfig.getString("plugin-reload-successful"))); } + + if (args[0].equalsIgnoreCase("about")) { logger.info(ColorUtils.translateColorCodes("&3~~~~~~~~~~ &6ClansLite &3~~~~~~~~~~")); logger.info(ColorUtils.translateColorCodes("&3Version: &6" + Clans.getPlugin().getDescription().getVersion())); @@ -120,6 +129,8 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String logger.info(ColorUtils.translateColorCodes("&6" + Clans.getPlugin().getDescription().getWebsite())); logger.info(ColorUtils.translateColorCodes("&3~~~~~~~~~~ &6ClansLite &3~~~~~~~~~~")); } + + }else { sender.sendMessage(ColorUtils.translateColorCodes( "&6ClansLite usage:&3" + diff --git a/src/main/java/xyz/gamlin/clans/commands/ClanCommand.java b/src/main/java/xyz/gamlin/clans/commands/ClanCommand.java index e15c784..193c3b1 100644 --- a/src/main/java/xyz/gamlin/clans/commands/ClanCommand.java +++ b/src/main/java/xyz/gamlin/clans/commands/ClanCommand.java @@ -33,6 +33,7 @@ public class ClanCommand implements CommandExecutor { int MIN_CHAR_LIMIT = clansConfig.getInt("clan-tags.min-character-limit"); int MAX_CHAR_LIMIT = clansConfig.getInt("clan-tags.max-character-limit"); + private static final String PLAYER_PLACEHOLDER = "%PLAYER%"; private static final String CLAN_PLACEHOLDER = "%CLAN%"; private static final String INVITED_PLAYER = "%INVITED%"; private static final String PLAYER_TO_KICK = "%KICKEDPLAYER%"; @@ -161,10 +162,27 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String if (!ClansStorageUtil.isClanExisting(player)) { ClansStorageUtil.createClan(player, args[1]); - String clanCreated = ColorUtils.translateColorCodes(messagesConfig.getString("clan-created-successfully")).replace(CLAN_PLACEHOLDER, args[1]); + String clanCreated = ColorUtils.translateColorCodes(messagesConfig.getString("clan-created-successfully")).replace(CLAN_PLACEHOLDER, ColorUtils.translateColorCodes(args[1])); player.sendMessage(clanCreated); + if (clansConfig.getBoolean("clan-creation.announce-to-all")){ + if (clansConfig.getBoolean("clan-creation.send-as-title")){ + for (Player onlinePlayers : Clans.connectedPlayers.keySet()){ + onlinePlayers.sendTitle(ColorUtils.translateColorCodes(messagesConfig.getString("clan-created-broadcast-title-1") + .replace(CLAN_OWNER, player.getName()) + .replace(CLAN_PLACEHOLDER, ColorUtils.translateColorCodes(args[1]))), + ColorUtils.translateColorCodes(messagesConfig.getString("clan-created-broadcast-title-2") + .replace(CLAN_OWNER, player.getName()) + .replace(CLAN_PLACEHOLDER, ColorUtils.translateColorCodes(args[1]))), + 30, 30, 30); + } + }else { + Bukkit.broadcastMessage(ColorUtils.translateColorCodes(messagesConfig.getString("clan-created-broadcast-chat") + .replace(CLAN_OWNER, player.getName()) + .replace(CLAN_PLACEHOLDER, ColorUtils.translateColorCodes(args[1])))); + } + } } else { - String clanNotCreated = ColorUtils.translateColorCodes(messagesConfig.getString("clan-creation-failed")).replace(CLAN_PLACEHOLDER, args[1]); + String clanNotCreated = ColorUtils.translateColorCodes(messagesConfig.getString("clan-creation-failed")).replace(CLAN_PLACEHOLDER, ColorUtils.translateColorCodes(args[1])); player.sendMessage(clanNotCreated); } clanNamesList.clear(); @@ -291,19 +309,21 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String return true; } if (ClansStorageUtil.isClanOwner(player)){ - if (args[1].length() >= 3 && args[1].length() <= 32) { + if (args[1].length() >= MIN_CHAR_LIMIT && args[1].length() <= MAX_CHAR_LIMIT) { Clan playerClan = ClansStorageUtil.findClanByOwner(player); ClansStorageUtil.updatePrefix(player, args[1]); String prefixConfirmation = ColorUtils.translateColorCodes(messagesConfig.getString("clan-prefix-change-successful")).replace("%CLANPREFIX%", playerClan.getClanPrefix()); sender.sendMessage(prefixConfirmation); clansPrefixList.clear(); return true; - } else if (args[1].length() > 32) { - sender.sendMessage(ColorUtils.translateColorCodes(messagesConfig.getString("clan-prefix-too-long"))); + }else if (args[1].length() > MAX_CHAR_LIMIT) { + Integer maxCharLimit = clansConfig.getInt("clan-tags.max-character-limit"); + sender.sendMessage(ColorUtils.translateColorCodes(messagesConfig.getString("clan-prefix-too-long").replace("%CHARMAX%", maxCharLimit.toString()))); clansPrefixList.clear(); return true; - } else { - sender.sendMessage(ColorUtils.translateColorCodes(messagesConfig.getString("clan-prefix-too-short"))); + }else { + Integer minCharLimit = clansConfig.getInt("clan-tags.min-character-limit"); + sender.sendMessage(ColorUtils.translateColorCodes(messagesConfig.getString("clan-prefix-too-short").replace("%CHARMIN%", minCharLimit.toString()))); clansPrefixList.clear(); return true; } @@ -312,7 +332,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String clansPrefixList.clear(); return true; } - } else { + }else { sender.sendMessage(ColorUtils.translateColorCodes(messagesConfig.getString("clan-invalid-prefix"))); clansPrefixList.clear(); } @@ -349,6 +369,23 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String ClanInviteUtil.removeInvite(inviterUUIDString.toString()); String joinMessage = ColorUtils.translateColorCodes(messagesConfig.getString("clan-join-successful")).replace(CLAN_PLACEHOLDER, clan.getClanFinalName()); player.sendMessage(joinMessage); + if (clansConfig.getBoolean("clan-join.announce-to-all")){ + if (clansConfig.getBoolean("clan-join.send-as-title")){ + for (Player onlinePlayers : Clans.connectedPlayers.keySet()){ + onlinePlayers.sendTitle(ColorUtils.translateColorCodes(messagesConfig.getString("clan-join-broadcast-title-1") + .replace(PLAYER_PLACEHOLDER, player.getName()) + .replace(CLAN_PLACEHOLDER, ColorUtils.translateColorCodes(args[1]))), + ColorUtils.translateColorCodes(messagesConfig.getString("clan-join-broadcast-title-2") + .replace(PLAYER_PLACEHOLDER, player.getName()) + .replace(CLAN_PLACEHOLDER, ColorUtils.translateColorCodes(args[1]))), + 30, 30, 30); + } + }else { + Bukkit.broadcastMessage(ColorUtils.translateColorCodes(messagesConfig.getString("clan-join-broadcast-chat") + .replace(PLAYER_PLACEHOLDER, player.getName()) + .replace(CLAN_PLACEHOLDER, ColorUtils.translateColorCodes(args[1])))); + } + } }else { String failureMessage = ColorUtils.translateColorCodes(messagesConfig.getString("clan-join-failed")).replace(CLAN_PLACEHOLDER, clan.getClanFinalName()); player.sendMessage(failureMessage); @@ -423,7 +460,9 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String clanInfo.append(ColorUtils.translateColorCodes(messagesConfig.getString("clan-info-owner-offline")).replace(OWNER, offlineOwner)); } if (clanMembers.size() > 0) { - clanInfo.append(ColorUtils.translateColorCodes(messagesConfig.getString("clan-info-members-header"))); + Integer clanMembersSize = clanMembers.size(); + clanInfo.append(ColorUtils.translateColorCodes(messagesConfig.getString("clan-info-members-header") + .replace("%NUMBER%", ColorUtils.translateColorCodes(clanMembersSize.toString())))); for (String clanMember : clanMembers) { if (clanMember != null) { UUID memberUUID = UUID.fromString(clanMember); @@ -511,7 +550,9 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String clanInfo.append(ColorUtils.translateColorCodes(messagesConfig.getString("clan-info-owner-offline")).replace(OWNER, offlineOwner)); } if (clanMembers.size() > 0) { - clanInfo.append(ColorUtils.translateColorCodes(messagesConfig.getString("clan-info-members-header"))); + Integer clanMembersSize = clanMembers.size(); + clanInfo.append(ColorUtils.translateColorCodes(messagesConfig.getString("clan-info-members-header") + .replace("%NUMBER%", ColorUtils.translateColorCodes(clanMembersSize.toString())))); for (String clanMember : clanMembers) { if (clanMember != null) { UUID memberUUID = UUID.fromString(clanMember); diff --git a/src/main/java/xyz/gamlin/clans/expansions/PlayerClanExpansion.java b/src/main/java/xyz/gamlin/clans/expansions/PlayerClanExpansion.java index 2ee3c13..bfe9798 100644 --- a/src/main/java/xyz/gamlin/clans/expansions/PlayerClanExpansion.java +++ b/src/main/java/xyz/gamlin/clans/expansions/PlayerClanExpansion.java @@ -23,7 +23,7 @@ public class PlayerClanExpansion extends PlaceholderExpansion { @Override public @NotNull String getVersion() { - return "1.2.3"; + return "1.2.4"; } @Override diff --git a/src/main/java/xyz/gamlin/clans/listeners/PlayerConnectionEvent.java b/src/main/java/xyz/gamlin/clans/listeners/PlayerConnectionEvent.java new file mode 100644 index 0000000..968d2ce --- /dev/null +++ b/src/main/java/xyz/gamlin/clans/listeners/PlayerConnectionEvent.java @@ -0,0 +1,16 @@ +package xyz.gamlin.clans.listeners; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import xyz.gamlin.clans.Clans; + +public class PlayerConnectionEvent implements Listener { + + @EventHandler + public void onPlayerJoin(PlayerJoinEvent event){ + Player player = event.getPlayer(); + Clans.connectedPlayers.put(player, player.getName()); + } +} diff --git a/src/main/java/xyz/gamlin/clans/listeners/PlayerDisconnectEvent.java b/src/main/java/xyz/gamlin/clans/listeners/PlayerDisconnectEvent.java new file mode 100644 index 0000000..fdc12a9 --- /dev/null +++ b/src/main/java/xyz/gamlin/clans/listeners/PlayerDisconnectEvent.java @@ -0,0 +1,16 @@ +package xyz.gamlin.clans.listeners; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerQuitEvent; +import xyz.gamlin.clans.Clans; + +public class PlayerDisconnectEvent implements Listener { + + @EventHandler + public void onPlayerQuit(PlayerQuitEvent event){ + Player player = event.getPlayer(); + Clans.connectedPlayers.remove(player); + } +} diff --git a/src/main/java/xyz/gamlin/clans/utils/ClansStorageUtil.java b/src/main/java/xyz/gamlin/clans/utils/ClansStorageUtil.java index c03804d..7c5d8df 100644 --- a/src/main/java/xyz/gamlin/clans/utils/ClansStorageUtil.java +++ b/src/main/java/xyz/gamlin/clans/utils/ClansStorageUtil.java @@ -56,6 +56,7 @@ public static void restoreClans() throws IOException { double clanHomeZ = clansStorage.getDouble("clans.data." + key + ".clanHome.z"); float clanHomeYaw = (float) clansStorage.getDouble("clans.data." + key + ".clanHome.yaw"); float clanHomePitch = (float) clansStorage.getDouble("clans.data." + key + ".clanHome.pitch"); + Clan clan = new Clan(key, clanFinalName); clan.setClanPrefix(clanPrefix); clan.setClanMembers(clanMembers); @@ -68,6 +69,7 @@ public static void restoreClans() throws IOException { clan.setClanHomeZ(clanHomeZ); clan.setClanHomeYaw(clanHomeYaw); clan.setClanHomePitch(clanHomePitch); + clansList.put(uuid, clan); }); } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index fd2617f..d2c981e 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -37,6 +37,17 @@ clan-size: group-5: 20 #Perm: 'clanslite.maxclansize.group5' group-6: 24 #Perm: 'clanslite.maxclansize.group6' +clan-creation: + #Do you want a message to be sent to all players when a new clan is created? [Default value: true] + announce-to-all: true + #Do you want the message sent as a title instead of a chat message? [Default value: true] + send-as-title: true + +clan-join: + #Do you want a message to be sent to all players when a player joins a clan? [Default value: true] + announce-to-all: true + #Do you want the message sent as a title instead of a chat message? [Default value: false] + send-as-title: false clan-chat: #Enable the clan chat system. [Default value: true] diff --git a/src/main/resources/messages.yml b/src/main/resources/messages.yml index 4ee705b..a14a9f4 100644 --- a/src/main/resources/messages.yml +++ b/src/main/resources/messages.yml @@ -16,6 +16,9 @@ clan-created-successfully: "&3Clan &6%CLAN% &3was Created!" clan-name-already-taken: "&3Sorry but &6%CLAN% &3is already taken.\n&3Please choose another!" clan-name-is-banned: "&3Sorry but &6%CLAN% &3is a &cBANNED &3name!\n&3Please choose another!" clan-creation-failed: "&3Clan &6%CLAN% &3was NOT created, please make sure you're not already in a clan!" +clan-created-broadcast-chat: "&6%CLANOWNER%&3 Created a new clan!\n&3The new clan is called &6%CLAN%&3!" +clan-created-broadcast-title-1: "&6%CLANOWNER%&3 Created a new clan!" +clan-created-broadcast-title-2: "&3The new clan is called &6%CLAN%&3!" #Clan Disbanded Messages clan-successfully-disbanded: "&3Clan was disbanded!" @@ -37,6 +40,9 @@ clan-join-successful: "&3Successfully joined &6%CLAN%&3!" clan-join-failed: "&3Failed to join &6%CLAN%&3" clan-join-failed-no-valid-clan: "&3Failed to join a clan - no clan was found!" clan-join-failed-no-invite: "&3Failed to join a clan - no invite was found!" +clan-join-broadcast-chat: "&6%PLAYER%&3 Has joined a clan!\n&3The player's joined clan is &6%CLAN%&3!" +clan-join-broadcast-title-1: "&6%PLAYER%&3 Has joined a clan!" +clan-join-broadcast-title-2: "&3The player's joined clan is &6%CLAN%&3!" #Clan Leave Messages failed-clan-owner: "&3You are the owner of a clan, use &6/clan disband&3." @@ -54,8 +60,8 @@ failed-cannot-kick-yourself: "&3You cannot kick yourself, use &6/clan leave&3." #Clan Prefix Messages clan-prefix-change-successful: "&3Successfully changed clan prefix to &6%CLANPREFIX%&3!" -clan-prefix-too-long: "&3Clan prefix too long - maximum length is &632 &3characters." -clan-prefix-too-short: "&3Clan prefix too short - minimum length is &63 &3characters." +clan-prefix-too-long: "&3Clan prefix too long - maximum length is &6%CHARMAX% &3characters." +clan-prefix-too-short: "&3Clan prefix too short - minimum length is &6%CHARMIN% &3characters." clan-invalid-prefix: "&3Please provide a new prefix. Use &b/clan prefix &3!" clan-prefix-already-taken: "&3Sorry but &6%CLANPREFIX% &3is already taken.\n&3Please choose another!" clan-prefix-is-banned: "&3Sorry but &6%CLANPREFIX% &3is a &cBANNED &3name!\n&3Please choose another!" @@ -70,7 +76,7 @@ clans-list-footer: "\n&7-----" clan-info-header: "&7----- &6ClanInfo &7-----&r\n&3Name: %CLAN%&r\n&3Prefix: &7(%CLANPREFIX%&r&7)&r" clan-info-owner-online: "\n\n&3Owner: &a%OWNER%" clan-info-owner-offline: "\n\n&3Owner: &c%OWNER%&7&o(offline)" -clan-info-members-header: "\n\n&3Members:" +clan-info-members-header: "\n\n&3Members: &3&o(%NUMBER%)" clan-info-members-online: "\n&a%MEMBER%\n" clan-info-members-offline: "\n&c%MEMBER%&7&o(offline)\n" clan-info-allies-header: "\n\n&3Allied Clans:" diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 9ec28f1..9f81240 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -4,7 +4,7 @@ main: xyz.gamlin.clans.Clans api-version: 1.13 prefix: ClansLite authors: [Loving11ish] -description: A simple clans plugin for Minecraft. +description: A simple and lightweight Clans plugin for Minecraft. website: https://www.spigotmc.org/resources/clanslite.97163/ softdepend: [PlaceholderAPI] commands: