From e70ad6a85af24be5da5ed1672fec474c008ff514 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Mon, 24 Mar 2025 11:33:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(client-mod):=20=E4=BF=AE=E5=A4=8D=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E7=AB=AF=E8=A7=86=E8=A7=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/CraftEngineFabricModClient.java | 6 +++++- .../client/util/BlockUtils.java | 21 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 client-mod/src/client/java/net/momirealms/craftEngineFabricMod/client/util/BlockUtils.java diff --git a/client-mod/src/client/java/net/momirealms/craftEngineFabricMod/client/CraftEngineFabricModClient.java b/client-mod/src/client/java/net/momirealms/craftEngineFabricMod/client/CraftEngineFabricModClient.java index 01fffd7dd..2d846701b 100644 --- a/client-mod/src/client/java/net/momirealms/craftEngineFabricMod/client/CraftEngineFabricModClient.java +++ b/client-mod/src/client/java/net/momirealms/craftEngineFabricMod/client/CraftEngineFabricModClient.java @@ -7,6 +7,7 @@ import net.minecraft.client.render.RenderLayer; import net.minecraft.registry.Registries; import net.minecraft.util.Identifier; import net.momirealms.craftEngineFabricMod.client.network.CraftEnginePayload; +import net.momirealms.craftEngineFabricMod.client.util.BlockUtils; public class CraftEngineFabricModClient implements ClientModInitializer { public static final String MOD_ID = "craftengine"; @@ -17,7 +18,10 @@ public class CraftEngineFabricModClient implements ClientModInitializer { Registries.BLOCK.forEach(block -> { Identifier id = Registries.BLOCK.getId(block); if (id.getNamespace().equals(CraftEngineFabricModClient.MOD_ID)) { - BlockRenderLayerMap.INSTANCE.putBlock(block, RenderLayer.getTranslucent()); + BlockRenderLayerMap.INSTANCE.putBlock(block, RenderLayer.getCutoutMipped()); + if (id.getPath().contains("leaves")) { + BlockUtils.registerColor(block); + } } }); } diff --git a/client-mod/src/client/java/net/momirealms/craftEngineFabricMod/client/util/BlockUtils.java b/client-mod/src/client/java/net/momirealms/craftEngineFabricMod/client/util/BlockUtils.java new file mode 100644 index 000000000..284859cbf --- /dev/null +++ b/client-mod/src/client/java/net/momirealms/craftEngineFabricMod/client/util/BlockUtils.java @@ -0,0 +1,21 @@ +package net.momirealms.craftEngineFabricMod.client.util; + +import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry; +import net.minecraft.block.Block; +import net.minecraft.client.color.world.BiomeColors; +import net.minecraft.world.biome.FoliageColors; + +public class BlockUtils { + public static void registerColor(Block block) { + + ColorProviderRegistry.BLOCK.register( + (state, world, pos, tintIndex) -> { + if (world != null && pos != null) { + return BiomeColors.getFoliageColor(world, pos); + } + return FoliageColors.DEFAULT; // 默认颜色 + }, + block + ); + } +}