diff --git a/core/src/main/java/co/aikar/commands/CommandContexts.java b/core/src/main/java/co/aikar/commands/CommandContexts.java index 8fff379a..df20ba83 100644 --- a/core/src/main/java/co/aikar/commands/CommandContexts.java +++ b/core/src/main/java/co/aikar/commands/CommandContexts.java @@ -47,77 +47,77 @@ public class CommandContexts { try { - return parseAndValidateNumber(c, Short.MAX_VALUE).shortValue(); + return parseAndValidateNumber(c, Short.MIN_VALUE, Short.MAX_VALUE).shortValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(short.class, (c) -> { try { - return parseAndValidateNumber(c, Short.MAX_VALUE).shortValue(); + return parseAndValidateNumber(c, Short.MIN_VALUE, Short.MAX_VALUE).shortValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(Integer.class, (c) -> { try { - return parseAndValidateNumber(c, Integer.MAX_VALUE).intValue(); + return parseAndValidateNumber(c, Integer.MIN_VALUE, Integer.MAX_VALUE).intValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(int.class, (c) -> { try { - return parseAndValidateNumber(c, Integer.MAX_VALUE).intValue(); + return parseAndValidateNumber(c, Integer.MIN_VALUE, Integer.MAX_VALUE).intValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(Long.class, (c) -> { try { - return parseAndValidateNumber(c, Long.MAX_VALUE).longValue(); + return parseAndValidateNumber(c, Long.MIN_VALUE, Long.MAX_VALUE).longValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(long.class, (c) -> { try { - return parseAndValidateNumber(c, Long.MAX_VALUE).longValue(); + return parseAndValidateNumber(c, Long.MIN_VALUE, Long.MAX_VALUE).longValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(Float.class, (c) -> { try { - return parseAndValidateNumber(c, Float.MAX_VALUE).floatValue(); + return parseAndValidateNumber(c, Float.MIN_VALUE, Float.MAX_VALUE).floatValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(float.class, (c) -> { try { - return parseAndValidateNumber(c, Float.MAX_VALUE).floatValue(); + return parseAndValidateNumber(c, Float.MIN_VALUE, Float.MAX_VALUE).floatValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(Double.class, (c) -> { try { - return parseAndValidateNumber(c, Double.MAX_VALUE).doubleValue(); + return parseAndValidateNumber(c, Double.MIN_VALUE, Double.MAX_VALUE).doubleValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(double.class, (c) -> { try { - return parseAndValidateNumber(c, Double.MAX_VALUE).doubleValue(); + return parseAndValidateNumber(c, Double.MIN_VALUE, Double.MAX_VALUE).doubleValue(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } }); registerContext(Number.class, (c) -> { try { - return parseAndValidateNumber(c, Double.MAX_VALUE); + return parseAndValidateNumber(c, Double.MIN_VALUE, Double.MAX_VALUE); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); } @@ -125,7 +125,7 @@ public class CommandContexts { try { BigDecimal number = ACFUtil.parseBigNumber(c.popFirstArg(), c.hasFlag("suffixes")); - validateMinMax(c, number, null); + validateMinMax(c, number); return number; } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); @@ -134,7 +134,7 @@ public class CommandContexts { try { BigDecimal number = ACFUtil.parseBigNumber(c.popFirstArg(), c.hasFlag("suffixes")); - validateMinMax(c, number, null); + validateMinMax(c, number); return number.toBigIntegerExact(); } catch (NumberFormatException e) { throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg()); @@ -242,16 +242,18 @@ public class CommandContexts maxValue.doubleValue()) { throw new InvalidCommandArgument(MessageKeys.PLEASE_SPECIFY_AT_MOST, "{max}", String.valueOf(maxValue)); } diff --git a/core/src/main/java/co/aikar/commands/CommandExecutionContext.java b/core/src/main/java/co/aikar/commands/CommandExecutionContext.java index cbb81079..4662cb52 100644 --- a/core/src/main/java/co/aikar/commands/CommandExecutionContext.java +++ b/core/src/main/java/co/aikar/commands/CommandExecutionContext.java @@ -113,6 +113,7 @@ public class CommandExecutionContext T getAnnotation(Class cls) { return param.getParameter().getAnnotation(cls); }