diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java | 7 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/SignCalculator.java | 9 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java index b160b3ac..3c1667f0 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java @@ -32,7 +32,12 @@ public abstract class SignEditScreenMixin{ private void skyblocker$finishEditing(CallbackInfo ci) { //if the sign is being used to enter number get number from calculator for if maths has been done if (Objects.equals(messages[1], "^^^^^^^^^^^^^^^")) { - messages[0] = SignCalculator.getNewValue(); + boolean isPrice = messages[2].contains("price"); + String value = SignCalculator.getNewValue(isPrice); + if (value.length() >= 15) { + value = value.substring(0,15); + } + messages[0] = value; } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/SignCalculator.java b/src/main/java/de/hysky/skyblocker/skyblock/SignCalculator.java index 66b32028..e71442a5 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/SignCalculator.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/SignCalculator.java @@ -60,11 +60,16 @@ public class SignCalculator { lastInput = input; } - public static String getNewValue() { + public static String getNewValue(Boolean isPrice) { if (output == null) { return ""; } - return Double.toString(output); + //price can except decimals and exponents + if (isPrice) { + return output.toString(); + } + //amounts want an integer number so round + return Long.toString(Math.round(output)); } private static List<Token> lex(String input) { |