diff --git a/gradle.properties b/gradle.properties index 37477055..02a5c05a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ yarn_mappings=6 loader_version=0.11.3 # Mod Properties -mod_version = 0.1.4 +mod_version = 0.1.5 maven_group = ru.bclib archives_base_name = bclib diff --git a/src/main/java/ru/bclib/client/BCLibClient.java b/src/main/java/ru/bclib/client/BCLibClient.java new file mode 100644 index 00000000..e25387e5 --- /dev/null +++ b/src/main/java/ru/bclib/client/BCLibClient.java @@ -0,0 +1,11 @@ +package ru.bclib.client; + +import net.fabricmc.api.ClientModInitializer; +import ru.bclib.registry.BaseBlockEntityRenders; + +public class BCLibClient implements ClientModInitializer { + @Override + public void onInitializeClient() { + BaseBlockEntityRenders.register(); + } +} diff --git a/src/main/java/ru/bclib/client/render/BaseChestBlockEntityRenderer.java b/src/main/java/ru/bclib/client/render/BaseChestBlockEntityRenderer.java index 7a93c0c8..e079c61f 100644 --- a/src/main/java/ru/bclib/client/render/BaseChestBlockEntityRenderer.java +++ b/src/main/java/ru/bclib/client/render/BaseChestBlockEntityRenderer.java @@ -9,6 +9,8 @@ import com.mojang.math.Vector3f; import it.unimi.dsi.fastutil.floats.Float2FloatFunction; import it.unimi.dsi.fastutil.ints.Int2IntFunction; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; @@ -34,6 +36,7 @@ import ru.bclib.blockentities.BaseChestBlockEntity; import ru.bclib.blocks.BaseChestBlock; import ru.bclib.registry.BaseRegistry; +@Environment(EnvType.CLIENT) public class BaseChestBlockEntityRenderer extends BlockEntityRenderer { private static final HashMap LAYERS = Maps.newHashMap(); private static final RenderType[] defaultLayer; @@ -154,27 +157,22 @@ public class BaseChestBlockEntityRenderer extends BlockEntityRenderer { - if (item instanceof BlockItem) { - Block block = ((BlockItem) item).getBlock(); - if (block instanceof BaseChestBlock) { - ResourceLocation blockId = Registry.BLOCK.getKey(block); - String modId = blockId.getNamespace(); - String path = blockId.getPath(); - LAYERS.put(block, new RenderType[] { - RenderType.entityCutout(new ResourceLocation(modId, "textures/entity/chest/" + path + ".png")), - RenderType.entityCutout(new ResourceLocation(modId, "textures/entity/chest/" + path + "_left.png")), - RenderType.entityCutout(new ResourceLocation(modId, "textures/entity/chest/" + path + "_right.png")) - }); - } - } - }); } } diff --git a/src/main/java/ru/bclib/client/render/BaseSignBlockEntityRenderer.java b/src/main/java/ru/bclib/client/render/BaseSignBlockEntityRenderer.java index 069f71e8..e038167a 100644 --- a/src/main/java/ru/bclib/client/render/BaseSignBlockEntityRenderer.java +++ b/src/main/java/ru/bclib/client/render/BaseSignBlockEntityRenderer.java @@ -28,6 +28,7 @@ import net.minecraft.world.level.block.StandingSignBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.WoodType; import ru.bclib.blockentities.BaseSignBlockEntity; +import ru.bclib.blocks.BaseChestBlock; import ru.bclib.blocks.BaseSignBlock; import ru.bclib.registry.BaseRegistry; @@ -102,21 +103,14 @@ public class BaseSignBlockEntityRenderer extends BlockEntityRenderer { - if (item instanceof BlockItem) { - Block block = ((BlockItem) item).getBlock(); - if (block instanceof BaseSignBlock) { - ResourceLocation blockId = Registry.BLOCK.getKey(block); - RenderType layer = RenderType.entitySolid(new ResourceLocation(blockId.getNamespace(), - "textures/entity/sign/" + blockId.getPath() + ".png")); - LAYERS.put(block, layer); - } - } - }); + public static void registerRenderLayer(BaseSignBlock block) { + ResourceLocation blockId = Registry.BLOCK.getKey(block); + RenderType layer = RenderType.entitySolid(new ResourceLocation(blockId.getNamespace(), + "textures/entity/sign/" + blockId.getPath() + ".png")); + LAYERS.put(block, layer); } - + static { + defaultLayer = RenderType.entitySolid(new ResourceLocation("textures/entity/sign/oak.png")); + } }