diff --git a/src/main/java/ovh/glitchlabs/ornamentum/Ornamentum.java b/src/main/java/ovh/glitchlabs/ornamentum/Ornamentum.java index 1af7cc9..0af7c12 100644 --- a/src/main/java/ovh/glitchlabs/ornamentum/Ornamentum.java +++ b/src/main/java/ovh/glitchlabs/ornamentum/Ornamentum.java @@ -91,6 +91,28 @@ public class Ornamentum { // Some client setup code LOGGER.info("HELLO FROM CLIENT SETUP"); //LOGGER.info("MINECRAFT NAME >> {}", Minecraft.getInstance().getUser().getName()); + + // Register render types for glow glass blocks + registerGlassRenderTypes(); + } + + private static void registerGlassRenderTypes() { + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.LIME_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.WHITE_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.GRAY_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.LIGHT_GRAY_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.BLACK_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.BROWN_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.RED_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.ORANGE_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.YELLOW_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.GREEN_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.CYAN_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.LIGHT_BLUE_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.BLUE_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.PURPLE_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.MAGENTA_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); + net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(ModBlocks.PINK_GLOW_STAINED_GLASS.get(), net.minecraft.client.renderer.RenderType.translucent()); } } } diff --git a/src/main/java/ovh/glitchlabs/ornamentum/blocks/GlowGlassBlock.java b/src/main/java/ovh/glitchlabs/ornamentum/blocks/GlowGlassBlock.java new file mode 100644 index 0000000..8b471dd --- /dev/null +++ b/src/main/java/ovh/glitchlabs/ornamentum/blocks/GlowGlassBlock.java @@ -0,0 +1,20 @@ +package ovh.glitchlabs.ornamentum.blocks; + +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.core.Direction; + +public class GlowGlassBlock extends Block { + public GlowGlassBlock(BlockBehaviour.Properties properties) { + super(properties); + } + + @Override + public boolean skipRendering(BlockState state, BlockState adjacentBlockState, Direction side) { + return adjacentBlockState.getBlock() instanceof GlowGlassBlock || super.skipRendering(state, adjacentBlockState, side); + } +} + + + diff --git a/src/main/java/ovh/glitchlabs/ornamentum/blocks/ModBlocks.java b/src/main/java/ovh/glitchlabs/ornamentum/blocks/ModBlocks.java index ecd236f..a602a8c 100644 --- a/src/main/java/ovh/glitchlabs/ornamentum/blocks/ModBlocks.java +++ b/src/main/java/ovh/glitchlabs/ornamentum/blocks/ModBlocks.java @@ -26,7 +26,7 @@ public class ModBlocks { //GlowGlass public static final DeferredBlock LIME_GLOW_STAINED_GLASS = registerBlock("lime_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS) + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS) .emissiveRendering(((blockState, blockGetter, blockPos) -> true)) .lightLevel(blockstate -> 10) .noOcclusion() @@ -34,49 +34,49 @@ public class ModBlocks { ); public static final DeferredBlock WHITE_GLOW_STAINED_GLASS = registerBlock("white_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock LIGHT_GRAY_GLOW_STAINED_GLASS = registerBlock("light_gray_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock GRAY_GLOW_STAINED_GLASS = registerBlock("gray_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock BLACK_GLOW_STAINED_GLASS = registerBlock("black_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock BROWN_GLOW_STAINED_GLASS = registerBlock("brown_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock RED_GLOW_STAINED_GLASS = registerBlock("red_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock ORANGE_GLOW_STAINED_GLASS = registerBlock("orange_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock YELLOW_GLOW_STAINED_GLASS = registerBlock("yellow_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock GREEN_GLOW_STAINED_GLASS = registerBlock("green_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock CYAN_GLOW_STAINED_GLASS = registerBlock("cyan_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock LIGHT_BLUE_GLOW_STAINED_GLASS = registerBlock("light_blue_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock BLUE_GLOW_STAINED_GLASS = registerBlock("blue_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock PURPLE_GLOW_STAINED_GLASS = registerBlock("purple_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock MAGENTA_GLOW_STAINED_GLASS = registerBlock("magenta_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock PINK_GLOW_STAINED_GLASS = registerBlock("pink_glow_stained_glass", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); + () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); private static DeferredBlock registerBlock(String name, Supplier block) {