diff --git a/core/src/main/java/co/aikar/commands/ACFUtil.java b/core/src/main/java/co/aikar/commands/ACFUtil.java index 91714014..f40f0c98 100644 --- a/core/src/main/java/co/aikar/commands/ACFUtil.java +++ b/core/src/main/java/co/aikar/commands/ACFUtil.java @@ -466,11 +466,17 @@ public final class ACFUtil { public static Number parseNumber(String num, boolean suffixes) { - ApplyModifierToNumber applyModifierToNumber = new ApplyModifierToNumber(num, suffixes).invoke(); - num = applyModifierToNumber.getNum(); - double mod = applyModifierToNumber.getMod(); + if (ACFPatterns.getPattern("^0x([0-9A-Fa-f]*)$").matcher(num).matches()) { + return Long.parseLong(num.substring(2), 16); + } else if (ACFPatterns.getPattern("^0b([01]*)$").matcher(num).matches()) { + return Long.parseLong(num.substring(2), 2); + } else { + ApplyModifierToNumber applyModifierToNumber = new ApplyModifierToNumber(num, suffixes).invoke(); + num = applyModifierToNumber.getNum(); + double mod = applyModifierToNumber.getMod(); - return Double.parseDouble(num) * mod; + return Double.parseDouble(num) * mod; + } } public static BigDecimal parseBigNumber(String num, boolean suffixes) {