From 229c3f7c912e4a33bf0c731b38e62c5e0e137150 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sat, 29 Mar 2025 16:11:04 -0500 Subject: [PATCH] Add neoforge 1.21.5 --- build.gradle | 2 +- fabric/build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- .../mixins/client/MixinLightTexture.java | 50 +++++++++++-------- .../mixins/client/MixinTextureUtil.java | 6 +++ versionProperties/1.21.5.properties | 2 +- 6 files changed, 38 insertions(+), 26 deletions(-) diff --git a/build.gradle b/build.gradle index ccea89f55..0b3d96ca8 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ plugins { id "systems.manifold.manifold-gradle-plugin" version "0.0.2-alpha" // Architectury is used here only as a replacement for forge's own loom - id "dev.architectury.loom" version "1.9-SNAPSHOT" apply false + id "dev.architectury.loom" version "1.10-SNAPSHOT" apply false } diff --git a/fabric/build.gradle b/fabric/build.gradle index bd88ccbfc..270ede33c 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -1,5 +1,5 @@ plugins { - id "fabric-loom" version "1.8-SNAPSHOT" + id "fabric-loom" version "1.10-SNAPSHOT" } loom { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 94113f200..cea7a793a 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.11-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLightTexture.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLightTexture.java index 404ce278d..32ae446d9 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLightTexture.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLightTexture.java @@ -19,17 +19,12 @@ package com.seibel.distanthorizons.neoforge.mixins.client; - -import com.mojang.blaze3d.pipeline.TextureTarget; -import com.mojang.blaze3d.platform.NativeImage; - import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftRenderWrapper; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import net.minecraft.client.renderer.LightTexture; -import org.lwjgl.opengl.GL32; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -37,30 +32,33 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +#if MC_VER < MC_1_21_3 +import com.mojang.blaze3d.platform.NativeImage; +#elif MC_VER < MC_1_21_5 +import com.mojang.blaze3d.pipeline.TextureTarget; +#else +import com.mojang.blaze3d.opengl.GlTexture; +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.textures.GpuTexture; +#endif + @Mixin(LightTexture.class) public class MixinLightTexture { #if MC_VER < MC_1_21_3 - @Shadow + @Shadow @Final private NativeImage lightPixels; - - - @Inject(method = "updateLightTexture(F)V", at = @At("RETURN")) - public void updateLightTexture(float partialTicks, CallbackInfo ci) - { - IMinecraftClientWrapper mc = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); - if (mc == null || mc.getWrappedClientLevel() == null) - { - return; - } - - IClientLevelWrapper clientLevel = mc.getWrappedClientLevel(); - MinecraftRenderWrapper.INSTANCE.updateLightmap(this.lightPixels, clientLevel); - } + #elif MC_VER < MC_1_21_5 + @Shadow + @Final + private TextureTarget target; #else + @Shadow + @Final + private GpuTexture texture; + #endif - @Shadow @Final private TextureTarget target; @Inject(method = "updateLightTexture(F)V", at = @At("RETURN")) public void updateLightTexture(float partialTicks, CallbackInfo ci) { @@ -70,9 +68,17 @@ public class MixinLightTexture return; } + IClientLevelWrapper clientLevel = mc.getWrappedClientLevel(); + + #if MC_VER < MC_1_21_3 + MinecraftRenderWrapper.INSTANCE.updateLightmap(this.lightPixels, clientLevel); + #elif MC_VER < MC_1_21_5 MinecraftRenderWrapper.INSTANCE.setLightmapId(this.target.getColorTextureId(), clientLevel); + #else + GlTexture glTexture = (GlTexture) this.texture; + MinecraftRenderWrapper.INSTANCE.setLightmapId(glTexture.glId(), clientLevel); + #endif } - #endif } diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinTextureUtil.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinTextureUtil.java index fb933a3bb..70d4e3c37 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinTextureUtil.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinTextureUtil.java @@ -1,6 +1,8 @@ package com.seibel.distanthorizons.neoforge.mixins.client; +#if MC_VER < MC_1_21_5 import com.mojang.blaze3d.platform.GlStateManager; +#endif import com.mojang.blaze3d.platform.TextureUtil; import com.seibel.distanthorizons.core.config.Config; import org.spongepowered.asm.mixin.Mixin; @@ -15,6 +17,9 @@ import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(TextureUtil.class) public class MixinTextureUtil { + // TODO fix for MC 1.21.5+ + + #if MC_VER < MC_1_21_5 @Redirect(method = "prepareImage(Lcom/mojang/blaze3d/platform/NativeImage$InternalGlFormat;IIII)V", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/GlStateManager;_texParameter(IIF)V"), remap = false) private static void setLodBias(int target, int pname, float param) @@ -27,5 +32,6 @@ public class MixinTextureUtil GlStateManager._texParameter(target, pname, biasValue); } } + #endif } \ No newline at end of file diff --git a/versionProperties/1.21.5.properties b/versionProperties/1.21.5.properties index 3d351f2f4..a9649a428 100644 --- a/versionProperties/1.21.5.properties +++ b/versionProperties/1.21.5.properties @@ -4,7 +4,7 @@ minecraft_version=1.21.5 parchment_version=1.21:2024.07.28 compatible_minecraft_versions=["1.21.5"] accessWidenerVersion=1_21_4 -builds_for=fabric +builds_for=fabric,neoforge # forge is broken due to gradle/build script issues # Netty