diff --git a/build.gradle b/build.gradle index 6f2ad59..4c0b704 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.9-SNAPSHOT" apply false + id "dev.architectury.loom" version "1.10-SNAPSHOT" apply false id "me.shedaniel.unified-publishing" version "0.1.+" apply false } diff --git a/common/src/main/java/eu/midnightdust/cullleaves/mixin/MixinBlockModelRenderer.java b/common/src/main/java/eu/midnightdust/cullleaves/mixin/MixinBlockModelRenderer.java index 6956ec2..257bc77 100644 --- a/common/src/main/java/eu/midnightdust/cullleaves/mixin/MixinBlockModelRenderer.java +++ b/common/src/main/java/eu/midnightdust/cullleaves/mixin/MixinBlockModelRenderer.java @@ -5,20 +5,21 @@ import net.minecraft.block.BlockState; import net.minecraft.block.LeavesBlock; import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.block.BlockModelRenderer; -import net.minecraft.client.render.model.BakedModel; +import net.minecraft.client.render.model.BlockModelPart; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.random.Random; import net.minecraft.world.BlockRenderView; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import java.util.List; + @Mixin(BlockModelRenderer.class) public class MixinBlockModelRenderer { - @Inject(at = @At("HEAD"), method = "render(Lnet/minecraft/world/BlockRenderView;Lnet/minecraft/client/render/model/BakedModel;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumer;ZLnet/minecraft/util/math/random/Random;JI)V", cancellable = true) - private void cullleaves$cancelRendering(BlockRenderView world, BakedModel model, BlockState state, BlockPos pos, MatrixStack matrices, VertexConsumer vertexConsumer, boolean cull, Random random, long seed, int overlay, CallbackInfo ci) { + @Inject(at = @At("HEAD"), method = "render(Lnet/minecraft/world/BlockRenderView;Ljava/util/List;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumer;ZI)V", cancellable = true) + private void cullleaves$cancelRendering(BlockRenderView world, List parts, BlockState state, BlockPos pos, MatrixStack matrices, VertexConsumer vertexConsumer, boolean cull, int overlay, CallbackInfo ci) { if (state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(world, pos)) ci.cancel(); } diff --git a/fabric/src/main/java/eu/midnightdust/cullleaves/fabric/mixin/sodium/MixinBlockRenderer.java b/fabric/src/main/java/eu/midnightdust/cullleaves/fabric/mixin/sodium/MixinBlockRenderer.java index 38e52ba..5475e96 100644 --- a/fabric/src/main/java/eu/midnightdust/cullleaves/fabric/mixin/sodium/MixinBlockRenderer.java +++ b/fabric/src/main/java/eu/midnightdust/cullleaves/fabric/mixin/sodium/MixinBlockRenderer.java @@ -5,7 +5,7 @@ import net.caffeinemc.mods.sodium.client.render.chunk.compile.pipeline.BlockRend import net.caffeinemc.mods.sodium.client.render.frapi.render.AbstractBlockRenderContext; import net.minecraft.block.BlockState; import net.minecraft.block.LeavesBlock; -import net.minecraft.client.render.model.BakedModel; +import net.minecraft.client.render.model.BlockStateModel; import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -15,7 +15,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(BlockRenderer.class) public abstract class MixinBlockRenderer extends AbstractBlockRenderContext { @Inject(at = @At("HEAD"), method = "renderModel", cancellable = true) - public void cullleaves$cancelRendering(BakedModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci) { + public void cullleaves$cancelRendering(BlockStateModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci) { if (state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(this.level, pos)) ci.cancel(); } diff --git a/gradle.properties b/gradle.properties index fd5fba5..240ebab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,23 +1,23 @@ org.gradle.jvmargs=-Xmx4096M -minecraft_version=1.21.4 -yarn_mappings=1.21.4+build.2 +minecraft_version=1.21.5 +yarn_mappings=1.21.5+build.1 enabled_platforms=fabric,neoforge archives_base_name=cullleaves -mod_version=4.0.3 +mod_version=4.0.4 maven_group=eu.midnightdust release_type=release curseforge_id=423254 modrinth_id=GNxdLCoP -midnightlib_version=1.6.6 -sodium_version=mc1.21.4-0.6.5 +midnightlib_version=1.7.1+1.21.4 +sodium_version=mc1.21.5-0.6.13 -fabric_loader_version=0.16.9 -fabric_api_version=0.112.2+1.21.4 +fabric_loader_version=0.16.13 +fabric_api_version=0.121.0+1.21.5 -neoforge_version=21.4.41-beta +neoforge_version=21.5.52-beta yarn_mappings_patch_neoforge_version = 1.21+build.4 quilt_loader_version=0.18.9 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 21d5e09..c6f0030 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.13-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/neoforge/src/main/java/eu/midnightdust/cullleaves/neoforge/CullLeavesClientEvents.java b/neoforge/src/main/java/eu/midnightdust/cullleaves/neoforge/CullLeavesClientEvents.java index 378c02a..f44113b 100644 --- a/neoforge/src/main/java/eu/midnightdust/cullleaves/neoforge/CullLeavesClientEvents.java +++ b/neoforge/src/main/java/eu/midnightdust/cullleaves/neoforge/CullLeavesClientEvents.java @@ -8,7 +8,7 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.ModList; import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.neoforge.client.event.RegisterClientReloadListenersEvent; +import net.neoforged.neoforge.client.event.AddClientReloadListenersEvent; import net.neoforged.neoforge.event.AddPackFindersEvent; import net.neoforged.neoforgespi.locating.IModFile; @@ -36,7 +36,7 @@ public class CullLeavesClientEvents { })); } @SubscribeEvent - public static void onResourceReload(RegisterClientReloadListenersEvent event) { - event.registerReloadListener(CullLeavesClient.ReloadListener.INSTANCE); + public static void onResourceReload(AddClientReloadListenersEvent event) { + event.addListener(Identifier.of(CullLeavesClient.MOD_ID, "resourcepack_options"), CullLeavesClient.ReloadListener.INSTANCE); } } diff --git a/neoforge/src/main/java/eu/midnightdust/cullleaves/neoforge/mixin/sodium/MixinBlockRenderer.java b/neoforge/src/main/java/eu/midnightdust/cullleaves/neoforge/mixin/sodium/MixinBlockRenderer.java index 6874bf4..2c91e1f 100644 --- a/neoforge/src/main/java/eu/midnightdust/cullleaves/neoforge/mixin/sodium/MixinBlockRenderer.java +++ b/neoforge/src/main/java/eu/midnightdust/cullleaves/neoforge/mixin/sodium/MixinBlockRenderer.java @@ -5,7 +5,7 @@ import net.caffeinemc.mods.sodium.client.render.chunk.compile.pipeline.BlockRend import net.minecraft.block.BlockState; import net.minecraft.block.LeavesBlock; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.render.model.BakedModel; +import net.minecraft.client.render.model.BlockStateModel; import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; @@ -19,7 +19,7 @@ public abstract class MixinBlockRenderer { @Unique private static final MinecraftClient cullleaves$client = MinecraftClient.getInstance(); @Inject(at = @At("HEAD"), method = "renderModel", cancellable = true) - public void cullleaves$cancelRendering(BakedModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci) { + public void cullleaves$cancelRendering(BlockStateModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci) { if (CullLeavesClient.forceHideInnerLeaves && state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(cullleaves$client.world, pos)) ci.cancel(); }