7 Commits
main ... 1.21.6

Author SHA1 Message Date
Martin Prokoph
7b4ecdc4e9 port: Chase the Skies (1.21.6) 2025-06-17 18:18:13 +02:00
Martin Prokoph
0d191e2888 port: Spring to Life (1.21.5) 2025-04-21 10:32:53 +02:00
Martin Prokoph
eef6c2aca0 Bump version (again) 2024-12-24 15:03:36 +01:00
Martin Prokoph
c0cdc982e7 Merge branch '1.21.4' of https://github.com/TeamMidnightDust/CullLeaves into 1.21.4 2024-12-24 15:01:41 +01:00
Martin Prokoph
796c2f246b Bump version 2024-12-24 15:01:21 +01:00
Martin Prokoph
e8b62d24e1 Merge pull request #57 from TeamMidnightDust/main
Also apply fixes to 1.21.4
2024-12-24 14:59:41 +01:00
Martin Prokoph
57613f465d Port to 1.21.4 2024-12-24 14:45:48 +01:00
8 changed files with 25 additions and 23 deletions

View File

@@ -1,6 +1,6 @@
plugins { plugins {
id "architectury-plugin" version "3.4-SNAPSHOT" id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "1.6-SNAPSHOT" apply false id "dev.architectury.loom" version "1.10-SNAPSHOT" apply false
id "me.shedaniel.unified-publishing" version "0.1.+" apply false id "me.shedaniel.unified-publishing" version "0.1.+" apply false
} }

View File

@@ -5,20 +5,21 @@ import net.minecraft.block.BlockState;
import net.minecraft.block.LeavesBlock; import net.minecraft.block.LeavesBlock;
import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.VertexConsumer;
import net.minecraft.client.render.block.BlockModelRenderer; 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.client.util.math.MatrixStack;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.random.Random;
import net.minecraft.world.BlockRenderView; import net.minecraft.world.BlockRenderView;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.List;
@Mixin(BlockModelRenderer.class) @Mixin(BlockModelRenderer.class)
public class MixinBlockModelRenderer { 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) @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, BakedModel model, BlockState state, BlockPos pos, MatrixStack matrices, VertexConsumer vertexConsumer, boolean cull, Random random, long seed, int overlay, CallbackInfo ci) { private void cullleaves$cancelRendering(BlockRenderView world, List<BlockModelPart> parts, BlockState state, BlockPos pos, MatrixStack matrices, VertexConsumer vertexConsumer, boolean cull, int overlay, CallbackInfo ci) {
if (state.getBlock() instanceof LeavesBlock && if (state.getBlock() instanceof LeavesBlock &&
CullLeavesClient.shouldHideBlock(world, pos)) ci.cancel(); CullLeavesClient.shouldHideBlock(world, pos)) ci.cancel();
} }

View File

@@ -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.caffeinemc.mods.sodium.client.render.frapi.render.AbstractBlockRenderContext;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.LeavesBlock; 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 net.minecraft.util.math.BlockPos;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
@@ -15,7 +15,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(BlockRenderer.class) @Mixin(BlockRenderer.class)
public abstract class MixinBlockRenderer extends AbstractBlockRenderContext { public abstract class MixinBlockRenderer extends AbstractBlockRenderContext {
@Inject(at = @At("HEAD"), method = "renderModel", cancellable = true) @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)) if (state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(this.level, pos))
ci.cancel(); ci.cancel();
} }

View File

