Block render layers

This commit is contained in:
paulevsGitch 2021-06-13 17:20:41 +03:00
parent 93094e0390
commit 52777aca89
19 changed files with 69 additions and 49 deletions

View file

@ -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

View file

@ -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;
}
}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;
}
}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;
}
}

View file

@ -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 {

View file

@ -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

View file

@ -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

View file

@ -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);
}
});
}
}

View file

@ -1,6 +1,6 @@
package ru.bclib.client.render;
public enum ERenderLayer {
public enum BCLRenderLayer {
CUTOUT,
TRANSLUCENT;
}

View file

@ -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();
}