From 253442cc594684dda2076debe543e601b7aea4d0 Mon Sep 17 00:00:00 2001 From: KawaiiZapic Date: Sat, 15 Jun 2024 01:33:12 +0800 Subject: [PATCH] feat: support 1.21 --- build.gradle | 8 ++++---- gradle.properties | 14 +++++++------- gradle/wrapper/gradle-wrapper.properties | 2 +- src/client/java/moe/zapic/clockhud/Main.java | 1 - src/client/java/moe/zapic/clockhud/Textures.java | 6 +++--- .../java/moe/zapic/clockhud/config/ModConfig.java | 10 +--------- .../moe/zapic/clockhud/config/ModMenuImpl.java | 12 ++++++++++++ .../java/moe/zapic/clockhud/mixin/RenderMixin.java | 7 ++++--- .../moe/zapic/clockhud/render/ClockRender.java | 3 ++- .../moe/zapic/clockhud/render/DayCountRender.java | 5 +++-- src/client/resources/fabric.mod.json | 8 ++++---- 11 files changed, 41 insertions(+), 35 deletions(-) create mode 100644 src/client/java/moe/zapic/clockhud/config/ModMenuImpl.java diff --git a/build.gradle b/build.gradle index 694acb8..7eb03b6 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.2-SNAPSHOT' + id 'fabric-loom' version '1.6-SNAPSHOT' id 'maven-publish' } @@ -60,7 +60,7 @@ processResources { } tasks.withType(JavaCompile).configureEach { - it.options.release = 17 + it.options.release = 21 } java { @@ -69,8 +69,8 @@ java { // If you remove this line, sources will not be generated. // withSourcesJar() - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } jar { diff --git a/gradle.properties b/gradle.properties index 4f4491f..28e76e3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,16 +4,16 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.20.4 -yarn_mappings=1.20.4+build.3 -loader_version=0.15.2 +minecraft_version=1.21 +yarn_mappings=1.21+build.2 +loader_version=0.15.11 # Mod Properties -mod_version=1.1.7 +mod_version=1.1.8 maven_group=moe.zapic archives_base_name=clock-hud # Dependencies -fabric_version=0.91.2+1.20.4 -cloth_config_version=13.0.114 -mod_menu_version=9.0.0-pre.1 \ No newline at end of file +fabric_version=0.100.1+1.21 +cloth_config_version=15.0.127 +mod_menu_version=11.0.0-beta.1 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37aef8d..20db9ad 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-8.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/client/java/moe/zapic/clockhud/Main.java b/src/client/java/moe/zapic/clockhud/Main.java index 8e79ec7..18fb751 100644 --- a/src/client/java/moe/zapic/clockhud/Main.java +++ b/src/client/java/moe/zapic/clockhud/Main.java @@ -13,7 +13,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; - public class Main implements ClientModInitializer { public static final Logger LOGGER = LoggerFactory.getLogger("ClockHUD"); public static ModConfig config = null; diff --git a/src/client/java/moe/zapic/clockhud/Textures.java b/src/client/java/moe/zapic/clockhud/Textures.java index 1266da0..ba8b8e1 100644 --- a/src/client/java/moe/zapic/clockhud/Textures.java +++ b/src/client/java/moe/zapic/clockhud/Textures.java @@ -8,7 +8,7 @@ public class Textures { public static int BAR_H = 12; public static int DOT_S = 10; public static int ICON_S = 48; - public static Identifier BAR = new Identifier("clock-hud", "bar.png"); - public static Identifier MOON = new Identifier("clock-hud", "moon.png"); - public static Identifier SUN = new Identifier("clock-hud", "sun.png"); + public static Identifier BAR = Identifier.of("clock-hud", "bar.png"); + public static Identifier MOON = Identifier.of("clock-hud", "moon.png"); + public static Identifier SUN = Identifier.of("clock-hud", "sun.png"); } diff --git a/src/client/java/moe/zapic/clockhud/config/ModConfig.java b/src/client/java/moe/zapic/clockhud/config/ModConfig.java index fac57df..38dbcbd 100644 --- a/src/client/java/moe/zapic/clockhud/config/ModConfig.java +++ b/src/client/java/moe/zapic/clockhud/config/ModConfig.java @@ -1,14 +1,11 @@ package moe.zapic.clockhud.config; -import com.terraformersmc.modmenu.api.ConfigScreenFactory; -import com.terraformersmc.modmenu.api.ModMenuApi; -import me.shedaniel.autoconfig.AutoConfig; import me.shedaniel.autoconfig.ConfigData; import me.shedaniel.autoconfig.annotation.ConfigEntry; import me.shedaniel.autoconfig.annotation.Config; @Config(name = "clock-hud") -public class ModConfig implements ConfigData, ModMenuApi { +public class ModConfig implements ConfigData { public boolean isShow = true; public boolean showDayCount = true; public int ScreenX = 4; @@ -21,9 +18,4 @@ public class ModConfig implements ConfigData, ModMenuApi { @ConfigEntry.BoundedDiscrete(min = 0, max = 255) public int Opacity = 255; - - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> AutoConfig.getConfigScreen(ModConfig.class, parent).get(); - } } diff --git a/src/client/java/moe/zapic/clockhud/config/ModMenuImpl.java b/src/client/java/moe/zapic/clockhud/config/ModMenuImpl.java new file mode 100644 index 0000000..f285cfb --- /dev/null +++ b/src/client/java/moe/zapic/clockhud/config/ModMenuImpl.java @@ -0,0 +1,12 @@ +package moe.zapic.clockhud.config; + +import com.terraformersmc.modmenu.api.ConfigScreenFactory; +import com.terraformersmc.modmenu.api.ModMenuApi; +import me.shedaniel.autoconfig.AutoConfig; + +public class ModMenuImpl implements ModMenuApi { + @Override + public ConfigScreenFactory getModConfigScreenFactory() { + return parent -> AutoConfig.getConfigScreen(ModConfig.class, parent).get(); + } +} diff --git a/src/client/java/moe/zapic/clockhud/mixin/RenderMixin.java b/src/client/java/moe/zapic/clockhud/mixin/RenderMixin.java index e6d2b39..6b97789 100644 --- a/src/client/java/moe/zapic/clockhud/mixin/RenderMixin.java +++ b/src/client/java/moe/zapic/clockhud/mixin/RenderMixin.java @@ -5,6 +5,7 @@ import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.hud.InGameHud; +import net.minecraft.client.render.RenderTickCounter; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -14,8 +15,8 @@ public class RenderMixin { @Inject(at = @At("TAIL"), method = "render") - public void render(DrawContext context, float tickDelta, CallbackInfo ci) { - ClockRender.render(context); - DayCountRender.render(context); + public void render(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci) { + ClockRender.render(context, tickCounter); + DayCountRender.render(context, tickCounter); } } diff --git a/src/client/java/moe/zapic/clockhud/render/ClockRender.java b/src/client/java/moe/zapic/clockhud/render/ClockRender.java index f7828b1..5de3358 100644 --- a/src/client/java/moe/zapic/clockhud/render/ClockRender.java +++ b/src/client/java/moe/zapic/clockhud/render/ClockRender.java @@ -5,10 +5,11 @@ import moe.zapic.clockhud.Textures; import moe.zapic.clockhud.Utils; import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.render.RenderTickCounter; import net.minecraft.util.Identifier; public class ClockRender { - public static void render(DrawContext context) { + public static void render(DrawContext context, RenderTickCounter rtc) { var config = Main.config; if (!config.isShow) { return; } diff --git a/src/client/java/moe/zapic/clockhud/render/DayCountRender.java b/src/client/java/moe/zapic/clockhud/render/DayCountRender.java index 8309bb7..775d05d 100644 --- a/src/client/java/moe/zapic/clockhud/render/DayCountRender.java +++ b/src/client/java/moe/zapic/clockhud/render/DayCountRender.java @@ -4,6 +4,7 @@ import moe.zapic.clockhud.Utils; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.render.RenderTickCounter; import net.minecraft.text.Text; public class DayCountRender { @@ -13,7 +14,7 @@ public class DayCountRender { public static float Duration = 100.0f; public static int TextOpacity = 4; - public static void render(DrawContext context) { + public static void render(DrawContext context, RenderTickCounter rtc) { if(!Main.config.showDayCount) return; checkIsNewDay(); if (!isTextRendering) return; @@ -26,7 +27,7 @@ public static void render(DrawContext context) { setRenderStatus(); context.drawCenteredTextWithShadow(mc.textRenderer, Text.translatable("text.clock-hud.new-day-tip", currentDay), mc.getWindow().getScaledWidth() / 2, 30, (TextOpacity << 24) + 0xffffff); matrices.pop(); - renderTime += mc.getLastFrameDuration(); + renderTime += rtc.getLastFrameDuration(); if (renderTime >= Duration) { isTextRendering = false; renderTime = 0.0f; diff --git a/src/client/resources/fabric.mod.json b/src/client/resources/fabric.mod.json index 25b555c..6d53dff 100644 --- a/src/client/resources/fabric.mod.json +++ b/src/client/resources/fabric.mod.json @@ -22,7 +22,7 @@ "moe.zapic.clockhud.Main" ], "modmenu": [ - "moe.zapic.clockhud.config.ModConfig" + "moe.zapic.clockhud.config.ModMenuImpl" ] }, "mixins": [ @@ -32,9 +32,9 @@ "depends": { "fabricloader": ">=0.14.21", "fabric-api": "*", - "minecraft": "~1.20", - "java": ">=17", - "cloth-config": ">=11.0" + "minecraft": "~1.21", + "java": ">=21", + "cloth-config": ">=13.0" }, "suggests": { "modmenu": "*"