diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0c2a3f3..8fc3827 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,20 +11,20 @@ jobs: runs-on: ubuntu-24.04 steps: - name: checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: validate gradle wrapper - uses: gradle/actions/wrapper-validation@v6 + uses: gradle/actions/wrapper-validation@v4 - name: setup jdk - uses: actions/setup-java@v5 + uses: actions/setup-java@v4 with: - java-version: '25' + java-version: '21' distribution: 'microsoft' - name: make gradle wrapper executable run: chmod +x ./gradlew - name: build run: ./gradlew build - name: capture build artifacts - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@v4 with: name: Artifacts path: build/libs/ \ No newline at end of file diff --git a/build.gradle b/build.gradle index 41f2871..4157376 100644 --- a/build.gradle +++ b/build.gradle @@ -1,11 +1,15 @@ plugins { - id 'net.fabricmc.fabric-loom' version "${loom_version}" + id 'fabric-loom' version "${loom_version}" id 'maven-publish' } version = project.mod_version group = project.maven_group +base { + archivesName = project.archives_base_name +} + repositories { // Add repositories to retrieve artifacts from in here. // You should only use this when depending on other mods because @@ -13,30 +17,25 @@ repositories { // See https://docs.gradle.org/current/userguide/declaring_repositories.html // for more information about repositories. - maven { url "https://maven.shedaniel.me/" } + maven { url "https://maven.shedaniel.me/" } maven { url "https://maven.terraformersmc.com/releases/" } } -configurations.configureEach { - if (name.toLowerCase().contains('annotationprocessor')) { - exclude group: 'org.ow2.asm' - } -} - dependencies { // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" - - implementation "net.fabricmc:fabric-loader:${project.loader_version}" + mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" // Fabric API. This is technically optional, but you probably want it anyway. - implementation include(fabricApi.module("fabric-api-base", project.fabric_api_version)) - implementation include(fabricApi.module("fabric-rendering-v1", project.fabric_api_version)) + modImplementation include(fabricApi.module("fabric-api-base", project.fabric_version)) + modImplementation include(fabricApi.module("fabric-rendering-v1", project.fabric_version)) - implementation include("com.terraformersmc:modmenu:${project.modmenu_version}") - implementation include("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}") { + modImplementation include("com.terraformersmc:modmenu:${project.modmenu_version}") + modImplementation include("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}") { exclude(group: "net.fabricmc.fabric-api") } + } processResources { @@ -48,7 +47,7 @@ processResources { } tasks.withType(JavaCompile).configureEach { - it.options.release = 25 + it.options.release = 21 } java { @@ -57,15 +56,15 @@ java { // If you remove this line, sources will not be generated. withSourcesJar() - sourceCompatibility = JavaVersion.VERSION_25 - targetCompatibility = JavaVersion.VERSION_25 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } jar { - inputs.property "projectName", project.name + inputs.property "archivesName", project.base.archivesName from("LICENSE") { - rename { "${it}_${project.name}"} + rename { "${it}_${inputs.properties.archivesName}"} } } @@ -73,6 +72,7 @@ jar { publishing { publications { create("mavenJava", MavenPublication) { + artifactId = project.archives_base_name from components.java } } diff --git a/gradle.properties b/gradle.properties index a7faad0..bde8aa7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,21 +2,19 @@ org.gradle.jvmargs=-Xmx1G org.gradle.parallel=true -# IntelliJ IDEA is not yet fully compatible with configuration cache, see: https://github.com/FabricMC/fabric-loom/issues/1349 -org.gradle.configuration-cache=false - # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=26.1 -loader_version=0.19.2 -loom_version=1.16-SNAPSHOT +minecraft_version=1.21.9 +yarn_mappings=1.21.9+build.1 +loader_version=0.17.3 +loom_version=1.11-SNAPSHOT # Mod Properties -mod_version=2.1.0 +mod_version=2.0.1 maven_group=dsns.betterhud archives_base_name=betterhud # Dependencies -fabric_api_version=0.145.1+26.1 -modmenu_version=18.0.0-alpha.8 -cloth_config_version=26.1.154 \ No newline at end of file +fabric_version=0.134.0+1.21.9 +modmenu_version=15.0.2 +cloth_config_version=19.0.147 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d997cfc..1b33c55 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c61a118..ff23a68 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 739907d..23d15a9 100644 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015 the original authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -114,6 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -171,6 +172,7 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -210,6 +212,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/gradlew.bat b/gradlew.bat index c4bdd3a..db3a6ac 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,10 +70,11 @@ goto fail :execute @rem Setup the command line +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/settings.gradle b/settings.gradle index bcb1c6e..75c4d72 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,7 +7,4 @@ pluginManagement { mavenCentral() gradlePluginPortal() } -} - -// Should match your modid -rootProject.name = 'betterhud' +} \ No newline at end of file diff --git a/src/main/java/dsns/betterhud/BetterHUD.java b/src/main/java/dsns/betterhud/BetterHUD.java index bbf7edb..81b401c 100644 --- a/src/main/java/dsns/betterhud/BetterHUD.java +++ b/src/main/java/dsns/betterhud/BetterHUD.java @@ -9,7 +9,7 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElementRegistry; -import net.minecraft.resources.Identifier; +import net.minecraft.util.Identifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +40,7 @@ public void onInitializeClient() { BetterHUDGUI betterHUDGUI = new BetterHUDGUI(); HudElementRegistry.addLast( - Identifier.fromNamespaceAndPath("betterhud", "hud"), + Identifier.of("betterhud", "hud"), betterHUDGUI::onHudRender ); ClientTickEvents.START_CLIENT_TICK.register(betterHUDGUI); diff --git a/src/main/java/dsns/betterhud/BetterHUDGUI.java b/src/main/java/dsns/betterhud/BetterHUDGUI.java index 7d2b187..0cc3313 100644 --- a/src/main/java/dsns/betterhud/BetterHUDGUI.java +++ b/src/main/java/dsns/betterhud/BetterHUDGUI.java @@ -6,9 +6,9 @@ import it.unimi.dsi.fastutil.objects.ObjectArrayList; import java.util.List; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; -import net.minecraft.client.DeltaTracker; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiGraphicsExtractor; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.render.RenderTickCounter; public class BetterHUDGUI implements ClientTickEvents.StartTick { @@ -20,7 +20,7 @@ public class BetterHUDGUI implements ClientTickEvents.StartTick { public static int lineHeight = 1; - private final Minecraft client = Minecraft.getInstance(); + private final MinecraftClient client = MinecraftClient.getInstance(); private final List topLeftText = new ObjectArrayList<>(); private final List topRightText = new ObjectArrayList<>(); private final List bottomLeftList = new ObjectArrayList<>(); @@ -28,7 +28,7 @@ public class BetterHUDGUI implements ClientTickEvents.StartTick { private final List customPositionText = new ObjectArrayList<>(); @Override - public void onStartTick(Minecraft client) { + public void onStartTick(MinecraftClient client) { this.topLeftText.clear(); this.topRightText.clear(); this.bottomLeftList.clear(); @@ -68,11 +68,11 @@ public void onStartTick(Minecraft client) { } public void onHudRender( - GuiGraphicsExtractor drawContext, - DeltaTracker tickCounter + DrawContext drawContext, + RenderTickCounter tickCounter ) { - if (client.getDebugOverlay().showDebugScreen()) return; - if (client.options.hideGui) return; + if (client.getDebugHud().shouldShowDebugHud()) return; + if (client.options.hudHidden) return; int x = horizontalMargin; int y = verticalMargin; @@ -81,15 +81,15 @@ public void onHudRender( drawString(drawContext, text, x, y); y += - (client.font.lineHeight - 1) + + (client.textRenderer.fontHeight - 1) + (verticalPadding * 2) + lineHeight; } - y = client.getWindow().getGuiScaledHeight() - verticalMargin; + y = client.getWindow().getScaledHeight() - verticalMargin; for (CustomText text : bottomLeftList) { - y -= (client.font.lineHeight - 1) + (verticalPadding * 2); + y -= (client.textRenderer.fontHeight - 1) + (verticalPadding * 2); drawString(drawContext, text, x, y); y -= lineHeight; } @@ -97,27 +97,27 @@ public void onHudRender( y = verticalMargin; for (CustomText text : topRightText) { int offset = - (client.font.width(text.text) - 1) + + (client.textRenderer.getWidth(text.text) - 1) + (horizontalPadding * 2) + horizontalMargin; - x = client.getWindow().getGuiScaledWidth() - offset; + x = client.getWindow().getScaledWidth() - offset; drawString(drawContext, text, x, y); y += - (client.font.lineHeight - 1) + + (client.textRenderer.fontHeight - 1) + (verticalPadding * 2) + lineHeight; } - y = client.getWindow().getGuiScaledHeight() - verticalMargin; + y = client.getWindow().getScaledHeight() - verticalMargin; for (CustomText text : bottomRightText) { int offset = - (client.font.width(text.text) - 1) + + (client.textRenderer.getWidth(text.text) - 1) + (horizontalPadding * 2) + horizontalMargin; - x = client.getWindow().getGuiScaledWidth() - offset; + x = client.getWindow().getScaledWidth() - offset; - y -= (client.font.lineHeight - 1) + (verticalPadding * 2); + y -= (client.textRenderer.fontHeight - 1) + (verticalPadding * 2); drawString(drawContext, text, x, y); @@ -129,13 +129,13 @@ public void onHudRender( float yPercent = text.customY / 100.0f; int maxX = - client.getWindow().getGuiScaledWidth() - + client.getWindow().getScaledWidth() - (horizontalPadding * 2) - - (client.font.width(text.text) - 1); + (client.textRenderer.getWidth(text.text) - 1); int maxY = - client.getWindow().getGuiScaledHeight() - + client.getWindow().getScaledHeight() - (verticalPadding * 2) - - (client.font.lineHeight - 1); + (client.textRenderer.fontHeight - 1); int scaledX = (int) (xPercent * maxX); int scaledY = (int) (yPercent * maxY); @@ -145,7 +145,7 @@ public void onHudRender( } private void drawString( - GuiGraphicsExtractor drawContext, + DrawContext drawContext, CustomText text, int x, int y @@ -154,14 +154,14 @@ private void drawString( x, y, x + - (client.font.width(text.text) - 1) + + (client.textRenderer.getWidth(text.text) - 1) + (horizontalPadding * 2), - y + (client.font.lineHeight - 1) + (verticalPadding * 2), + y + (client.textRenderer.fontHeight - 1) + (verticalPadding * 2), text.backgroundColor ); - drawContext.text( - client.font, + drawContext.drawText( + client.textRenderer, text.text, x + horizontalPadding, y + verticalPadding, diff --git a/src/main/java/dsns/betterhud/ModMenu.java b/src/main/java/dsns/betterhud/ModMenu.java index 70400af..c38d39c 100644 --- a/src/main/java/dsns/betterhud/ModMenu.java +++ b/src/main/java/dsns/betterhud/ModMenu.java @@ -10,7 +10,7 @@ import me.shedaniel.clothconfig2.api.ConfigCategory; import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.network.chat.Component; +import net.minecraft.text.Text; public class ModMenu implements ModMenuApi { @@ -22,7 +22,7 @@ public ConfigScreenFactory getModConfigScreenFactory() { return parent -> { ConfigBuilder builder = ConfigBuilder.create() .setParentScreen(parent) - .setTitle(Component.literal("BetterHUD Settings")); + .setTitle(Text.literal("BetterHUD Settings")); // same as builder.setSavingRunnable(() -> Config.serialize()); builder.setSavingRunnable(Config::serialize); @@ -31,7 +31,7 @@ public ConfigScreenFactory getModConfigScreenFactory() { for (BaseMod mod : BetterHUD.mods) { ConfigCategory category = builder.getOrCreateCategory( - Component.literal(mod.getModID()) + Text.literal(mod.getModID()) ); for (Map.Entry entry : mod @@ -45,7 +45,7 @@ public ConfigScreenFactory getModConfigScreenFactory() { category.addEntry( entryBuilder .startBooleanToggle( - Component.literal(key), + Text.literal(key), setting.getBooleanValue() ) .setDefaultValue( @@ -60,7 +60,7 @@ public ConfigScreenFactory getModConfigScreenFactory() { category.addEntry( entryBuilder .startStringDropdownMenu( - Component.literal(key), + Text.literal(key), setting.getStringValue() ) .setSelections( @@ -76,7 +76,7 @@ public ConfigScreenFactory getModConfigScreenFactory() { category.addEntry( entryBuilder .startIntField( - Component.literal(key), + Text.literal(key), setting.getIntValue() ) .setDefaultValue( @@ -91,7 +91,7 @@ public ConfigScreenFactory getModConfigScreenFactory() { category.addEntry( entryBuilder .startDoubleField( - Component.literal(key), + Text.literal(key), setting.getDoubleValue() ) .setDefaultValue( @@ -108,7 +108,7 @@ public ConfigScreenFactory getModConfigScreenFactory() { category.addEntry( entryBuilder .startAlphaColorField( - Component.literal(key), + Text.literal(key), setting.getColorValue() ) .setDefaultValue( diff --git a/src/main/java/dsns/betterhud/mixin/MinecraftClientAccessor.java b/src/main/java/dsns/betterhud/mixin/MinecraftClientAccessor.java new file mode 100644 index 0000000..4620f79 --- /dev/null +++ b/src/main/java/dsns/betterhud/mixin/MinecraftClientAccessor.java @@ -0,0 +1,13 @@ +package dsns.betterhud.mixin; + +import net.minecraft.client.MinecraftClient; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(MinecraftClient.class) +public interface MinecraftClientAccessor { + @Accessor("currentFps") + static int getCurrentFPS() { + return 0; + } +} diff --git a/src/main/java/dsns/betterhud/mods/Biome.java b/src/main/java/dsns/betterhud/mods/Biome.java index 73289be..a5125c1 100644 --- a/src/main/java/dsns/betterhud/mods/Biome.java +++ b/src/main/java/dsns/betterhud/mods/Biome.java @@ -5,9 +5,10 @@ import dsns.betterhud.util.ModSettings; import java.util.LinkedHashMap; import java.util.Map; -import net.minecraft.client.Minecraft; -import net.minecraft.core.Holder; -import net.minecraft.world.entity.player.Player; +import java.util.Optional; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.registry.RegistryKey; public class Biome implements BaseMod { @@ -24,17 +25,18 @@ public ModSettings getModSettings() { } @Override - public CustomText onStartTick(Minecraft client) { - Player player = client.player; + public CustomText onStartTick(MinecraftClient client) { + PlayerEntity player = client.player; if (player == null) return null; // have to specify this because name of class is Biome - Holder biome = client.level.getBiome(player.blockPosition()); + Optional> biome = + client.world.getBiome(player.getBlockPos()).getKey(); - if (!biome.unwrapKey().isPresent()) return null; + if (!biome.isPresent()) return null; - String biomeString = formatSnakeCase(biome.getRegisteredName().replace("minecraft:", "")); + String biomeString = formatSnakeCase(biome.get().getValue().getPath()); // used to maintain order when iterating LinkedHashMap biomeColors = new LinkedHashMap<>(); diff --git a/src/main/java/dsns/betterhud/mods/Coordinates.java b/src/main/java/dsns/betterhud/mods/Coordinates.java index 14c0cb1..f4c497e 100644 --- a/src/main/java/dsns/betterhud/mods/Coordinates.java +++ b/src/main/java/dsns/betterhud/mods/Coordinates.java @@ -8,8 +8,8 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import net.minecraft.client.Minecraft; -import net.minecraft.world.entity.player.Player; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; class CoordinatesSettings extends ModSettings { @@ -55,8 +55,8 @@ public ModSettings getModSettings() { } @Override - public CustomText onStartTick(Minecraft client) { - Player player = client.player; + public CustomText onStartTick(MinecraftClient client) { + PlayerEntity player = client.player; if (player == null) return null; diff --git a/src/main/java/dsns/betterhud/mods/FPS.java b/src/main/java/dsns/betterhud/mods/FPS.java index b509d2a..4e37acb 100644 --- a/src/main/java/dsns/betterhud/mods/FPS.java +++ b/src/main/java/dsns/betterhud/mods/FPS.java @@ -1,9 +1,10 @@ package dsns.betterhud.mods; +import dsns.betterhud.mixin.MinecraftClientAccessor; import dsns.betterhud.util.BaseMod; import dsns.betterhud.util.CustomText; import dsns.betterhud.util.ModSettings; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; public class FPS implements BaseMod { @@ -20,8 +21,8 @@ public ModSettings getModSettings() { } @Override - public CustomText onStartTick(Minecraft client) { - int currentFPS = client.getFps(); + public CustomText onStartTick(MinecraftClient client) { + int currentFPS = MinecraftClientAccessor.getCurrentFPS(); return new CustomText(currentFPS + " FPS", getModSettings()); } diff --git a/src/main/java/dsns/betterhud/mods/Facing.java b/src/main/java/dsns/betterhud/mods/Facing.java index 9541993..198adab 100644 --- a/src/main/java/dsns/betterhud/mods/Facing.java +++ b/src/main/java/dsns/betterhud/mods/Facing.java @@ -3,8 +3,8 @@ import dsns.betterhud.util.BaseMod; import dsns.betterhud.util.CustomText; import dsns.betterhud.util.ModSettings; -import net.minecraft.client.Minecraft; -import net.minecraft.world.entity.player.Player; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; public class Facing implements BaseMod { @@ -23,13 +23,13 @@ public ModSettings getModSettings() { } @Override - public CustomText onStartTick(Minecraft client) { - Player player = client.player; + public CustomText onStartTick(MinecraftClient client) { + PlayerEntity player = client.player; - if (player == null || player.getDirection() == null) return null; + if (player == null || player.getHorizontalFacing() == null) return null; return new CustomText( - formatSnakeCase(player.getDirection().name()), + formatSnakeCase(player.getHorizontalFacing().name()), getModSettings() ); } diff --git a/src/main/java/dsns/betterhud/mods/Momentum.java b/src/main/java/dsns/betterhud/mods/Momentum.java index a8355e7..9a332ce 100644 --- a/src/main/java/dsns/betterhud/mods/Momentum.java +++ b/src/main/java/dsns/betterhud/mods/Momentum.java @@ -3,9 +3,9 @@ import dsns.betterhud.util.BaseMod; import dsns.betterhud.util.CustomText; import dsns.betterhud.util.ModSettings; -import net.minecraft.client.Minecraft; -import net.minecraft.util.Mth; -import net.minecraft.world.entity.player.Player; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.math.MathHelper; public class Momentum implements BaseMod { @@ -22,15 +22,15 @@ public ModSettings getModSettings() { } @Override - public CustomText onStartTick(Minecraft client) { - Player player = client.player; + public CustomText onStartTick(MinecraftClient client) { + PlayerEntity player = client.player; if (player == null) return null; - double travelledX = player.getX() - player.xOld; - double travelledZ = player.getZ() - player.zOld; + double travelledX = player.getX() - player.lastRenderX; + double travelledZ = player.getZ() - player.lastRenderZ; double currentSpeed = - Mth.sqrt( + MathHelper.sqrt( (float) (travelledX * travelledX + travelledZ * travelledZ) ) / 0.05F; diff --git a/src/main/java/dsns/betterhud/mods/Ping.java b/src/main/java/dsns/betterhud/mods/Ping.java index 078e02e..003057a 100644 --- a/src/main/java/dsns/betterhud/mods/Ping.java +++ b/src/main/java/dsns/betterhud/mods/Ping.java @@ -3,8 +3,8 @@ import dsns.betterhud.util.BaseMod; import dsns.betterhud.util.CustomText; import dsns.betterhud.util.ModSettings; -import net.minecraft.client.Minecraft; -import net.minecraft.world.entity.player.Player; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; public class Ping implements BaseMod { @@ -21,21 +21,21 @@ public ModSettings getModSettings() { } @Override - public CustomText onStartTick(Minecraft client) { - Player player = client.player; + public CustomText onStartTick(MinecraftClient client) { + PlayerEntity player = client.player; if ( player == null || - player.getUUID() == null || - client.getConnection() == null || - client.getConnection().getPlayerInfo(player.getUUID()) == + player.getUuid() == null || + client.getNetworkHandler() == null || + client.getNetworkHandler().getPlayerListEntry(player.getUuid()) == null ) return null; return new CustomText( client - .getConnection() - .getPlayerInfo(player.getUUID()) + .getNetworkHandler() + .getPlayerListEntry(player.getUuid()) .getLatency() + " ms", getModSettings() diff --git a/src/main/java/dsns/betterhud/mods/Time.java b/src/main/java/dsns/betterhud/mods/Time.java index 722145b..073b523 100644 --- a/src/main/java/dsns/betterhud/mods/Time.java +++ b/src/main/java/dsns/betterhud/mods/Time.java @@ -5,7 +5,7 @@ import dsns.betterhud.util.ModSettings; import java.time.LocalTime; import java.time.format.DateTimeFormatter; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; public class Time implements BaseMod { @@ -22,7 +22,7 @@ public ModSettings getModSettings() { } @Override - public CustomText onStartTick(Minecraft client) { + public CustomText onStartTick(MinecraftClient client) { LocalTime currentTime = LocalTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("h:mm a"); String formattedTime = currentTime.format(formatter); diff --git a/src/main/java/dsns/betterhud/util/BaseMod.java b/src/main/java/dsns/betterhud/util/BaseMod.java index 0d35bf4..80f8e17 100644 --- a/src/main/java/dsns/betterhud/util/BaseMod.java +++ b/src/main/java/dsns/betterhud/util/BaseMod.java @@ -1,11 +1,11 @@ package dsns.betterhud.util; -import net.minecraft.client.Minecraft; +import net.minecraft.client.MinecraftClient; public interface BaseMod { public String getModID(); public ModSettings getModSettings(); - public CustomText onStartTick(Minecraft client); + public CustomText onStartTick(MinecraftClient client); } diff --git a/src/main/resources/betterhud.mixins.json b/src/main/resources/betterhud.mixins.json index 370eecf..cb0d4cc 100644 --- a/src/main/resources/betterhud.mixins.json +++ b/src/main/resources/betterhud.mixins.json @@ -1,8 +1,10 @@ { "required": true, "package": "dsns.betterhud.mixin", - "compatibilityLevel": "JAVA_25", - "client": [], + "compatibilityLevel": "JAVA_21", + "client": [ + "MinecraftClientAccessor" + ], "injectors": { "defaultRequire": 1 }, diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 31b270b..37c3ea5 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -21,8 +21,11 @@ "betterhud.mixins.json" ], "depends": { - "fabricloader": ">=0.19", - "minecraft": ">=26", - "java": ">=25" + "fabricloader": ">=0.15.11", + "minecraft": "~1.21", + "java": ">=21", + "fabric-api": "*", + "cloth-config2": "*", + "modmenu": "*" } } \ No newline at end of file