From 7b3a73c125f14597e52315440a69ce885db1b854 Mon Sep 17 00:00:00 2001 From: benniofficialdev Date: Thu, 1 Jan 2026 14:52:12 +0100 Subject: [PATCH 1/8] Update Commandbalance.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added a vanish check for the automatic input corrector in getPlayer (fixed #6085). If the resolved target name (which may differ from argument[0] due to autocorrection) matches argument[0] case-insensitively, or the player is not vanished, the previous behavior is preserved. Otherwise, a fake player is created, resulting in the same “player not found” error as when the player is actually offline (with correct translation of message) -> fixed. --- .../com/earth2me/essentials/commands/Commandbalance.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java index 4e94a735afd..3e793bba2a5 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java @@ -28,7 +28,14 @@ protected void run(final Server server, final CommandSource sender, final String public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { if (args.length == 1 && user.isAuthorized("essentials.balance.others")) { final User target = getPlayer(server, args, 0, true, true); - user.sendTl("balanceOther", target.isHidden() ? target.getName() : target.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(target.getMoney(), ess))); + if(!target.isVanished() || target.getName().equalsIgnoreCase(args[0])) { + user.sendTl("balanceOther", target.isHidden() ? target.getName() : target.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(target.getMoney(), ess))); + } else { + final String[] targetListFake = new String[1]; + targetListFake[0] = "-"; + final User targetFake = getPlayer(server, targetListFake, 0, true, true); + user.sendTl("balanceOther", targetFake.isHidden() ? targetFake.getName() : targetFake.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(targetFake.getMoney(), ess))); + } } else if (args.length < 2) { user.sendTl("balance", AdventureUtil.parsed(NumberUtil.displayCurrency(user.getMoney(), ess))); } else { From b77a8e925fd18cc4e082ccaf2edf6e61e3a176b7 Mon Sep 17 00:00:00 2001 From: benniofficialdev Date: Thu, 1 Jan 2026 17:11:22 +0100 Subject: [PATCH 2/8] Update Commandbalance.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Simplified fix (#6386 (= Added a vanish check for the automatic input corrector in getPlayer (fixed #6085). If the resolved target name (which may differ from argument[0] due to autocorrection) matches argument[0] case-insensitively, or the player is not vanished, the previous behavior is preserved. Otherwise, a fake player is created, resulting in the same “player not found” error as when the player is actually offline (with correct translation of message) -> fixed.)) by adjusting getHidden to false -> fixed and simplified. --- .../earth2me/essentials/commands/Commandbalance.java | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java index 3e793bba2a5..7600d2a5561 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java @@ -27,15 +27,8 @@ protected void run(final Server server, final CommandSource sender, final String @Override public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { if (args.length == 1 && user.isAuthorized("essentials.balance.others")) { - final User target = getPlayer(server, args, 0, true, true); - if(!target.isVanished() || target.getName().equalsIgnoreCase(args[0])) { - user.sendTl("balanceOther", target.isHidden() ? target.getName() : target.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(target.getMoney(), ess))); - } else { - final String[] targetListFake = new String[1]; - targetListFake[0] = "-"; - final User targetFake = getPlayer(server, targetListFake, 0, true, true); - user.sendTl("balanceOther", targetFake.isHidden() ? targetFake.getName() : targetFake.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(targetFake.getMoney(), ess))); - } + final User target = getPlayer(server, args, 0, false, true); + user.sendTl("balanceOther", target.isHidden() ? target.getName() : target.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(target.getMoney(), ess))); } else if (args.length < 2) { user.sendTl("balance", AdventureUtil.parsed(NumberUtil.displayCurrency(user.getMoney(), ess))); } else { From b1332ec825da5fdeda72a0bb9caf76e24bb562ce Mon Sep 17 00:00:00 2001 From: benniofficialdev Date: Thu, 1 Jan 2026 17:12:46 +0100 Subject: [PATCH 3/8] Update Commandbalance.java Changed getHidden to true for console as it should be able to shortcut even vanished accounts. --- .../java/com/earth2me/essentials/commands/Commandbalance.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java index 7600d2a5561..75834c345a7 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java @@ -20,7 +20,7 @@ protected void run(final Server server, final CommandSource sender, final String throw new NotEnoughArgumentsException(); } - final User target = getPlayer(server, args, 0, false, true); + final User target = getPlayer(server, args, 0, true, true); sender.sendTl("balanceOther", target.isHidden() ? target.getName() : target.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(target.getMoney(), ess))); } From f0e1391524b8253acbce1846b51c662d24e16bc7 Mon Sep 17 00:00:00 2001 From: benniofficialdev Date: Thu, 1 Jan 2026 20:06:55 +0100 Subject: [PATCH 4/8] Update Commandignore.java Fixed vanish bug (if vanished, then handle as offlineUser). --- .../java/com/earth2me/essentials/commands/Commandignore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java index d50815af015..742987bb3f9 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java @@ -29,7 +29,7 @@ protected void run(final Server server, final User user, final String commandLab User player; try { - player = getPlayer(server, args, 0, true, true); + player = getPlayer(server, args, 0, false, true); } catch (final PlayerNotFoundException ex) { player = ess.getOfflineUser(args[0]); } From 17c88a881865e614d4c68ee7a4dd86c4978d80a9 Mon Sep 17 00:00:00 2001 From: benniofficialdev Date: Fri, 2 Jan 2026 15:11:54 +0100 Subject: [PATCH 5/8] Update Commandbalance.java Added implementation for vanish.see and vanish.interact to allow short form usage. --- .../com/earth2me/essentials/commands/Commandbalance.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java index 75834c345a7..1eb7b87b6d2 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java @@ -27,7 +27,12 @@ protected void run(final Server server, final CommandSource sender, final String @Override public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { if (args.length == 1 && user.isAuthorized("essentials.balance.others")) { - final User target = getPlayer(server, args, 0, false, true); + User target = null; + if(user.isAuthorized("essentials.vanish.see") || user.isAuthorized("essentials.vanish.interact")) { + target = getPlayer(server, args, 0, true, true); + } else { + target = getPlayer(server, args, 0, false, true); + } user.sendTl("balanceOther", target.isHidden() ? target.getName() : target.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(target.getMoney(), ess))); } else if (args.length < 2) { user.sendTl("balance", AdventureUtil.parsed(NumberUtil.displayCurrency(user.getMoney(), ess))); From 7b20a836b8fe8a6660352e7ace5ee9ecd660db61 Mon Sep 17 00:00:00 2001 From: benniofficialdev Date: Fri, 2 Jan 2026 15:44:41 +0100 Subject: [PATCH 6/8] Update Commandbalance.java Bugfix: If a player without permission uses /bal [player], their own balance is no longer shown. Instead, a permission error is sent to the player and logged in the console in the correct language -> fixed. --- .../com/earth2me/essentials/commands/Commandbalance.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java index 1eb7b87b6d2..e50aaa72a51 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java @@ -34,8 +34,11 @@ public void run(final Server server, final User user, final String commandLabel, target = getPlayer(server, args, 0, false, true); } user.sendTl("balanceOther", target.isHidden() ? target.getName() : target.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(target.getMoney(), ess))); - } else if (args.length < 2) { + } else if (args.length == 0) { user.sendTl("balance", AdventureUtil.parsed(NumberUtil.displayCurrency(user.getMoney(), ess))); + } else if (args.length == 1 && !user.isAuthorized("essentials.balance.others")) { + Essentials.getWrappedLogger().log(Level.INFO, AdventureUtil.miniToLegacy(tlLiteral("deniedAccessCommand", user.getName()))); + user.sendTl("noAccessCommand"); } else { throw new NotEnoughArgumentsException(); } From 893716b16326f5ae86adcfe7f8fb8f0c852462b0 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Sat, 3 Jan 2026 11:32:31 -0500 Subject: [PATCH 7/8] Update Commandbalance.java --- .../earth2me/essentials/commands/Commandbalance.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java index e50aaa72a51..75834c345a7 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java @@ -27,18 +27,10 @@ protected void run(final Server server, final CommandSource sender, final String @Override public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { if (args.length == 1 && user.isAuthorized("essentials.balance.others")) { - User target = null; - if(user.isAuthorized("essentials.vanish.see") || user.isAuthorized("essentials.vanish.interact")) { - target = getPlayer(server, args, 0, true, true); - } else { - target = getPlayer(server, args, 0, false, true); - } + final User target = getPlayer(server, args, 0, false, true); user.sendTl("balanceOther", target.isHidden() ? target.getName() : target.getDisplayName(), AdventureUtil.parsed(NumberUtil.displayCurrency(target.getMoney(), ess))); - } else if (args.length == 0) { + } else if (args.length < 2) { user.sendTl("balance", AdventureUtil.parsed(NumberUtil.displayCurrency(user.getMoney(), ess))); - } else if (args.length == 1 && !user.isAuthorized("essentials.balance.others")) { - Essentials.getWrappedLogger().log(Level.INFO, AdventureUtil.miniToLegacy(tlLiteral("deniedAccessCommand", user.getName()))); - user.sendTl("noAccessCommand"); } else { throw new NotEnoughArgumentsException(); } From c4572ae89950606f33a788b97464ef2a137950cd Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Sat, 3 Jan 2026 11:32:46 -0500 Subject: [PATCH 8/8] Update Commandignore.java --- .../earth2me/essentials/commands/Commandignore.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java index 742987bb3f9..488c2a0ee7d 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java @@ -27,15 +27,7 @@ protected void run(final Server server, final User user, final String commandLab return; } - User player; - try { - player = getPlayer(server, args, 0, false, true); - } catch (final PlayerNotFoundException ex) { - player = ess.getOfflineUser(args[0]); - } - if (player == null) { - throw new PlayerNotFoundException(); - } + final User player = getPlayer(server, args, 0, false, true); if (player.isIgnoreExempt()) { user.sendTl("ignoreExempt");