From da275411fd8eddfc5d0248d563f3b396d96517e6 Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Tue, 29 Jun 2021 16:38:27 -0400 Subject: [PATCH] Fixed /chatreload. --- .../Aust1n46/chat/MineverseChat.java | 31 ++++++----------- .../Aust1n46/chat/channel/ChatChannel.java | 8 ++--- .../chat/command/chat/Chatreload.java | 34 +++++++++++++++++-- .../Aust1n46/chat/listeners/ChatListener.java | 2 +- 4 files changed, 46 insertions(+), 29 deletions(-) diff --git a/src/mineverse/Aust1n46/chat/MineverseChat.java b/src/mineverse/Aust1n46/chat/MineverseChat.java index 7cb86a6..ae6d903 100644 --- a/src/mineverse/Aust1n46/chat/MineverseChat.java +++ b/src/mineverse/Aust1n46/chat/MineverseChat.java @@ -104,34 +104,15 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Checking for Vault...")); if(!setupPermissions() || !setupChat()) { - Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - &cCould not find Vault dependency, disabling.")); + Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - &cCould not find Vault and/or a Vault compatible permissions plugin!")); Bukkit.getPluginManager().disablePlugin(this); } - Localization.initialize(); - Alias.initialize(); - JsonFormat.initialize(); - GuiSlot.initialize(); - ChatChannel.initialize(false); + initializeConfigReaders(); Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Loading player data")); PlayerData.loadLegacyPlayerData(); PlayerData.loadPlayerData(); - for(Player p : getServer().getOnlinePlayers()) { - MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(p); - if(mcp == null) { - Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName())); - Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - There could be an issue with your player data saving.")); - String name = p.getName(); - UUID uuid = p.getUniqueId(); - mcp = new MineverseChatPlayer(uuid, name); - } - mcp.setOnline(true); - mcp.setHasPlayed(false); - mcp.setJsonFormat(); - MineverseChatAPI.addMineverseChatOnlinePlayerToMap(mcp); - MineverseChatAPI.addNameToMap(mcp); - } Bukkit.getScheduler().runTaskAsynchronously(this, () -> { Database.initializeMySQL(); @@ -258,6 +239,14 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { return getPlugin(MineverseChat.class); } + public static void initializeConfigReaders() { + Localization.initialize(); + Alias.initialize(); + JsonFormat.initialize(); + GuiSlot.initialize(); + ChatChannel.initialize(false); + } + public static Chat getVaultChat() { return chat; } diff --git a/src/mineverse/Aust1n46/chat/channel/ChatChannel.java b/src/mineverse/Aust1n46/chat/channel/ChatChannel.java index 437c8ef..a45435a 100644 --- a/src/mineverse/Aust1n46/chat/channel/ChatChannel.java +++ b/src/mineverse/Aust1n46/chat/channel/ChatChannel.java @@ -21,16 +21,16 @@ import mineverse.Aust1n46.chat.utilities.Format; public class ChatChannel { private static final String PERMISSION_PREFIX = "venturechat."; private static final String NO_PERMISSIONS = "venturechat.none"; + + private static boolean aliasesRegisteredAsCommands; private static MineverseChat plugin = MineverseChat.getInstance(); private static ChatChannel defaultChatChannel; - private static boolean aliasesRegisteredAsCommands; + private static String defaultColor; + private static HashMap chatChannels; @Deprecated private static ChatChannel[] channels; - - private static String defaultColor; - private static HashMap chatChannels; private String name; private String permission; diff --git a/src/mineverse/Aust1n46/chat/command/chat/Chatreload.java b/src/mineverse/Aust1n46/chat/command/chat/Chatreload.java index e350f02..038b7b8 100644 --- a/src/mineverse/Aust1n46/chat/command/chat/Chatreload.java +++ b/src/mineverse/Aust1n46/chat/command/chat/Chatreload.java @@ -1,13 +1,18 @@ package mineverse.Aust1n46.chat.command.chat; +import java.util.UUID; + import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.command.VentureCommand; +import mineverse.Aust1n46.chat.database.PlayerData; import mineverse.Aust1n46.chat.localization.LocalizedMessage; +import mineverse.Aust1n46.chat.utilities.Format; public class Chatreload implements VentureCommand { private MineverseChat plugin = MineverseChat.getInstance(); @@ -15,10 +20,33 @@ public class Chatreload implements VentureCommand { @Override public void execute(CommandSender sender, String command, String[] args) { if(sender.hasPermission("venturechat.reload")) { + PlayerData.savePlayerData(); + MineverseChatAPI.clearMineverseChatPlayerMap(); + MineverseChatAPI.clearNameMap(); + MineverseChatAPI.clearOnlineMineverseChatPlayerMap(); + plugin.reloadConfig(); - Bukkit.getPluginManager().disablePlugin(plugin); - Bukkit.getPluginManager().enablePlugin(plugin); - plugin.getServer().getLogger().info("[VentureChat] Config reloaded"); + MineverseChat.initializeConfigReaders(); + + PlayerData.loadLegacyPlayerData(); + PlayerData.loadPlayerData(); + for(Player p : plugin.getServer().getOnlinePlayers()) { + MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(p); + if(mcp == null) { + Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName())); + Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - There could be an issue with your player data saving.")); + String name = p.getName(); + UUID uuid = p.getUniqueId(); + mcp = new MineverseChatPlayer(uuid, name); + } + mcp.setOnline(true); + mcp.setHasPlayed(false); + mcp.setJsonFormat(); + MineverseChatAPI.addMineverseChatOnlinePlayerToMap(mcp); + MineverseChatAPI.addNameToMap(mcp); + } + + Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded")); for(MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) { if(player.getPlayer().hasPermission("venturechat.reload")) { player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString()); diff --git a/src/mineverse/Aust1n46/chat/listeners/ChatListener.java b/src/mineverse/Aust1n46/chat/listeners/ChatListener.java index bec0a3b..0eddd8d 100644 --- a/src/mineverse/Aust1n46/chat/listeners/ChatListener.java +++ b/src/mineverse/Aust1n46/chat/listeners/ChatListener.java @@ -343,7 +343,7 @@ public class ChatListener implements Listener { chDistance = eventChannel.getDistance(); } - format = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), Format.FormatStringAll(plugin.getConfig().getConfigurationSection("channels." + eventChannel.getName()).getString("format")))); + format = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), Format.FormatStringAll(eventChannel.getFormat()))); if(plugin.getConfig().getBoolean("formatcleaner", false)) { format = format.replace("[]", " "); format = format.replace(" ", " ").replace(" ", " ").replace(" ", " ");