mirror of
https://github.com/aikar/commands.git
synced 2026-05-31 14:21:56 +00:00
better number error msg (#108)
This commit is contained in:
@@ -49,77 +49,77 @@ public class CommandContexts <R extends CommandExecutionContext<?, ? extends Com
|
||||
try {
|
||||
return parseAndValidateNumber(c, Short.MAX_VALUE).shortValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(short.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Short.MAX_VALUE).shortValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(Integer.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Integer.MAX_VALUE).intValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(int.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Integer.MAX_VALUE).intValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(Long.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Long.MAX_VALUE).longValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(long.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Long.MAX_VALUE).longValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(Float.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Float.MAX_VALUE).floatValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(float.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Float.MAX_VALUE).floatValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(Double.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Double.MAX_VALUE).doubleValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(double.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Double.MAX_VALUE).doubleValue();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(Number.class, (c) -> {
|
||||
try {
|
||||
return parseAndValidateNumber(c, Double.MAX_VALUE);
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(BigDecimal.class, (c) -> {
|
||||
@@ -128,7 +128,7 @@ public class CommandContexts <R extends CommandExecutionContext<?, ? extends Com
|
||||
validateMinMax(c, number, null);
|
||||
return number;
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(BigInteger.class, (c) -> {
|
||||
@@ -137,7 +137,7 @@ public class CommandContexts <R extends CommandExecutionContext<?, ? extends Com
|
||||
validateMinMax(c, number, null);
|
||||
return number.toBigIntegerExact();
|
||||
} catch (NumberFormatException e) {
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
|
||||
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
|
||||
}
|
||||
});
|
||||
registerContext(Boolean.class, (c) -> ACFUtil.isTruthy(c.popFirstArg()));
|
||||
@@ -243,8 +243,9 @@ public class CommandContexts <R extends CommandExecutionContext<?, ? extends Com
|
||||
|
||||
@NotNull
|
||||
private Number parseAndValidateNumber(R c, Number maxValue) throws InvalidCommandArgument {
|
||||
Number val = ACFUtil.parseNumber(c.popFirstArg(), c.hasFlag("suffixes"));
|
||||
Number val = ACFUtil.parseNumber(c.getFirstArg(), c.hasFlag("suffixes"));
|
||||
validateMinMax(c, val, maxValue);
|
||||
c.popFirstArg(); // pop later so we can have a chance to display a nicer error message
|
||||
return val;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ acf-core.error_prefix = Error: {message}
|
||||
acf-core.error_performing_command = I'm sorry, but there was an error performing this command.
|
||||
acf-core.info_message = {message}
|
||||
acf-core.please_specify_one_of = Error: Please specify one of (<c2>{valid}</c2>).
|
||||
acf-core.must_be_a_number = Error: Must be a number.
|
||||
acf-core.must_be_a_number = Error: {num} must be a number.
|
||||
acf-core.must_be_min_length = Error: Must be at least {min} characters long.
|
||||
acf-core.must_be_max_length = Error: Must be at most {max} characters long.
|
||||
acf-core.please_specify_at_most = Error: Please specify a value at most {max}.
|
||||
|
||||
Reference in New Issue
Block a user