Cr3aHal0 Posted November 7, 2021 Share Posted November 7, 2021 (edited) Hey everyone, Freshly coming back to Minecraft modding a few days ago, I decided to start from the basics and so creating a new transparent block, much like a glass block but with 0 opacity. The block itself is transparent but I found an unexpected behaviour (aswell I think it is) : when placed next to or on top of another block, this new transparent block does act as x-ray mods : when no other block underneath it has been mined, you can clearly see the far-away lava for example. It seems also that if any block has been changed or visualized within that view then this block does appear in that x-ray vision. I did follow some of the tutorials I could find online about 1.17, custom block and transparency, but I could not find a solution to this. In case other mods could have been involved in this, I remove them all, server-side and client-side but to no effet. The definition of the new block is quite simple (actually a Block) : public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, ExampleMod.MOD_ID); public static final RegistryObject<BlockItem> INVISIBLE_BLOCK = ITEMS.register("invisible_block", () -> new BlockItem(BlockInit.INVISIBLE_BLOCK.get(), new Item.Properties().tab(CreativeModeTab.TAB_BUILDING_BLOCKS))); //... public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, ExampleMod.MOD_ID); public static final RegistryObject<InvisibleBlock> INVISIBLE_BLOCK = BLOCKS.register("invisible_block", () -> new InvisibleBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_BLUE).explosionResistance(99F))); //... public class InvisibleBlock extends Block { public InvisibleBlock(Properties properties) { super(properties); } } so is the model and textures : { "parent": "block/cube_all", "textures": { "all": "examplemod:blocks/invisible_block" }, "elements": [ { "from": [0, 0, 0], "to": [16, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "faces": { "north": {"uv": [0, 0, 16, 16], "texture": "#all"}, "east": {"uv": [0, 0, 16, 16], "texture": "#all"}, "south": {"uv": [0, 0, 16, 16], "texture": "#all"}, "west": {"uv": [0, 0, 16, 16], "texture": "#all"}, "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#all"}, "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#all"} } } ], "groups": [ { "name": "VoxelShapes", "origin": [8, 8, 8], "color": 0, "children": [0] } ] } with texture "invisible_block" being a PNG with 4 blue dots on a huge transparent background. I've read that there is a need to address transparency client-wise so I do have a listener setting render type : @Mod.EventBusSubscriber(modid = ExampleMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public class ClientModEvent { private ClientModEvent() { } @SubscribeEvent public static void clientSetup(FMLClientSetupEvent event) { ItemBlockRenderTypes.setRenderLayer(BlockInit.INVISIBLE_BLOCK.get(), RenderType.translucent()); } } I've tried some changes from translucent to cutout but it does not solve the problem. Does someone has any idea on why this happen and how could I solve it please ? Thanks you in advance for your time and your help, Cheers Cr3aHal0 Edited November 8, 2021 by Cr3aHal0 Topic resolved Quote Link to comment Share on other sites More sharing options...
Luis_ST Posted November 7, 2021 Share Posted November 7, 2021 you need to add noOcclusion to the Block Properties 2 Quote Link to comment Share on other sites More sharing options...
Cr3aHal0 Posted November 8, 2021 Author Share Posted November 8, 2021 I feel so sorry for having missed such a "little" part which was not notified in any tutorial I was reading It indeed works very well, thanks @Luis_ST 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.