@@ -1,23 +1,23 @@
org.gradle.jvmargs=-Xmx4096M org.gradle.jvmargs=-Xmx4096M
minecraft_version=1.21.1 minecraft_version=1.21.6
yarn_mappings=1.21.1+build.3 yarn_mappings=1.21.6+build.1
enabled_platforms=fabric,neoforge enabled_platforms=fabric,neoforge
archives_base_name=cullleaves archives_base_name=cullleaves
mod_version=4.0.1 mod_version=4.0.5
maven_group=eu.midnightdust maven_group=eu.midnightdust
release_type=release release_type=release
curseforge_id=423254 curseforge_id=423254
modrinth_id=GNxdLCoP modrinth_id=GNxdLCoP
midnightlib_version=1.6.3 midnightlib_version=1.7.4+1.21.6
sodium_version=mc1.21.1-0.6.5 sodium_version=mc1.21.6-0.6.13
fabric_loader_version=0.16.9 fabric_loader_version=0.16.14
fabric_api_version=0.110.0+1.21.1 fabric_api_version=0.127.0+1.21.6
neoforge_version=21.1.82 neoforge_version=21.6.0-beta
yarn_mappings_patch_neoforge_version = 1.21+build.4 yarn_mappings_patch_neoforge_version = 1.21+build.4
quilt_loader_version=0.18.9 quilt_loader_version=0.18.9

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000 networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@@ -8,7 +8,7 @@ import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.ModList; import net.neoforged.fml.ModList;
import net.neoforged.fml.common.EventBusSubscriber; 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.neoforge.event.AddPackFindersEvent;
import net.neoforged.neoforgespi.locating.IModFile; import net.neoforged.neoforgespi.locating.IModFile;
@@ -36,7 +36,7 @@ public class CullLeavesClientEvents {
})); }));
} }
@SubscribeEvent @SubscribeEvent
public static void onResourceReload(RegisterClientReloadListenersEvent event) { public static void onResourceReload(AddClientReloadListenersEvent event) {
event.registerReloadListener(CullLeavesClient.ReloadListener.INSTANCE); event.addListener(Identifier.of(CullLeavesClient.MOD_ID, "resourcepack_options"), CullLeavesClient.ReloadListener.INSTANCE);
} }
} }

View File

@@ -5,7 +5,7 @@ import net.caffeinemc.mods.sodium.client.render.chunk.compile.pipeline.BlockRend
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.LeavesBlock; import net.minecraft.block.LeavesBlock;
import net.minecraft.client.MinecraftClient; 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 net.minecraft.util.math.BlockPos;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.Unique;
@@ -19,7 +19,7 @@ public abstract class MixinBlockRenderer {
@Unique private static final MinecraftClient cullleaves$client = MinecraftClient.getInstance(); @Unique private static final MinecraftClient cullleaves$client = MinecraftClient.getInstance();
@Inject(at = @At("HEAD"), method = "renderModel", cancellable = true) @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)) if (CullLeavesClient.forceHideInnerLeaves && state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(cullleaves$client.world, pos))
ci.cancel(); ci.cancel();
} }

View File

@@ -1,5 +1,6 @@
package eu.midnightdust.cullleaves.neoforge.mixin.sodium; package eu.midnightdust.cullleaves.neoforge.mixin.sodium;
import eu.midnightdust.cullleaves.CullLeavesClient;
import eu.midnightdust.cullleaves.config.CullLeavesConfig; import eu.midnightdust.cullleaves.config.CullLeavesConfig;
import net.caffeinemc.mods.sodium.client.gui.SodiumGameOptionPages; import net.caffeinemc.mods.sodium.client.gui.SodiumGameOptionPages;
import net.caffeinemc.mods.sodium.client.gui.options.OptionFlag; import net.caffeinemc.mods.sodium.client.gui.options.OptionFlag;
@@ -31,7 +32,7 @@ public class MixinSodiumGameOptionPages {
.setControl(TickBoxControl::new) .setControl(TickBoxControl::new)
.setBinding((opts, value) -> { .setBinding((opts, value) -> {
CullLeavesConfig.enabled = value; CullLeavesConfig.enabled = value;
CullLeavesConfig.write("cullleaves"); CullLeavesConfig.write(CullLeavesClient.MOD_ID);
}, opts -> CullLeavesConfig.enabled) }, opts -> CullLeavesConfig.enabled)
.setFlags(OptionFlag.REQUIRES_RENDERER_RELOAD) .setFlags(OptionFlag.REQUIRES_RENDERER_RELOAD)
.setImpact(OptionImpact.MEDIUM) .setImpact(OptionImpact.MEDIUM)
@@ -42,7 +43,7 @@ public class MixinSodiumGameOptionPages {
.setControl(TickBoxControl::new) .setControl(TickBoxControl::new)
.setBinding((opts, value) -> { .setBinding((opts, value) -> {
CullLeavesConfig.cullRoots = value; CullLeavesConfig.cullRoots = value;
CullLeavesConfig.write("cullleaves"); CullLeavesConfig.write(CullLeavesClient.MOD_ID);
}, opts -> CullLeavesConfig.cullRoots) }, opts -> CullLeavesConfig.cullRoots)
.setFlags(OptionFlag.REQUIRES_RENDERER_RELOAD) .setFlags(OptionFlag.REQUIRES_RENDERER_RELOAD)
.setImpact(OptionImpact.MEDIUM) .setImpact(OptionImpact.MEDIUM)