From cda526d41d00505e8b507b189aa2e90e4d145c74 Mon Sep 17 00:00:00 2001 From: Zacharias Date: Tue, 5 Sep 2023 19:08:18 +0200 Subject: [PATCH] Updated to version 5 added configurable speed type display --- .../java/me/zacharias/speedometer/Client.java | 21 ++++--------------- .../java/me/zacharias/speedometer/Config.java | 16 ++++++++++++++ .../me/zacharias/speedometer/ConfigMenu.java | 10 +++++++++ .../assets/speedometer/lang/en_us.json | 7 +++++++ gradle.properties | 2 +- 5 files changed, 38 insertions(+), 18 deletions(-) diff --git a/common/src/main/java/me/zacharias/speedometer/Client.java b/common/src/main/java/me/zacharias/speedometer/Client.java index 7a6d413..3f0a6df 100644 --- a/common/src/main/java/me/zacharias/speedometer/Client.java +++ b/common/src/main/java/me/zacharias/speedometer/Client.java @@ -40,13 +40,6 @@ public class Client { "speedometer.key.category" ); - public static final KeyMapping SPEED_KEY = new KeyMapping( - "speedometer.key.speedKey", - InputConstants.Type.KEYSYM, - InputConstants.KEY_UP, - "speedometer.key.category" - ); - private static final ArrayList speeds = new ArrayList<>(); private static boolean speedometerVisualDisplayFailed = false; public static BufferedImage img = null; @@ -69,15 +62,6 @@ public class Client { } }); - //KeyMappingRegistry.register(SPEED_KEY); - ClientTickEvent.CLIENT_POST.register(minecraft -> { - if(SPEED_KEY.consumeClick()){ - if(minecraft.player != null) { - minecraft.player.addDeltaMovement(new Vec3(1, 0, 0)); - } - } - }); - Config.initialize(); Config.save(); @@ -159,7 +143,10 @@ public class Client { g2d.setColor(new Color(138, 0, 0)); g2d.setFont(new Font(g2d.getFont().getName(), Font.PLAIN, 15)); - g2d.drawString(SpeedTypes.getName(speedType).getString(), img.getWidth()/2-27,img.getHeight()/2+25); + + if(Config.getShowVisualSpeedType()) { + g2d.drawString(SpeedTypes.getName(speedType).getString(), img.getWidth() / 2 - 27, img.getHeight() / 2 + 25); + } BufferedImage img = ImageHandler.scale(Client.img, Config.getImageSize(), Config.getImageSize()); diff --git a/common/src/main/java/me/zacharias/speedometer/Config.java b/common/src/main/java/me/zacharias/speedometer/Config.java index fd925a1..f4c36c7 100644 --- a/common/src/main/java/me/zacharias/speedometer/Config.java +++ b/common/src/main/java/me/zacharias/speedometer/Config.java @@ -109,6 +109,10 @@ public class Config { if(!Config.has("version")) { Config.put("version", configVersion); } + + if(!Config.has("showVisualSpeedType")){ + Config.put("showVisualSpeedType", false); + } } public static void save(){ @@ -239,6 +243,14 @@ public class Config { } } + public static boolean getShowVisualSpeedType() { + if(Config.has("showVisualSpeedType")){ + return Config.getBoolean("showVisualSpeedType"); + }else{ + return false; + } + } + public static void setColor(Color color){ Config.put("color", new JSONObject() .put("r", color.getRed()) @@ -291,4 +303,8 @@ public class Config { public static void setImageSize(int imageSize){ Config.put("imageSize", imageSize); } + + public static void setShowVisualSpeedType(boolean showVisualSpeedType){ + Config.put("showVisualSpeedType", showVisualSpeedType); + } } diff --git a/common/src/main/java/me/zacharias/speedometer/ConfigMenu.java b/common/src/main/java/me/zacharias/speedometer/ConfigMenu.java index b256923..bb2257b 100644 --- a/common/src/main/java/me/zacharias/speedometer/ConfigMenu.java +++ b/common/src/main/java/me/zacharias/speedometer/ConfigMenu.java @@ -167,6 +167,16 @@ public class ConfigMenu { .build() ); + // Show visual speed type + + category.addEntry(entryBuilder.startBooleanToggle(Component.translatable("speedometer.config.showVisualSpeedType"), Config.getShowVisualSpeedType()) + .setSaveConsumer(Config::setShowVisualSpeedType) + .setYesNoTextSupplier(showVisualSpeedType -> Component.translatable("speedometer."+(Config.getShowVisualSpeedType()?"show":"hide"))) + .setTooltip(Component.translatable("speedometer.config.tooltip.showVisualSpeedType.line1"), + Component.translatable("speedometer.config.tooltip.showVisualSpeedType.line2")) + .build() + ); + builder.setSavingRunnable(me.zacharias.speedometer.Config::save); return builder; diff --git a/common/src/main/resources/assets/speedometer/lang/en_us.json b/common/src/main/resources/assets/speedometer/lang/en_us.json index 494390e..a3de323 100644 --- a/common/src/main/resources/assets/speedometer/lang/en_us.json +++ b/common/src/main/resources/assets/speedometer/lang/en_us.json @@ -13,6 +13,7 @@ "speedometer.config.yPosition": "Y Position for Meters", "speedometer.config.debug": "Debug", "speedometer.config.imageSize": "Image Size", + "speedometer.config.showVisualSpeedType": "Show Visual Speed Type", "speedometer.key.configKey": "Config Key", "speedometer.key.debugKey": "Debug Key", @@ -38,6 +39,9 @@ "speedometer.debug.true": "\u00A74Yes", "speedometer.debug.false": "\u00A74No", + "speedometer.show": "Show", + "speedometer.hide": "Hide", + "speedometer.config.tooltip.xPosition.line1": "W = the width of the screen", "speedometer.config.tooltip.xPosition.line2": "w = half the width of the screen", "speedometer.config.tooltip.xPosition.line3": "s = the width of the text or image", @@ -50,5 +54,8 @@ "speedometer.config.tooltip.imageSize": "Size of the image. This sets both the height and width", + "speedometer.config.tooltip.showVisualSpeedType.line1": "This setting doesn't work fully.", + "speedometer.config.tooltip.showVisualSpeedType.line2": "I(the developer) discourages the use of this setting since it doesn't work on smaller sises and the fps breaks at larger", + "speedometer.invalid": "Invalid String" } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 757fdaa..ac41407 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx8G minecraft_version=1.20.1 archives_base_name=speedometer -mod_version=5-alpha +mod_version=5 maven_group=me.zacharias architectury_version=9.1.10