From 408524decfd3884502d99b47438d082b02045054 Mon Sep 17 00:00:00 2001 From: Garsooon Date: Sat, 11 Oct 2025 11:11:30 +0900 Subject: [PATCH] Use UUID instead of player name for storage --- pom.xml | 7 +- .../custommessages/CustomMessages.java | 82 +++++++++++++------ src/main/resources/plugin.yml | 2 +- 3 files changed, 62 insertions(+), 29 deletions(-) diff --git a/pom.xml b/pom.xml index 3add544..cd2b823 100644 --- a/pom.xml +++ b/pom.xml @@ -6,12 +6,11 @@ org.garsooon CustomMessages - 1.0.2 - + 1.0.3 jar - Plugin - A plugin + CustomeMessages + A plugin for Beta 1.7.3 Minecraft, that adds custom player join and leave messages 8 diff --git a/src/main/java/org/garsooon/custommessages/CustomMessages.java b/src/main/java/org/garsooon/custommessages/CustomMessages.java index 9758f61..5fbe031 100644 --- a/src/main/java/org/garsooon/custommessages/CustomMessages.java +++ b/src/main/java/org/garsooon/custommessages/CustomMessages.java @@ -1,5 +1,7 @@ package org.garsooon.custommessages; +import com.projectposeidon.api.PoseidonUUID; + import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -17,6 +19,7 @@ import java.util.*; import java.util.regex.Pattern; import java.util.regex.Matcher; +import java.util.UUID; public class CustomMessages extends JavaPlugin { private Properties messages; @@ -192,7 +195,7 @@ private boolean handleSetJoin(CommandSender sender, String[] args) { if (!validateMessage(sender, message)) return true; message = applyDefaultGold(message); - setJoinMessage(player.getName(), message); + setJoinMessage(player.getUniqueId(), message); player.sendMessage(ChatColor.GREEN + "Join message set to: " + ChatColor.WHITE + message.replace("%player%", player.getName())); return true; } @@ -219,7 +222,7 @@ private boolean handleSetLeave(CommandSender sender, String[] args) { if (!validateMessage(sender, message)) return true; message = applyDefaultGold(message); - setLeaveMessage(player.getName(), message); + setLeaveMessage(player.getUniqueId(), message); player.sendMessage(ChatColor.GREEN + "Leave message set to: " + ChatColor.WHITE + message.replace("%player%", player.getName())); return true; } @@ -236,6 +239,12 @@ private boolean handleSetPlayerJoin(CommandSender sender, String[] args) { } String targetPlayer = args[0]; + UUID uuid = PoseidonUUID.getPlayerGracefulUUID(targetPlayer); + if (uuid == null) { + sender.sendMessage(ChatColor.RED + "Could not find player or UUID for: " + targetPlayer); + return true; + } + String[] msgArgs = new String[args.length - 1]; System.arraycopy(args, 1, msgArgs, 0, args.length - 1); String message = String.join(" ", msgArgs); @@ -243,7 +252,7 @@ private boolean handleSetPlayerJoin(CommandSender sender, String[] args) { if (!validateMessage(sender, message)) return true; message = applyDefaultGold(message); - setJoinMessage(targetPlayer, message); + setJoinMessage(uuid, message); sender.sendMessage(ChatColor.GREEN + "Set " + targetPlayer + "'s join message to: " + ChatColor.WHITE + message); return true; } @@ -260,6 +269,12 @@ private boolean handleSetPlayerLeave(CommandSender sender, String[] args) { } String targetPlayer = args[0]; + UUID uuid = PoseidonUUID.getPlayerGracefulUUID(targetPlayer); + if (uuid == null) { + sender.sendMessage(ChatColor.RED + "Could not find player or UUID for: " + targetPlayer); + return true; + } + String[] msgArgs = new String[args.length - 1]; System.arraycopy(args, 1, msgArgs, 0, args.length - 1); String message = String.join(" ", msgArgs); @@ -267,7 +282,7 @@ private boolean handleSetPlayerLeave(CommandSender sender, String[] args) { if (!validateMessage(sender, message)) return true; message = applyDefaultGold(message); - setLeaveMessage(targetPlayer, message); + setLeaveMessage(uuid, message); sender.sendMessage(ChatColor.GREEN + "Set " + targetPlayer + "'s leave message to: " + ChatColor.WHITE + message); return true; } @@ -284,8 +299,14 @@ private boolean handleViewMessages(CommandSender sender, String[] args) { } String targetPlayer = args[0]; - String joinMsg = getJoinMessage(targetPlayer); - String leaveMsg = getLeaveMessage(targetPlayer); + UUID uuid = PoseidonUUID.getPlayerGracefulUUID(targetPlayer); + if (uuid == null) { + sender.sendMessage(ChatColor.RED + "Could not find player or UUID for: " + targetPlayer); + return true; + } + + String joinMsg = getJoinMessage(uuid); + String leaveMsg = getLeaveMessage(uuid); sender.sendMessage(ChatColor.GOLD + "=== Messages for " + targetPlayer + " ==="); sender.sendMessage(ChatColor.YELLOW + "Join: " + ChatColor.WHITE + @@ -307,34 +328,50 @@ private boolean handleResetMessages(CommandSender sender, String[] args) { } String targetPlayer = args[0]; - messages.remove(targetPlayer + ".join"); - messages.remove(targetPlayer + ".leave"); + UUID uuid = PoseidonUUID.getPlayerGracefulUUID(targetPlayer); + if (uuid == null) { + sender.sendMessage(ChatColor.RED + "Could not find player or UUID for: " + targetPlayer); + return true; + } + + messages.remove(uuid.toString() + ".join"); + messages.remove(uuid.toString() + ".leave"); saveMessages(); sender.sendMessage(ChatColor.GREEN + "Reset messages for " + targetPlayer); return true; } - - - public String getJoinMessage(String playerName) { - return messages.getProperty(playerName + ".join"); + public String getJoinMessage(UUID uuid) { + return messages.getProperty(uuid.toString() + ".join"); } - public String getLeaveMessage(String playerName) { - return messages.getProperty(playerName + ".leave"); + public String getLeaveMessage(UUID uuid) { + return messages.getProperty(uuid.toString() + ".leave"); } - public void setJoinMessage(String playerName, String message) { - messages.setProperty(playerName + ".join", message); + public void setJoinMessage(UUID uuid, String message) { + messages.setProperty(uuid.toString() + ".join", message); saveMessages(); } - public void setLeaveMessage(String playerName, String message) { - messages.setProperty(playerName + ".leave", message); + public void setLeaveMessage(UUID uuid, String message) { + messages.setProperty(uuid.toString() + ".leave", message); saveMessages(); } + @Deprecated + public String getJoinMessage(String playerName) { + UUID uuid = PoseidonUUID.getPlayerGracefulUUID(playerName); + if (uuid != null) return getJoinMessage(uuid); + return null; + } + @Deprecated + public String getLeaveMessage(String playerName) { + UUID uuid = PoseidonUUID.getPlayerGracefulUUID(playerName); + if (uuid != null) return getLeaveMessage(uuid); + return null; + } private void loadMessages() { if (!messagesFile.exists()) { @@ -396,8 +433,7 @@ public CustomMessageListener(CustomMessages plugin) { @Override public void onPlayerJoin(PlayerJoinEvent event) { Player player = event.getPlayer(); - String customMsg = plugin.getJoinMessage(player.getName()); - + String customMsg = plugin.getJoinMessage(player.getUniqueId()); if (customMsg != null) { event.setJoinMessage(plugin.translateColorCodes( customMsg.replace("%player%", player.getName()))); @@ -407,8 +443,7 @@ public void onPlayerJoin(PlayerJoinEvent event) { @Override public void onPlayerQuit(PlayerQuitEvent event) { Player player = event.getPlayer(); - String customMsg = plugin.getLeaveMessage(player.getName()); - + String customMsg = plugin.getLeaveMessage(player.getUniqueId()); if (customMsg != null) { event.setQuitMessage(plugin.translateColorCodes( customMsg.replace("%player%", player.getName()))); @@ -418,8 +453,7 @@ public void onPlayerQuit(PlayerQuitEvent event) { @Override public void onPlayerKick(PlayerKickEvent event) { Player player = event.getPlayer(); - String customMsg = plugin.getLeaveMessage(player.getName()); - + String customMsg = plugin.getLeaveMessage(player.getUniqueId()); if (customMsg != null && !event.isCancelled()) { event.setLeaveMessage(plugin.translateColorCodes( customMsg.replace("%player%", player.getName()))); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4d8d7e2..1fe8485 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: CustomMessages -version: 1.0.2 +version: 1.0.3 main: org.garsooon.custommessages.CustomMessages author: Garsooon