From c1f94dc4d0ad268e3808f2dcff6bc5539eda6c3e Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Thu, 15 Apr 2021 23:37:37 -0500 Subject: [PATCH] Refactored alias implementation. --- .../Aust1n46/chat/MineverseChat.java | 8 ++-- src/mineverse/Aust1n46/chat/alias/Alias.java | 25 ++++++++++- .../Aust1n46/chat/alias/AliasInfo.java | 41 ------------------- .../chat/listeners/CommandListener.java | 10 +---- 4 files changed, 29 insertions(+), 55 deletions(-) delete mode 100644 src/mineverse/Aust1n46/chat/alias/AliasInfo.java diff --git a/src/mineverse/Aust1n46/chat/MineverseChat.java b/src/mineverse/Aust1n46/chat/MineverseChat.java index c932638..b20cde9 100644 --- a/src/mineverse/Aust1n46/chat/MineverseChat.java +++ b/src/mineverse/Aust1n46/chat/MineverseChat.java @@ -35,7 +35,7 @@ import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.utility.MinecraftReflection; import me.clip.placeholderapi.PlaceholderAPI; -import mineverse.Aust1n46.chat.alias.AliasInfo; +import mineverse.Aust1n46.chat.alias.Alias; import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.events.VentureChatEvent; @@ -78,7 +78,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { private static Field knownCommands; // Misc -------------------------------- - public static AliasInfo aaInfo; public boolean quickchat = true; private static final Logger log = Logger.getLogger("Minecraft"); @@ -152,9 +151,8 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { Localization.initialize(); Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Registering Listeners")); - // Channel information reference - aaInfo = new AliasInfo(this); + Alias.initialize(); JsonFormat.initialize(); GuiSlot.initialize(); @@ -336,7 +334,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { pluginManager.registerEvents(new Channel(), this); pluginManager.registerEvents(new ChatListener(), this); pluginManager.registerEvents(new SignListener(), this); - pluginManager.registerEvents(new CommandListener(aaInfo), this); + pluginManager.registerEvents(new CommandListener(), this); pluginManager.registerEvents(new LoginListener(), this); } diff --git a/src/mineverse/Aust1n46/chat/alias/Alias.java b/src/mineverse/Aust1n46/chat/alias/Alias.java index 568e773..eff8783 100644 --- a/src/mineverse/Aust1n46/chat/alias/Alias.java +++ b/src/mineverse/Aust1n46/chat/alias/Alias.java @@ -1,8 +1,16 @@ package mineverse.Aust1n46.chat.alias; +import java.util.ArrayList; import java.util.List; +import org.bukkit.configuration.ConfigurationSection; + +import mineverse.Aust1n46.chat.MineverseChat; + public class Alias { + private static MineverseChat plugin = MineverseChat.getInstance(); + private static List aliases = new ArrayList(); + private String name; private int arguments; private List components; @@ -14,6 +22,21 @@ public class Alias { this.components = components; this.permission = "venturechat." + permission; } + + public static void initialize() { + ConfigurationSection cs = plugin.getConfig().getConfigurationSection("alias"); + for(String key : cs.getKeys(false)) { + String name = key; + int arguments = cs.getInt(key + ".arguments", 0); + List components = cs.getStringList(key + ".components"); + String permissions = cs.getString(key + ".permissions", "None"); + aliases.add(new Alias(name, arguments, components, permissions)); + } + } + + public static List getAliases() { + return aliases; + } public String getName() { return name; @@ -34,4 +57,4 @@ public class Alias { public boolean hasPermission() { return !permission.equalsIgnoreCase("venturechat.none"); } -} \ No newline at end of file +} diff --git a/src/mineverse/Aust1n46/chat/alias/AliasInfo.java b/src/mineverse/Aust1n46/chat/alias/AliasInfo.java deleted file mode 100644 index 6ab6e26..0000000 --- a/src/mineverse/Aust1n46/chat/alias/AliasInfo.java +++ /dev/null @@ -1,41 +0,0 @@ -package mineverse.Aust1n46.chat.alias; - -import java.util.List; - -import org.bukkit.configuration.ConfigurationSection; - -import mineverse.Aust1n46.chat.MineverseChat; - -public class AliasInfo { - private Alias[] aa; - - public AliasInfo(MineverseChat plugin) { - String name = ""; - int arguments = 0; - String permissions; - List components; - ConfigurationSection cs = plugin.getConfig().getConfigurationSection("alias"); - aa = new Alias[cs.getKeys(false).size()]; - int x = 0; - for(String key : cs.getKeys(false)) { - name = key; - arguments = cs.getInt(key + ".arguments", 0); - components = cs.getStringList(key + ".components"); - permissions = cs.getString(key + ".permissions", "None"); - Alias a = new Alias(name, arguments, components, permissions); - aa[x++] = a; - } - } - - public Alias[] getAliases() { - return aa; - } - - public Alias getAliasInfo(String name) { - for(Alias a : aa) { - if(a.getName().equalsIgnoreCase(name)) - return a; - } - return null; - } -} \ No newline at end of file diff --git a/src/mineverse/Aust1n46/chat/listeners/CommandListener.java b/src/mineverse/Aust1n46/chat/listeners/CommandListener.java index e75dde1..fdfc254 100644 --- a/src/mineverse/Aust1n46/chat/listeners/CommandListener.java +++ b/src/mineverse/Aust1n46/chat/listeners/CommandListener.java @@ -4,7 +4,6 @@ import java.io.FileNotFoundException; import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.alias.Alias; -import mineverse.Aust1n46.chat.alias.AliasInfo; import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.channel.ChatChannel; @@ -36,11 +35,6 @@ import me.clip.placeholderapi.PlaceholderAPI; //in the custom commands such as aliases. public class CommandListener implements CommandExecutor, Listener { private MineverseChat plugin = MineverseChat.getInstance(); - private AliasInfo aa; - - public CommandListener(AliasInfo aa) { - this.aa = aa; - } @EventHandler public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws FileNotFoundException { @@ -81,7 +75,7 @@ public class CommandListener implements CommandExecutor, Listener { Database.writeVentureChat(mcp.getUUID().toString(), mcp.getName(), "Local", "Command_Component", event.getMessage().replace("'", "''"), "Command"); } - for(Alias a : aa.getAliases()) { + for(Alias a : Alias.getAliases()) { if(message.toLowerCase().substring(1).split(" ")[0].equals(a.getName().toLowerCase())) { for(String s : a.getComponents()) { if(!mcp.getPlayer().hasPermission(a.getPermission()) && a.hasPermission()) { @@ -268,4 +262,4 @@ public class CommandListener implements CommandExecutor, Listener { } } } -} \ No newline at end of file +}