aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorolim <bobq4582@gmail.com>2024-05-05 19:28:40 +0100
committerolim <bobq4582@gmail.com>2024-05-09 22:42:35 +0100
commit52054467eac250be104d53f2aa6264eced690d44 (patch)
tree68d3dca9849a9e7cf02ec49825a24b98ea501b3c
parentea91129f9e4931c1435c6f294ccc58ff1f75dbdd (diff)
downloadSkyblocker-52054467eac250be104d53f2aa6264eced690d44.tar.gz
Skyblocker-52054467eac250be104d53f2aa6264eced690d44.tar.bz2
Skyblocker-52054467eac250be104d53f2aa6264eced690d44.zip
add e (160) and addapt for other ui
added magnitude e as valid. and added to EditBidPopup.
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/auction/EditBidPopup.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Calculator.java3
4 files changed, 23 insertions, 14 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java
index d1800e9b..cdffc362 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java
@@ -25,7 +25,7 @@ public abstract class SignEditScreenMixin {
private void skyblocker$render(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
//if the sign is being used to enter number send it to the sign calculator
if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.enableSignCalculator && Objects.equals(messages[1], "^^^^^^^^^^^^^^^")) {
- SignCalculator.renderSign(context, messages);
+ SignCalculator.renderCalculator(context, messages[0], context.getScaledWindowWidth() / 2, 55);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/EditBidPopup.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/EditBidPopup.java
index 9d460803..bc3d7708 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/auction/EditBidPopup.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/EditBidPopup.java
@@ -1,5 +1,7 @@
package de.hysky.skyblocker.skyblock.auction;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.calculators.SignCalculator;
import de.hysky.skyblocker.utils.render.gui.AbstractPopupScreen;
import net.minecraft.block.entity.SignBlockEntity;
import net.minecraft.client.MinecraftClient;
@@ -9,7 +11,6 @@ import net.minecraft.network.packet.c2s.play.UpdateSignC2SPacket;
import net.minecraft.text.Style;
import net.minecraft.text.Text;
import org.jetbrains.annotations.NotNull;
-import org.lwjgl.glfw.GLFW;
public class EditBidPopup extends AbstractPopupScreen {
private DirectionalLayoutWidget layout = DirectionalLayoutWidget.vertical();
@@ -55,6 +56,9 @@ public class EditBidPopup extends AbstractPopupScreen {
public void renderBackground(DrawContext context, int mouseX, int mouseY, float delta) {
super.renderBackground(context, mouseX, mouseY, delta);
drawPopupBackground(context, layout.getX(), layout.getY(), layout.getWidth(), layout.getHeight());
+ if (SkyblockerConfigManager.get().general.enableSignCalculator) {
+ SignCalculator.renderCalculator(context, textFieldWidget.getText(), context.getScaledWindowWidth() / 2, textFieldWidget.getY() - 8);
+ }
}
private boolean isStringGood(String s) {
@@ -69,8 +73,14 @@ public class EditBidPopup extends AbstractPopupScreen {
}
private void done(ButtonWidget widget) {
- if (!isStringGood(textFieldWidget.getText().trim())) return;
- sendPacket(textFieldWidget.getText().trim());
+ if (SkyblockerConfigManager.get().general.enableSignCalculator) {
+ if (!isStringGood(SignCalculator.getNewValue(false))) return;
+ sendPacket(SignCalculator.getNewValue(false));
+ }
+ else {
+ if (!isStringGood(textFieldWidget.getText().trim())) return;
+ sendPacket(textFieldWidget.getText().trim());
+ }
this.close();
}
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 82d86ba7..3a398c15 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java
@@ -15,23 +15,21 @@ public class SignCalculator {
private static final DecimalFormat FORMATTER = new DecimalFormat("#,###.##");
private static String lastInput;
- private static String input;
private static Double output;
- public static void renderSign(DrawContext context, String[] messages) {
- input = messages[0];
+ public static void renderCalculator(DrawContext context, String message, int renderX, int renderY) {
//only update output if new input
- if (!input.equals(lastInput)) { //
+ if (!message.equals(lastInput)) { //
try {
- output = Calculator.calculate(input);
+ output = Calculator.calculate(message);
} catch (Exception e) {
output = null;
}
}
- render(context);
+ render(context, message, renderX, renderY);
- lastInput = input;
+ lastInput = message;
}
public static String getNewValue(Boolean isPrice) {
@@ -46,7 +44,7 @@ public class SignCalculator {
return Long.toString(Math.round(output));
}
- private static void render(DrawContext context) {
+ private static void render(DrawContext context, String input, int renderX, int renderY) {
Text text;
if (output == null) {
text = Text.translatable("text.autoconfig.skyblocker.option.general.enableSignCalculator.invalidEquation").formatted(Formatting.RED);
@@ -54,6 +52,6 @@ public class SignCalculator {
text = Text.literal(input + " = " + FORMATTER.format(output)).formatted(Formatting.GREEN);
}
- context.drawCenteredTextWithShadow(CLIENT.textRenderer, text, context.getScaledWindowWidth() / 2, 55, 0xFFFFFFFF);
+ context.drawCenteredTextWithShadow(CLIENT.textRenderer, text, renderX, renderY, 0xFFFFFFFF);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/Calculator.java b/src/main/java/de/hysky/skyblocker/utils/Calculator.java
index bb6ed768..157936b3 100644
--- a/src/main/java/de/hysky/skyblocker/utils/Calculator.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Calculator.java
@@ -18,9 +18,10 @@ public class Calculator {
int tokenLength;
}
- private static final Pattern NUMBER_PATTERN = Pattern.compile("(\\d+\\.?\\d*)([kmbs]?)");
+ private static final Pattern NUMBER_PATTERN = Pattern.compile("(\\d+\\.?\\d*)([kmbse]?)");
private static final HashMap<String, Integer> magnitudeValues = Util.make(new HashMap<>(), map -> {
map.put("s", 64);
+ map.put("e", 160);
map.put("k", 1000);
map.put("m", 1000000);
map.put("b", 1000000000);