diff --git a/src/main/java/eu/midnightdust/cullleaves/CullLeavesClient.java b/src/main/java/eu/midnightdust/cullleaves/CullLeavesClient.java index 7e40215..5e93378 100644 --- a/src/main/java/eu/midnightdust/cullleaves/CullLeavesClient.java +++ b/src/main/java/eu/midnightdust/cullleaves/CullLeavesClient.java @@ -40,8 +40,12 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.common.Mod; -import net.neoforged.neoforge.client.event.AddClientReloadListenersEvent; import net.neoforged.neoforge.event.AddPackFindersEvent; + //? if >= 1.21.4 { + import net.neoforged.neoforge.client.event.AddClientReloadListenersEvent; + //?} else { + /^import net.neoforged.neoforge.client.event.RegisterClientReloadListenersEvent; + ^///?} *///?} //? neoforge @@ -145,8 +149,8 @@ public class CullLeavesClient /*? fabric {*/ implements ClientModInitializer /*? } } @SubscribeEvent - public static void onResourceReload(AddClientReloadListenersEvent event) { - event.addListener(ResourceLocation.fromNamespaceAndPath(CullLeavesClient.MOD_ID, "resourcepack_options"), CullLeavesClient.ReloadListener.INSTANCE); + public static void onResourceReload(/^? if >= 1.21.4 {^/ AddClientReloadListenersEvent /^?} else {^//^RegisterClientReloadListenersEvent ^//^?}^/ event) { + event. /^? if >= 1.21.4 {^/ addListener(ResourceLocation.fromNamespaceAndPath(CullLeavesClient.MOD_ID, "resourcepack_options"), /^?} else {^/ /^registerReloadListener( ^//^?}^/ CullLeavesClient.ReloadListener.INSTANCE); } } *///?} diff --git a/src/main/java/eu/midnightdust/cullleaves/mixin/MixinBlockModelRenderer.java b/src/main/java/eu/midnightdust/cullleaves/mixin/MixinBlockModelRenderer.java index 2d4eda7..04d7e4c 100644 --- a/src/main/java/eu/midnightdust/cullleaves/mixin/MixinBlockModelRenderer.java +++ b/src/main/java/eu/midnightdust/cullleaves/mixin/MixinBlockModelRenderer.java @@ -4,7 +4,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import eu.midnightdust.cullleaves.CullLeavesClient; import net.minecraft.client.renderer.block.ModelBlockRenderer; -import net.minecraft.client.renderer.block.model.BlockModelPart; import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.LeavesBlock; @@ -14,12 +13,22 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +//? if >= 1.21.4 { +import net.minecraft.client.renderer.block.model.BlockModelPart; import java.util.List; +//?} else { +/*import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.util.RandomSource; +*///?} @Mixin(ModelBlockRenderer.class) public class MixinBlockModelRenderer { @Inject(at = @At("HEAD"), method = "tesselateBlock", cancellable = true) + //? if >= 1.21.4 { private void cullleaves$cancelRendering(BlockAndTintGetter world, List parts, BlockState state, BlockPos pos, PoseStack matrices, VertexConsumer vertexConsumer, boolean cull, int overlay, CallbackInfo ci) { + //?} else { + /*private void cullleaves$cancelRendering(BlockAndTintGetter world, BakedModel bakedModel, BlockState state, BlockPos pos, PoseStack matrices, VertexConsumer vertexConsumer, boolean cull, RandomSource randomSource, long l, int overlay, CallbackInfo ci) { + *///?} if (state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(world, pos)) ci.cancel(); } diff --git a/src/main/java/eu/midnightdust/cullleaves/mixin/sodium/MixinBlockRenderer.java b/src/main/java/eu/midnightdust/cullleaves/mixin/sodium/MixinBlockRenderer.java index 04399c9..5e945a4 100644 --- a/src/main/java/eu/midnightdust/cullleaves/mixin/sodium/MixinBlockRenderer.java +++ b/src/main/java/eu/midnightdust/cullleaves/mixin/sodium/MixinBlockRenderer.java @@ -3,7 +3,7 @@ package eu.midnightdust.cullleaves.mixin.sodium; import eu.midnightdust.cullleaves.CullLeavesClient; import net.caffeinemc.mods.sodium.client.render.chunk.compile.pipeline.BlockRenderer; import net.caffeinemc.mods.sodium.client.render.frapi.render.AbstractBlockRenderContext; -import net.minecraft.client.renderer.block.model.BlockStateModel; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.LeavesBlock; import net.minecraft.world.level.block.state.BlockState; @@ -11,12 +11,33 @@ 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; +//? if >= 1.21.4 { +import net.minecraft.client.renderer.block.model.BlockStateModel; +//?} else { +/*import net.minecraft.client.resources.model.BakedModel; +*///?} + +//? if fabric { +//?} else { +/*import net.minecraft.client.Minecraft; +import org.spongepowered.asm.mixin.Unique; +*///?} + @Mixin(BlockRenderer.class) -public abstract class MixinBlockRenderer extends AbstractBlockRenderContext { +public abstract class MixinBlockRenderer /*? if fabric {*/ extends AbstractBlockRenderContext /*?}*/ { + //? if neoforge { + /*@Unique + private static final Minecraft cullleaves$client = Minecraft.getInstance(); + *///?} + @Inject(at = @At("HEAD"), method = "renderModel", cancellable = true) + //? if >= 1.21.4 { public void cullleaves$cancelRendering(BlockStateModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci) { - if (state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(this.level, pos)) + //?} else { + /*public void cullleaves$cancelRendering(BakedModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci) { + *///?} + if (state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(/*? if fabric {*/ this.level /*?} else {*/ /*cullleaves$client.level *//*?}*/, pos)) ci.cancel(); } -} +} \ No newline at end of file diff --git a/versions/1.21.1-neoforge/gradle.properties b/versions/1.21.1-neoforge/gradle.properties index 3a1c734..f89a9c7 100644 --- a/versions/1.21.1-neoforge/gradle.properties +++ b/versions/1.21.1-neoforge/gradle.properties @@ -8,6 +8,6 @@ deps.neoforge_loader=21.1.66 deps.fabric_version=0.114.0+1.21.1 -deps.modmenu_version=[UNSUPPORTED] +deps.sodium_version=mc1.21.1-0.6.13 loom.platform=neoforge \ No newline at end of file