From 52777aca899b76739c93fe2b8cd5d60fa16973f6 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Sun, 13 Jun 2021 17:20:41 +0300 Subject: [PATCH] Block render layers --- gradle.properties | 2 +- .../java/ru/bclib/blocks/BaseChainBlock.java | 6 +++--- .../java/ru/bclib/blocks/BaseDoorBlock.java | 6 +++--- .../ru/bclib/blocks/BaseDoublePlantBlock.java | 6 +++--- .../ru/bclib/blocks/BaseFurnaceBlock.java | 6 +++--- .../java/ru/bclib/blocks/BaseLadderBlock.java | 6 +++--- .../java/ru/bclib/blocks/BaseLeavesBlock.java | 6 +++--- .../ru/bclib/blocks/BaseMetalBarsBlock.java | 6 +++--- .../java/ru/bclib/blocks/BasePlantBlock.java | 6 +++--- .../ru/bclib/blocks/BaseTrapdoorBlock.java | 6 +++--- .../java/ru/bclib/blocks/BaseVineBlock.java | 6 +++--- .../ru/bclib/blocks/FeatureSaplingBlock.java | 6 +++--- .../ru/bclib/blocks/SimpleLeavesBlock.java | 6 +++--- .../java/ru/bclib/blocks/StalactiteBlock.java | 6 +++--- .../ru/bclib/blocks/UnderwaterPlantBlock.java | 6 +++--- .../ru/bclib/blocks/UpDownPlantBlock.java | 6 +++--- .../java/ru/bclib/client/BCLibClient.java | 20 +++++++++++++++++++ ...{ERenderLayer.java => BCLRenderLayer.java} | 2 +- .../ru/bclib/interfaces/IRenderTyped.java | 4 ++-- 19 files changed, 69 insertions(+), 49 deletions(-) rename src/main/java/ru/bclib/client/render/{ERenderLayer.java => BCLRenderLayer.java} (66%) diff --git a/gradle.properties b/gradle.properties index 8d38a0f9..8c14a2ca 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.32 +mod_version = 0.1.33 maven_group = ru.bclib archives_base_name = bclib diff --git a/src/main/java/ru/bclib/blocks/BaseChainBlock.java b/src/main/java/ru/bclib/blocks/BaseChainBlock.java index e23827f8..730cb6d6 100644 --- a/src/main/java/ru/bclib/blocks/BaseChainBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseChainBlock.java @@ -22,7 +22,7 @@ import ru.bclib.client.models.BasePatterns; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.models.PatternsHelper; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public class BaseChainBlock extends ChainBlock implements BlockModelProvider, IRenderTyped { @@ -56,7 +56,7 @@ public class BaseChainBlock extends ChainBlock implements BlockModelProvider, IR } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } } diff --git a/src/main/java/ru/bclib/blocks/BaseDoorBlock.java b/src/main/java/ru/bclib/blocks/BaseDoorBlock.java index 3afa466c..afbee637 100644 --- a/src/main/java/ru/bclib/blocks/BaseDoorBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseDoorBlock.java @@ -25,7 +25,7 @@ import ru.bclib.client.models.BasePatterns; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.models.PatternsHelper; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public class BaseDoorBlock extends DoorBlock implements IRenderTyped, BlockModelProvider { @@ -42,8 +42,8 @@ public class BaseDoorBlock extends DoorBlock implements IRenderTyped, BlockModel } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseDoublePlantBlock.java b/src/main/java/ru/bclib/blocks/BaseDoublePlantBlock.java index 38817356..90ec93a2 100644 --- a/src/main/java/ru/bclib/blocks/BaseDoublePlantBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseDoublePlantBlock.java @@ -34,7 +34,7 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; import ru.bclib.util.BlocksHelper; @@ -119,8 +119,8 @@ public abstract class BaseDoublePlantBlock extends BaseBlockNotFull implements I } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseFurnaceBlock.java b/src/main/java/ru/bclib/blocks/BaseFurnaceBlock.java index 9bdf4b76..212b9e22 100644 --- a/src/main/java/ru/bclib/blocks/BaseFurnaceBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseFurnaceBlock.java @@ -31,7 +31,7 @@ import ru.bclib.client.models.BasePatterns; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.models.PatternsHelper; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public class BaseFurnaceBlock extends FurnaceBlock implements BlockModelProvider, IRenderTyped { @@ -87,8 +87,8 @@ public class BaseFurnaceBlock extends FurnaceBlock implements BlockModelProvider } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseLadderBlock.java b/src/main/java/ru/bclib/blocks/BaseLadderBlock.java index 17fdbec0..af74672c 100644 --- a/src/main/java/ru/bclib/blocks/BaseLadderBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseLadderBlock.java @@ -33,7 +33,7 @@ import ru.bclib.client.models.BasePatterns; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.models.PatternsHelper; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; import ru.bclib.util.BlocksHelper; @@ -137,8 +137,8 @@ public class BaseLadderBlock extends BaseBlockNotFull implements IRenderTyped, B } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseLeavesBlock.java b/src/main/java/ru/bclib/blocks/BaseLeavesBlock.java index 4d0652da..d7a7b1cb 100644 --- a/src/main/java/ru/bclib/blocks/BaseLeavesBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseLeavesBlock.java @@ -20,7 +20,7 @@ import net.minecraft.world.level.material.MaterialColor; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import ru.bclib.client.models.BlockModelProvider; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; import ru.bclib.util.MHelper; @@ -52,8 +52,8 @@ public class BaseLeavesBlock extends LeavesBlock implements BlockModelProvider, } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseMetalBarsBlock.java b/src/main/java/ru/bclib/blocks/BaseMetalBarsBlock.java index 5a612ac0..48a3925c 100644 --- a/src/main/java/ru/bclib/blocks/BaseMetalBarsBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseMetalBarsBlock.java @@ -25,7 +25,7 @@ import ru.bclib.client.models.BasePatterns; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.models.PatternsHelper; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public class BaseMetalBarsBlock extends IronBarsBlock implements BlockModelProvider, IRenderTyped { @@ -103,7 +103,7 @@ public class BaseMetalBarsBlock extends IronBarsBlock implements BlockModelProvi } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } } diff --git a/src/main/java/ru/bclib/blocks/BasePlantBlock.java b/src/main/java/ru/bclib/blocks/BasePlantBlock.java index 9180a4b0..2d83be66 100644 --- a/src/main/java/ru/bclib/blocks/BasePlantBlock.java +++ b/src/main/java/ru/bclib/blocks/BasePlantBlock.java @@ -30,7 +30,7 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public abstract class BasePlantBlock extends BaseBlockNotFull implements IRenderTyped, BonemealableBlock { @@ -106,8 +106,8 @@ public abstract class BasePlantBlock extends BaseBlockNotFull implements IRender } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseTrapdoorBlock.java b/src/main/java/ru/bclib/blocks/BaseTrapdoorBlock.java index 1121a1f4..e89c6d99 100644 --- a/src/main/java/ru/bclib/blocks/BaseTrapdoorBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseTrapdoorBlock.java @@ -23,7 +23,7 @@ import ru.bclib.client.models.BasePatterns; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.models.PatternsHelper; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public class BaseTrapdoorBlock extends TrapDoorBlock implements IRenderTyped, BlockModelProvider { @@ -37,8 +37,8 @@ public class BaseTrapdoorBlock extends TrapDoorBlock implements IRenderTyped, Bl } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/BaseVineBlock.java b/src/main/java/ru/bclib/blocks/BaseVineBlock.java index 46da7f0b..2ac699d3 100644 --- a/src/main/java/ru/bclib/blocks/BaseVineBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseVineBlock.java @@ -33,7 +33,7 @@ import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import ru.bclib.blocks.BlockProperties.TripleShape; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; import ru.bclib.util.BlocksHelper; @@ -115,8 +115,8 @@ public class BaseVineBlock extends BaseBlockNotFull implements IRenderTyped, Bon } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/FeatureSaplingBlock.java b/src/main/java/ru/bclib/blocks/FeatureSaplingBlock.java index 387c3d24..3bf3fd24 100644 --- a/src/main/java/ru/bclib/blocks/FeatureSaplingBlock.java +++ b/src/main/java/ru/bclib/blocks/FeatureSaplingBlock.java @@ -31,7 +31,7 @@ import ru.bclib.client.models.BasePatterns; import ru.bclib.client.models.BlockModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.models.PatternsHelper; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public abstract class FeatureSaplingBlock extends SaplingBlock implements IRenderTyped, BlockModelProvider { @@ -100,8 +100,8 @@ public abstract class FeatureSaplingBlock extends SaplingBlock implements IRende } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/SimpleLeavesBlock.java b/src/main/java/ru/bclib/blocks/SimpleLeavesBlock.java index 4de8acf2..6c1895e5 100644 --- a/src/main/java/ru/bclib/blocks/SimpleLeavesBlock.java +++ b/src/main/java/ru/bclib/blocks/SimpleLeavesBlock.java @@ -4,7 +4,7 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.material.Material; import net.minecraft.world.level.material.MaterialColor; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public class SimpleLeavesBlock extends BaseBlockNotFull implements IRenderTyped { @@ -32,7 +32,7 @@ public class SimpleLeavesBlock extends BaseBlockNotFull implements IRenderTyped } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } } \ No newline at end of file diff --git a/src/main/java/ru/bclib/blocks/StalactiteBlock.java b/src/main/java/ru/bclib/blocks/StalactiteBlock.java index a77c3832..fa92f326 100644 --- a/src/main/java/ru/bclib/blocks/StalactiteBlock.java +++ b/src/main/java/ru/bclib/blocks/StalactiteBlock.java @@ -38,7 +38,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import ru.bclib.client.models.BasePatterns; import ru.bclib.client.models.ModelsHelper; import ru.bclib.client.models.PatternsHelper; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public class StalactiteBlock extends BaseBlockNotFull implements SimpleWaterloggedBlock, LiquidBlockContainer, IRenderTyped { @@ -230,8 +230,8 @@ public class StalactiteBlock extends BaseBlockNotFull implements SimpleWaterlogg } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } static { diff --git a/src/main/java/ru/bclib/blocks/UnderwaterPlantBlock.java b/src/main/java/ru/bclib/blocks/UnderwaterPlantBlock.java index 113c481e..171deae0 100644 --- a/src/main/java/ru/bclib/blocks/UnderwaterPlantBlock.java +++ b/src/main/java/ru/bclib/blocks/UnderwaterPlantBlock.java @@ -34,7 +34,7 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public abstract class UnderwaterPlantBlock extends BaseBlockNotFull implements IRenderTyped, BonemealableBlock, LiquidBlockContainer { @@ -104,8 +104,8 @@ public abstract class UnderwaterPlantBlock extends BaseBlockNotFull implements I } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/blocks/UpDownPlantBlock.java b/src/main/java/ru/bclib/blocks/UpDownPlantBlock.java index 95a7d2f7..3d18763a 100644 --- a/src/main/java/ru/bclib/blocks/UpDownPlantBlock.java +++ b/src/main/java/ru/bclib/blocks/UpDownPlantBlock.java @@ -26,7 +26,7 @@ import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IRenderTyped; public abstract class UpDownPlantBlock extends BaseBlockNotFull implements IRenderTyped { @@ -80,8 +80,8 @@ public abstract class UpDownPlantBlock extends BaseBlockNotFull implements IRend } @Override - public ERenderLayer getRenderLayer() { - return ERenderLayer.CUTOUT; + public BCLRenderLayer getRenderLayer() { + return BCLRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/ru/bclib/client/BCLibClient.java b/src/main/java/ru/bclib/client/BCLibClient.java index ada4ab03..9bbb977c 100644 --- a/src/main/java/ru/bclib/client/BCLibClient.java +++ b/src/main/java/ru/bclib/client/BCLibClient.java @@ -1,11 +1,31 @@ package ru.bclib.client; import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Registry; +import ru.bclib.client.render.BCLRenderLayer; +import ru.bclib.interfaces.IRenderTyped; import ru.bclib.registry.BaseBlockEntityRenders; public class BCLibClient implements ClientModInitializer { @Override public void onInitializeClient() { BaseBlockEntityRenders.register(); + registerRenderLayers(); + } + + private void registerRenderLayers() { + RenderType cutout = RenderType.cutout(); + RenderType translucent = RenderType.translucent(); + Registry.BLOCK.forEach(block -> { + if (block instanceof IRenderTyped) { + BCLRenderLayer layer = ((IRenderTyped) block).getRenderLayer(); + if (layer == BCLRenderLayer.CUTOUT) + BlockRenderLayerMap.INSTANCE.putBlock(block, cutout); + else if (layer == BCLRenderLayer.TRANSLUCENT) + BlockRenderLayerMap.INSTANCE.putBlock(block, translucent); + } + }); } } diff --git a/src/main/java/ru/bclib/client/render/ERenderLayer.java b/src/main/java/ru/bclib/client/render/BCLRenderLayer.java similarity index 66% rename from src/main/java/ru/bclib/client/render/ERenderLayer.java rename to src/main/java/ru/bclib/client/render/BCLRenderLayer.java index cf0d637d..3846d7d6 100644 --- a/src/main/java/ru/bclib/client/render/ERenderLayer.java +++ b/src/main/java/ru/bclib/client/render/BCLRenderLayer.java @@ -1,6 +1,6 @@ package ru.bclib.client.render; -public enum ERenderLayer { +public enum BCLRenderLayer { CUTOUT, TRANSLUCENT; } diff --git a/src/main/java/ru/bclib/interfaces/IRenderTyped.java b/src/main/java/ru/bclib/interfaces/IRenderTyped.java index c82a009b..445f9e6b 100644 --- a/src/main/java/ru/bclib/interfaces/IRenderTyped.java +++ b/src/main/java/ru/bclib/interfaces/IRenderTyped.java @@ -1,7 +1,7 @@ package ru.bclib.interfaces; -import ru.bclib.client.render.ERenderLayer; +import ru.bclib.client.render.BCLRenderLayer; public interface IRenderTyped { - ERenderLayer getRenderLayer(); + BCLRenderLayer getRenderLayer(); }