From c4b561c7ceeba9d2dd0455528284ed5d41361f83 Mon Sep 17 00:00:00 2001 From: revqz1 Date: Thu, 28 May 2026 22:30:46 +0100 Subject: [PATCH] feat: Support for % in ecconomy by remvoing the default: throw new InvalidModifierException() branch in the parser. --- .../java/com/earth2me/essentials/commands/Commandeco.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandeco.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandeco.java index c2d68ff2f56..a7762aba020 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandeco.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandeco.java @@ -35,13 +35,14 @@ public void run(final Server server, final CommandSource sender, final String co try { cmd = EcoCommands.valueOf(args[0].toUpperCase(Locale.ENGLISH)); isPercent = cmd != EcoCommands.RESET && args[2].endsWith("%"); + final String amountStr = isPercent ? args[2].substring(0, args[2].length() - 1) : args[2]; if (cmd == EcoCommands.RESET) { amount = ess.getSettings().getStartingBalance(); } else if (sender.isPlayer() && ess.getSettings().isPerPlayerLocale()) { final String playerLocale = ess.provider(PlayerLocaleProvider.class).getLocale(sender.getPlayer()); - amount = NumberUtil.parseStringToBDecimal(args[2], ess.getUser(sender.getPlayer()).getPlayerLocale(playerLocale)); + amount = NumberUtil.parseStringToBDecimal(amountStr, ess.getUser(sender.getPlayer()).getPlayerLocale(playerLocale)); } else { - amount = NumberUtil.parseStringToBDecimal(args[2]); + amount = NumberUtil.parseStringToBDecimal(amountStr); } } catch (final Exception ex) { throw new NotEnoughArgumentsException(ex);