aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Calculator.java24
2 files changed, 20 insertions, 20 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java b/src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java
index f9bb1e9f..dc51e48c 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java
@@ -17,15 +17,13 @@ public class SignCalculator {
private static double output;
public static void renderCalculator(DrawContext context, String message, int renderX, int renderY) {
- if (SkyblockerConfigManager.get().uiAndVisuals.inputCalculator.requiresEquals) {
- if (message.startsWith("=")) {
- message = message.substring(1);
- }
- else {
- output = -1;
- lastInput = message;
- return;
- }
+ if (SkyblockerConfigManager.get().uiAndVisuals.inputCalculator.requiresEquals && !message.startsWith("=")) {
+ output = -1;
+ lastInput = message;
+ return;
+ }
+ if (message.startsWith("=")) {
+ message = message.substring(1);
}
//only update output if new input
if (!message.equals(lastInput)) { //
diff --git a/src/main/java/de/hysky/skyblocker/utils/Calculator.java b/src/main/java/de/hysky/skyblocker/utils/Calculator.java
index 30c1ee64..7b0baaf6 100644
--- a/src/main/java/de/hysky/skyblocker/utils/Calculator.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Calculator.java
@@ -15,13 +15,14 @@ public class Calculator {
int tokenLength;
}
- private static final Pattern NUMBER_PATTERN = Pattern.compile("(\\d+\\.?\\d*)([kmbse]?)");
- private static final Map<String, Integer> magnitudeValues = Map.of(
- "s", 64,
- "e", 160,
- "k", 1000,
- "m", 1000000,
- "b", 1000000000
+ private static final Pattern NUMBER_PATTERN = Pattern.compile("(\\d+\\.?\\d*)([sekmbt]?)");
+ private static final Map<String, Long> MAGNITUDE_VALUES = Map.of(
+ "s", 64L,
+ "e", 160L,
+ "k", 1_000L,
+ "m", 1_000_000L,
+ "b", 1_000_000_000L,
+ "t", 1_000_000_000_000L
);
private static List<Token> lex(String input) {
@@ -88,7 +89,7 @@ public class Calculator {
Deque<Token> operatorStack = new ArrayDeque<>();
List<Token> outputQueue = new ArrayList<>();
- for (Token shuntingToken : tokens)
+ for (Token shuntingToken : tokens) {
switch (shuntingToken.type) {
case NUMBER -> outputQueue.add(shuntingToken);
case OPERATOR -> {
@@ -122,6 +123,7 @@ public class Calculator {
}
}
}
+ }
//empty the operator stack
while (!operatorStack.isEmpty()) {
Token leftToken = operatorStack.pop();
@@ -189,10 +191,10 @@ public class Calculator {
String magnitude = numberMatcher.group(2);
if (!magnitude.isEmpty()) {
- if (!magnitudeValues.containsKey(magnitude)) {//its invalid if its another letter
+ if (!MAGNITUDE_VALUES.containsKey(magnitude)) {//its invalid if its another letter
throw new UnsupportedOperationException("Invalid magnitude");
}
- number *= magnitudeValues.get(magnitude);
+ number *= MAGNITUDE_VALUES.get(magnitude);
}
return number;
@@ -200,7 +202,7 @@ public class Calculator {
public static double calculate(String equation) {
//custom bit for replacing purse with its value
- equation = equation.toLowerCase().replaceAll("p(urse)?",String.valueOf((int)Utils.getPurse()));
+ equation = equation.toLowerCase().replaceAll("p(urse)?", String.valueOf(Utils.getPurse()));
return evaluate(shunt(lex(equation)));
}
}