diff options
author | olim <bobq4582@gmail.com> | 2024-05-05 21:46:42 +0100 |
---|---|---|
committer | olim <bobq4582@gmail.com> | 2024-05-09 22:42:35 +0100 |
commit | da1baa8c0a22d4337f269e2eea9e33932c81ef70 (patch) | |
tree | 11254bec570cd5d3d2ec4d697cfb5bdcabcfceaa /src/main/java | |
parent | 52054467eac250be104d53f2aa6264eced690d44 (diff) | |
download | Skyblocker-da1baa8c0a22d4337f269e2eea9e33932c81ef70.tar.gz Skyblocker-da1baa8c0a22d4337f269e2eea9e33932c81ef70.tar.bz2 Skyblocker-da1baa8c0a22d4337f269e2eea9e33932c81ef70.zip |
add option to need to start with ("=")
also add key for magnitudes into option tooltip
Diffstat (limited to 'src/main/java')
4 files changed, 20 insertions, 7 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java index cdffc362..c7053a39 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java @@ -24,7 +24,7 @@ public abstract class SignEditScreenMixin { @Inject(method = "render", at = @At("HEAD")) 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], "^^^^^^^^^^^^^^^")) { + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.inputCalculator.enabled && Objects.equals(messages[1], "^^^^^^^^^^^^^^^")) { SignCalculator.renderCalculator(context, messages[0], context.getScaledWindowWidth() / 2, 55); } } @@ -32,7 +32,7 @@ public abstract class SignEditScreenMixin { @Inject(method = "finishEditing", at = @At("HEAD")) 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 (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.enableSignCalculator && Objects.equals(messages[1], "^^^^^^^^^^^^^^^")) { + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.inputCalculator.enabled && Objects.equals(messages[1], "^^^^^^^^^^^^^^^")) { boolean isPrice = messages[2].contains("price"); String value = SignCalculator.getNewValue(isPrice); if (value.length() >= 15) { 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 bc3d7708..def718dd 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/auction/EditBidPopup.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/EditBidPopup.java @@ -56,7 +56,7 @@ 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) { + if (SkyblockerConfigManager.get().general.inputCalculator.enabled) { SignCalculator.renderCalculator(context, textFieldWidget.getText(), context.getScaledWindowWidth() / 2, textFieldWidget.getY() - 8); } } @@ -73,7 +73,7 @@ public class EditBidPopup extends AbstractPopupScreen { } private void done(ButtonWidget widget) { - if (SkyblockerConfigManager.get().general.enableSignCalculator) { + if (SkyblockerConfigManager.get().general.inputCalculator.enabled) { if (!isStringGood(SignCalculator.getNewValue(false))) return; sendPacket(SignCalculator.getNewValue(false)); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/calculators/CalculatorCommand.java b/src/main/java/de/hysky/skyblocker/skyblock/calculators/CalculatorCommand.java index d78e2c0d..bc44c249 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/calculators/CalculatorCommand.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/calculators/CalculatorCommand.java @@ -44,7 +44,7 @@ public class CalculatorCommand { try { text.append(Text.literal(FORMATTER.format(Calculator.calculate(calculation))).formatted(Formatting.GREEN)); } catch (UnsupportedOperationException e) { - text.append(Text.literal("text.autoconfig.skyblocker.option.general.enableSignCalculator.invalidEquation").formatted(Formatting.RED)); + text.append(Text.literal("text.autoconfig.skyblocker.option.general.inputCalculator.invalidEquation").formatted(Formatting.RED)); } if (CLIENT == null || CLIENT.player == null) { 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 3a398c15..ccdc67f6 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/calculators/SignCalculator.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.calculators; +import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.Calculator; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; @@ -18,6 +19,16 @@ public class SignCalculator { private static Double output; public static void renderCalculator(DrawContext context, String message, int renderX, int renderY) { + if (SkyblockerConfigManager.get().general.inputCalculator.requiresEquals) { + if (message.startsWith("=")) { + message = message.substring(1); + } + else { + output = null; + lastInput = message; + return; + } + } //only update output if new input if (!message.equals(lastInput)) { // try { @@ -34,8 +45,10 @@ public class SignCalculator { public static String getNewValue(Boolean isPrice) { if (output == null) { - return ""; + //if mode is not activated or just invalid equation return what the user typed in + return lastInput; } + //price can except decimals and exponents if (isPrice) { return output.toString(); @@ -47,7 +60,7 @@ public class SignCalculator { 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); + text = Text.translatable("text.autoconfig.skyblocker.option.general.inputCalculator.invalidEquation").formatted(Formatting.RED); } else { text = Text.literal(input + " = " + FORMATTER.format(output)).formatted(Formatting.GREEN); } |