From e6dddf2efc1c59624fbe8cf2b59f23004d8a776d Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Tue, 29 Jun 2021 16:37:46 -0400 Subject: [PATCH 1/5] Updated version. --- src/bungee.yml | 2 +- src/plugin.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bungee.yml b/src/bungee.yml index e97014e..4c847b5 100644 --- a/src/bungee.yml +++ b/src/bungee.yml @@ -1,4 +1,4 @@ name: VentureChat main: mineverse.Aust1n46.chat.bungee.MineverseChatBungee -version: 2.23.0 +version: 2.23.1 author: Aust1n46 \ No newline at end of file diff --git a/src/plugin.yml b/src/plugin.yml index a314df7..5d4b0fe 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,5 +1,5 @@ name: VentureChat -version: 2.23.0 +version: 2.23.1 api-version: 1.13 main: mineverse.Aust1n46.chat.MineverseChat depend: [Vault, ProtocolLib, PlaceholderAPI] From da275411fd8eddfc5d0248d563f3b396d96517e6 Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Tue, 29 Jun 2021 16:38:27 -0400 Subject: [PATCH 2/5] 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(" ", " "); From a847a50bbefda9cf18d8d7adc05cb3d771f2d7b1 Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Thu, 1 Jul 2021 20:16:36 -0400 Subject: [PATCH 3/5] Check if command exists before trying to register it. --- src/bungee.yml | 2 +- .../chat/command/VentureCommandExecutor.java | 32 ++++++++++++------- src/plugin.yml | 2 +- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/bungee.yml b/src/bungee.yml index 4c847b5..071f1dd 100644 --- a/src/bungee.yml +++ b/src/bungee.yml @@ -1,4 +1,4 @@ name: VentureChat main: mineverse.Aust1n46.chat.bungee.MineverseChatBungee -version: 2.23.1 +version: 2.23.2 author: Aust1n46 \ No newline at end of file diff --git a/src/mineverse/Aust1n46/chat/command/VentureCommandExecutor.java b/src/mineverse/Aust1n46/chat/command/VentureCommandExecutor.java index aa2eeeb..89929fc 100644 --- a/src/mineverse/Aust1n46/chat/command/VentureCommandExecutor.java +++ b/src/mineverse/Aust1n46/chat/command/VentureCommandExecutor.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Map; import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; @@ -104,31 +105,38 @@ public class VentureCommandExecutor implements TabExecutor { commands.put("messagetoggle", new MessageToggle()); commands.put("bungeetoggle", new BungeeToggle()); for(String command : commands.keySet()) { - plugin.getCommand(command).setExecutor(commandExecutor); + registerCommand(command, commandExecutor); } plugin.getServer().getScheduler().runTaskLater(plugin, () -> { VentureCommand reply = new Reply(); commands.put("reply", reply); commands.put("r", reply); - plugin.getCommand("reply").setExecutor(commandExecutor); - plugin.getCommand("r").setExecutor(commandExecutor); + registerCommand("reply", commandExecutor); + registerCommand("r", commandExecutor); commands.put("mute", new Mute()); commands.put("muteall", new Muteall()); commands.put("unmute", new Unmute()); commands.put("unmuteall", new Unmuteall()); - plugin.getCommand("mute").setExecutor(commandExecutor); - plugin.getCommand("muteall").setExecutor(commandExecutor); - plugin.getCommand("unmute").setExecutor(commandExecutor); - plugin.getCommand("unmuteall").setExecutor(commandExecutor); + registerCommand("mute", commandExecutor); + registerCommand("muteall", commandExecutor); + registerCommand("unmute", commandExecutor); + registerCommand("unmuteall", commandExecutor); MessageCommandExecutor messageCommandExecutor = new MessageCommandExecutor(); - plugin.getCommand("message").setExecutor(messageCommandExecutor); - plugin.getCommand("msg").setExecutor(messageCommandExecutor); - plugin.getCommand("tell").setExecutor(messageCommandExecutor); - plugin.getCommand("whisper").setExecutor(messageCommandExecutor); - plugin.getCommand("ignore").setExecutor(new IgnoreCommandExecutor()); + registerCommand("message", messageCommandExecutor); + registerCommand("msg", messageCommandExecutor); + registerCommand("tell", messageCommandExecutor); + registerCommand("whisper", messageCommandExecutor); + + registerCommand("ignore", new IgnoreCommandExecutor()); }, 0); } + + private static void registerCommand(String command, CommandExecutor commandExecutor) { + if(plugin.getCommand(command) != null) { + plugin.getCommand(command).setExecutor(commandExecutor); + } + } } diff --git a/src/plugin.yml b/src/plugin.yml index 5d4b0fe..4edddb9 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,5 +1,5 @@ name: VentureChat -version: 2.23.1 +version: 2.23.2 api-version: 1.13 main: mineverse.Aust1n46.chat.MineverseChat depend: [Vault, ProtocolLib, PlaceholderAPI] From bff5797a343bd225396f2ec12cd0b2da43d758f2 Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Thu, 1 Jul 2021 20:23:33 -0400 Subject: [PATCH 4/5] Added 'None' option to the message sound. --- src/config.yml | 1 + src/example_config_always_up_to_date!.yml | 1 + src/mineverse/Aust1n46/chat/utilities/Format.java | 7 +++++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/config.yml b/src/config.yml index 8e32d18..88ed9bc 100644 --- a/src/config.yml +++ b/src/config.yml @@ -100,6 +100,7 @@ unmuteinterval: 60 bungeecordmessaging: false # Sound for message notification +# Enter 'None' to disable the sound message_sound: ENTITY_PLAYER_LEVELUP # This will allow vanished players to be exempt from being sent private messages, and will act as if they aren't online diff --git a/src/example_config_always_up_to_date!.yml b/src/example_config_always_up_to_date!.yml index 8e32d18..88ed9bc 100644 --- a/src/example_config_always_up_to_date!.yml +++ b/src/example_config_always_up_to_date!.yml @@ -100,6 +100,7 @@ unmuteinterval: 60 bungeecordmessaging: false # Sound for message notification +# Enter 'None' to disable the sound message_sound: ENTITY_PLAYER_LEVELUP # This will allow vanished players to be exempt from being sent private messages, and will act as if they aren't online diff --git a/src/mineverse/Aust1n46/chat/utilities/Format.java b/src/mineverse/Aust1n46/chat/utilities/Format.java index e80cf99..2b73015 100644 --- a/src/mineverse/Aust1n46/chat/utilities/Format.java +++ b/src/mineverse/Aust1n46/chat/utilities/Format.java @@ -902,8 +902,11 @@ public class Format { public static void playMessageSound(MineverseChatPlayer mcp) { Player player = mcp.getPlayer(); - Sound messageSound = getSound(getInstance().getConfig().getString("message_sound", DEFAULT_MESSAGE_SOUND)); - player.playSound(player.getLocation(), messageSound, 1, 0); + String soundName = getInstance().getConfig().getString("message_sound", DEFAULT_MESSAGE_SOUND); + if(!soundName.equalsIgnoreCase("None")) { + Sound messageSound = getSound(soundName); + player.playSound(player.getLocation(), messageSound, 1, 0); + } } private static Sound getSound(String soundName) { From f64079727618f592b012f93bc0e4cc954f91e42a Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Tue, 13 Jul 2021 20:19:43 -0400 Subject: [PATCH 5/5] Updated version. --- src/bungee.yml | 2 +- src/mineverse/Aust1n46/chat/listeners/CommandListener.java | 5 +++++ src/plugin.yml | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bungee.yml b/src/bungee.yml index 071f1dd..baa6c21 100644 --- a/src/bungee.yml +++ b/src/bungee.yml @@ -1,4 +1,4 @@ name: VentureChat main: mineverse.Aust1n46.chat.bungee.MineverseChatBungee -version: 2.23.2 +version: 2.23.3 author: Aust1n46 \ 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 73963ff..aaf313a 100644 --- a/src/mineverse/Aust1n46/chat/listeners/CommandListener.java +++ b/src/mineverse/Aust1n46/chat/listeners/CommandListener.java @@ -13,6 +13,7 @@ import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.versions.VersionHandler; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.Command; @@ -38,6 +39,10 @@ public class CommandListener implements CommandExecutor, Listener { @EventHandler public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws FileNotFoundException { + if(event.getPlayer() == null) { + Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Event.getPlayer() returned null in PlayerCommandPreprocessEvent")); + return; + } ConfigurationSection cs = plugin.getConfig().getConfigurationSection("commandspy"); Boolean wec = cs.getBoolean("worldeditcommands", true); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(event.getPlayer()); diff --git a/src/plugin.yml b/src/plugin.yml index 4edddb9..41bdd55 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,5 +1,5 @@ name: VentureChat -version: 2.23.2 +version: 2.23.3 api-version: 1.13 main: mineverse.Aust1n46.chat.MineverseChat depend: [Vault, ProtocolLib, PlaceholderAPI]