From bc4c1ae4fd69a6ee59fee199cf6c531e0085a966 Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Sun, 7 Mar 2021 17:26:28 -0600 Subject: [PATCH] Added null check and warning message for reload player data loading. Will be triggered if player data is missing for a currently online player after a config reload. --- src/mineverse/Aust1n46/chat/MineverseChat.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/mineverse/Aust1n46/chat/MineverseChat.java b/src/mineverse/Aust1n46/chat/MineverseChat.java index 186610b..ba14da2 100644 --- a/src/mineverse/Aust1n46/chat/MineverseChat.java +++ b/src/mineverse/Aust1n46/chat/MineverseChat.java @@ -228,11 +228,25 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { PlayerData.loadPlayerData(); for(Player p : this.getServer().getOnlinePlayers()) { MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(p); - mcp.setName(p.getName()); + 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(); + ChatChannel current = ChatChannel.getDefaultChannel(); + Set ignores = new HashSet(); + Set listening = new HashSet(); + listening.add(current.getName()); + HashMap mutes = new HashMap(); + Set blockedCommands = new HashSet(); + String jsonFormat = "Default"; + mcp = new MineverseChatPlayer(uuid, name, current, ignores, listening, mutes, blockedCommands, false, null, true, true, name, jsonFormat, false, false, false, true, true); + } mcp.setOnline(true); mcp.setHasPlayed(false); mcp.setJsonFormat(); MineverseChatAPI.addMineverseChatOnlinePlayerToMap(mcp); + MineverseChatAPI.addNameToMap(mcp); } FileConfiguration config = getConfig();