From 0fd004b6bcd4248b959208d0e0aa04d656c3f6cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hudson=20Andr=C3=A9s?= <123704241+hudsonandres@users.noreply.github.com> Date: Wed, 18 Mar 2026 00:08:01 -0300 Subject: [PATCH] fix: reset nickname when player changes Minecraft account name - When a premium player changes their Minecraft username, any previously set nickname (including RGB-formatted ones) is now automatically cleared on their next login, equivalent to running /nick off. --- .../com/earth2me/essentials/EssentialsPlayerListener.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java index c1fb775d7b4..aef3b1c0436 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java +++ b/Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java @@ -420,6 +420,12 @@ private void joinFlow(final User user, final long currentTime, final String mess final String lastAccountName = user.getLastAccountName(); // For comparison user.setLastAccountName(user.getBase().getName()); + + // If the Minecraft account name changed, reset the nickname so the old one doesn't persist + if (lastAccountName != null && !lastAccountName.equals(user.getBase().getName()) && user.getNickname() != null) { + user.setNickname(null); + } + user.setLastLogin(currentTime); user.setDisplayNick(); updateCompass(user);