Input range entry and limits are reversed in error messages
Background
The command completion interface will warn the user when input is entered out of range for number types (integer, float, double).
The bug
The number that is invalid and the bound for the number range are reversed in the error messages telling the user that the number is invalid.
For these commands:
/playsound entity.lighting.thunder weather @s ~ ~ ~ -1.0
/weather clear 775849392
Expected Output:
Float must not be less than 0.0, found -1.0 at position: ...
Integer must not be larger than 1000000, found 775849392 at position: ...
Actual Output:
Float must not be less than -1.0, found 0.0 at position: ...
Integer must not be larger than 775849392, found 1000000 at position: ...
Affected platforms
This translation string is shown client side, above the text entry field during live command feedback. The message is also shown server side when the input is a valid integer or float or double but still out of range.
Furthermore, these translation strings do not appear to be present in snapshot 18w21b.
Causes
There are multiple possible sources. It could be created by the game building the message with the arguments in the wrong order, or it could be in the translation file where the arguments are specified in the string.
Translation File:
"argument.double.low": "Double must not be less than %s, found %s", "argument.double.big": "Double must not be more than %s, found %s", "argument.float.low": "Float must not be less than %s, found %s", "argument.float.big": "Float must not be more than %s, found %s", "argument.integer.low": "Integer must not be less than %s, found %s", "argument.integer.big": "Integer must not be more than %s, found %s"
Solution
This problem can be fixed without even changing the code by updating the argument index of the translation strings to use the second argument first, and the first argument second.
Fixed Translation File:
"argument.double.low": "Double must not be less than %2$s, found %1$s", "argument.double.big": "Double must not be more than %2$s, found %1$s", "argument.float.low": "Float must not be less than %2$s, found %1$s", "argument.float.big": "Float must not be more than %2$s, found %1$s", "argument.integer.low": "Integer must not be less than %2$s, found %1$s", "argument.integer.big": "Integer must not be more than %2$s, found %1$s"
A resource pack with the updated language strings is provided, which fixes the issue.
Created Issue:
Invalid number messages for commands have the bounds and input reversed
Background
The command completion interface will warn the user when input is entered out of range for number types (integer, float, double).
The bug
The number that is invalid and the bound for the number range are reversed in the error messages telling the user that the number is invalid.
Expected Output:
Float must not be less than 0.0, found -1.0 at position: ...
Integer must not be larger than 1000000, found 775849392 at position: ...Actual Output:
Float must not be less than -1.0, found 0.0 at position: ...
Integer must not be larger than 775849392, found 1000000 at position: ...Affected platforms
This translation string is only shown client side, above the text entry field during live command feedback, and although it is included in the server's language file, it does not appear to be used by the server for translations.
Furthermore, these translation strings do not appear to be present in snapshot 18w21b.
Causes
There are multiple possible sources. It could be created by the game building the message with the arguments in the wrong order, or it could be in the translation file where the arguments are specified in the string.
Translation File:
"argument.double.low": "Double must not be less than %s, found %s", "argument.double.big": "Double must not be more than %s, found %s", "argument.float.low": "Float must not be less than %s, found %s", "argument.float.big": "Float must not be more than %s, found %s", "argument.integer.low": "Integer must not be less than %s, found %s", "argument.integer.big": "Integer must not be more than %s, found %s"Solution
This problem can be fixed without even changing the code by updating the argument index of the translation strings to use the second argument first, and the first argument second.
Fixed Translation File:
"argument.double.low": "Double must not be less than %2$s, found %1$s", "argument.double.big": "Double must not be more than %2$s, found %1$s", "argument.float.low": "Float must not be less than %2$s, found %1$s", "argument.float.big": "Float must not be more than %2$s, found %1$s", "argument.integer.low": "Integer must not be less than %2$s, found %1$s", "argument.integer.big": "Integer must not be more than %2$s, found %1$s"
Invalid number messages for commands have the bounds and input reversedInput range bounds and limits are reversed in error messages
relates to
Input rangeboundsand limits are reversed in error messagesInput range entry and limits are reversed in error messages
relates to
Background
The command completion interface will warn the user when input is entered out of range for number types (integer, float, double).
The bug
The number that is invalid and the bound for the number range are reversed in the error messages telling the user that the number is invalid.
Expected Output:
Float must not be less than 0.0, found -1.0 at position: ...
Integer must not be larger than 1000000, found 775849392 at position: ...Actual Output:
Float must not be less than -1.0, found 0.0 at position: ...
Integer must not be larger than 775849392, found 1000000 at position: ...Affected platforms
This translation string is only shown client side, above the text entry field during live command feedback, and although it is included in the server's language file, it does not appear to be used by the server for translations.
Furthermore, these translation strings do not appear to be present in snapshot 18w21b.
Causes
There are multiple possible sources. It could be created by the game building the message with the arguments in the wrong order, or it could be in the translation file where the arguments are specified in the string.
Translation File:
"argument.double.low": "Double must not be less than %s, found %s", "argument.double.big": "Double must not be more than %s, found %s", "argument.float.low": "Float must not be less than %s, found %s", "argument.float.big": "Float must not be more than %s, found %s", "argument.integer.low": "Integer must not be less than %s, found %s", "argument.integer.big": "Integer must not be more than %s, found %s"Solution
This problem can be fixed without even changing the code by updating the argument index of the translation strings to use the second argument first, and the first argument second.
Fixed Translation File:
"argument.double.low": "Double must not be less than %2$s, found %1$s", "argument.double.big": "Double must not be more than %2$s, found %1$s", "argument.float.low": "Float must not be less than %2$s, found %1$s", "argument.float.big": "Float must not be more than %2$s, found %1$s", "argument.integer.low": "Integer must not be less than %2$s, found %1$s", "argument.integer.big": "Integer must not be more than %2$s, found %1$s"Background
The command completion interface will warn the user when input is entered out of range for number types (integer, float, double).
The bug
The number that is invalid and the bound for the number range are reversed in the error messages telling the user that the number is invalid.
Expected Output:
Float must not be less than 0.0, found -1.0 at position: ...
Integer must not be larger than 1000000, found 775849392 at position: ...Actual Output:
Float must not be less than -1.0, found 0.0 at position: ...
Integer must not be larger than 775849392, found 1000000 at position: ...Affected platforms
This translation string is only shown client side, above the text entry field during live command feedback,
and although it is included in the server's language file, it does not appear to be used by the server for translations. The message is also shown server side when the input is a valid integer or float or double but still out of range.Furthermore, these translation strings do not appear to be present in snapshot 18w21b.
Causes
There are multiple possible sources. It could be created by the game building the message with the arguments in the wrong order, or it could be in the translation file where the arguments are specified in the string.
Translation File:
"argument.double.low": "Double must not be less than %s, found %s", "argument.double.big": "Double must not be more than %s, found %s", "argument.float.low": "Float must not be less than %s, found %s", "argument.float.big": "Float must not be more than %s, found %s", "argument.integer.low": "Integer must not be less than %s, found %s", "argument.integer.big": "Integer must not be more than %s, found %s"Solution
This problem can be fixed without even changing the code by updating the argument index of the translation strings to use the second argument first, and the first argument second.
Fixed Translation File:
"argument.double.low": "Double must not be less than %2$s, found %1$s", "argument.double.big": "Double must not be more than %2$s, found %1$s", "argument.float.low": "Float must not be less than %2$s, found %1$s", "argument.float.big": "Float must not be more than %2$s, found %1$s", "argument.integer.low": "Integer must not be less than %2$s, found %1$s", "argument.integer.big": "Integer must not be more than %2$s, found %1$s"
Background
The command completion interface will warn the user when input is entered out of range for number types (integer, float, double).
The bug
The number that is invalid and the bound for the number range are reversed in the error messages telling the user that the number is invalid.
Expected Output:
Float must not be less than 0.0, found -1.0 at position: ...
Integer must not be larger than 1000000, found 775849392 at position: ...Actual Output:
Float must not be less than -1.0, found 0.0 at position: ...
Integer must not be larger than 775849392, found 1000000 at position: ...Affected platforms
This translation string is only shown client side, above the text entry field during live command feedback,
and although it is included in the server's language file, it does not appear to be used by the server for translations. The message is also shown server side when the input is a valid integer or float or double but still out of range.Furthermore, these translation strings do not appear to be present in snapshot 18w21b.
Causes
There are multiple possible sources. It could be created by the game building the message with the arguments in the wrong order, or it could be in the translation file where the arguments are specified in the string.
Translation File:
"argument.double.low": "Double must not be less than %s, found %s", "argument.double.big": "Double must not be more than %s, found %s", "argument.float.low": "Float must not be less than %s, found %s", "argument.float.big": "Float must not be more than %s, found %s", "argument.integer.low": "Integer must not be less than %s, found %s", "argument.integer.big": "Integer must not be more than %s, found %s"Solution
This problem can be fixed without even changing the code by updating the argument index of the translation strings to use the second argument first, and the first argument second.
Fixed Translation File:
"argument.double.low": "Double must not be less than %2$s, found %1$s", "argument.double.big": "Double must not be more than %2$s, found %1$s", "argument.float.low": "Float must not be less than %2$s, found %1$s", "argument.float.big": "Float must not be more than %2$s, found %1$s", "argument.integer.low": "Integer must not be less than %2$s, found %1$s", "argument.integer.big": "Integer must not be more than %2$s, found %1$s"Background
The command completion interface will warn the user when input is entered out of range for number types (integer, float, double).
The bug
The number that is invalid and the bound for the number range are reversed in the error messages telling the user that the number is invalid.
Expected Output:
Float must not be less than 0.0, found -1.0 at position: ...
Integer must not be larger than 1000000, found 775849392 at position: ...Actual Output:
Float must not be less than -1.0, found 0.0 at position: ...
Integer must not be larger than 775849392, found 1000000 at position: ...Affected platforms
This translation string is shown client side, above the text entry field during live command feedback. The message is also shown server side when the input is a valid integer or float or double but still out of range.
Furthermore, these translation strings do not appear to be present in snapshot 18w21b.
Causes
There are multiple possible sources. It could be created by the game building the message with the arguments in the wrong order, or it could be in the translation file where the arguments are specified in the string.
Translation File:
"argument.double.low": "Double must not be less than %s, found %s", "argument.double.big": "Double must not be more than %s, found %s", "argument.float.low": "Float must not be less than %s, found %s", "argument.float.big": "Float must not be more than %s, found %s", "argument.integer.low": "Integer must not be less than %s, found %s", "argument.integer.big": "Integer must not be more than %s, found %s"Solution
This problem can be fixed without even changing the code by updating the argument index of the translation strings to use the second argument first, and the first argument second.
Fixed Translation File:
"argument.double.low": "Double must not be less than %2$s, found %1$s", "argument.double.big": "Double must not be more than %2$s, found %1$s", "argument.float.low": "Float must not be less than %2$s, found %1$s", "argument.float.big": "Float must not be more than %2$s, found %1$s", "argument.integer.low": "Integer must not be less than %2$s, found %1$s", "argument.integer.big": "Integer must not be more than %2$s, found %1$s"
Background
The command completion interface will warn the user when input is entered out of range for number types (integer, float, double).
The bug
The number that is invalid and the bound for the number range are reversed in the error messages telling the user that the number is invalid.
Expected Output:
Float must not be less than 0.0, found -1.0 at position: ...
Integer must not be larger than 1000000, found 775849392 at position: ...Actual Output:
Float must not be less than -1.0, found 0.0 at position: ...
Integer must not be larger than 775849392, found 1000000 at position: ...Affected platforms
This translation string is shown client side, above the text entry field during live command feedback. The message is also shown server side when the input is a valid integer or float or double but still out of range.
Furthermore, these translation strings do not appear to be present in snapshot 18w21b.
Causes
There are multiple possible sources. It could be created by the game building the message with the arguments in the wrong order, or it could be in the translation file where the arguments are specified in the string.
Translation File:
"argument.double.low": "Double must not be less than %s, found %s", "argument.double.big": "Double must not be more than %s, found %s", "argument.float.low": "Float must not be less than %s, found %s", "argument.float.big": "Float must not be more than %s, found %s", "argument.integer.low": "Integer must not be less than %s, found %s", "argument.integer.big": "Integer must not be more than %s, found %s"Solution
This problem can be fixed without even changing the code by updating the argument index of the translation strings to use the second argument first, and the first argument second.
Fixed Translation File:
"argument.double.low": "Double must not be less than %2$s, found %1$s", "argument.double.big": "Double must not be more than %2$s, found %1$s", "argument.float.low": "Float must not be less than %2$s, found %1$s", "argument.float.big": "Float must not be more than %2$s, found %1$s", "argument.integer.low": "Integer must not be less than %2$s, found %1$s", "argument.integer.big": "Integer must not be more than %2$s, found %1$s"A resource pack with the updated language strings is provided, which fixes the issue.
Background
The command completion interface will warn the user when input is entered out of range for number types (integer, float, double).
The bug
The number that is invalid and the bound for the number range are reversed in the error messages telling the user that the number is invalid.
For these commands:
/playsound entity.lighting.thunder weather @s ~ ~ ~ -1.0
/weather clear 775849392Expected Output:
Float must not be less than 0.0, found -1.0 at position: ...
Integer must not be larger than 1000000, found 775849392 at position: ...Actual Output:
Float must not be less than -1.0, found 0.0 at position: ...
Integer must not be larger than 775849392, found 1000000 at position: ...Affected platforms
This translation string is shown client side, above the text entry field during live command feedback. The message is also shown server side when the input is a valid integer or float or double but still out of range.
Furthermore, these translation strings do not appear to be present in snapshot 18w21b.
Causes
There are multiple possible sources. It could be created by the game building the message with the arguments in the wrong order, or it could be in the translation file where the arguments are specified in the string.
Translation File:
"argument.double.low": "Double must not be less than %s, found %s", "argument.double.big": "Double must not be more than %s, found %s", "argument.float.low": "Float must not be less than %s, found %s", "argument.float.big": "Float must not be more than %s, found %s", "argument.integer.low": "Integer must not be less than %s, found %s", "argument.integer.big": "Integer must not be more than %s, found %s"Solution
This problem can be fixed without even changing the code by updating the argument index of the translation strings to use the second argument first, and the first argument second.
Fixed Translation File:
"argument.double.low": "Double must not be less than %2$s, found %1$s", "argument.double.big": "Double must not be more than %2$s, found %1$s", "argument.float.low": "Float must not be less than %2$s, found %1$s", "argument.float.big": "Float must not be more than %2$s, found %1$s", "argument.integer.low": "Integer must not be less than %2$s, found %1$s", "argument.integer.big": "Integer must not be more than %2$s, found %1$s"A resource pack with the updated language strings is provided, which fixes the issue.
Can canfirm for 1.13-pre1
is duplicated by
is duplicated by
relates to





Can confirm.
Just noticed that too. Another example is the effect command.