aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/SignCalculator.java9
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) {