Posted February 5, 20223 yr I am making a mod that is supposed to make wood emit light when clicked with a stick. So far I have the RightClickBlock that tests for when a Player is clicking a planks block while holding a stick, but how do I make that single wood block emit light? I have seen Blockstate#setLightLevel(), but that doesnt exist in 1.18.1. It probably would be doable using reflection to set the light of ALL wood blocks, but I need to set the light level ONLY for the CLICKED wood block. Edited February 5, 20223 yr by Minetrinity
February 5, 20223 yr Author Yes, I thought about that, since Blockstate also has a function to get the Light. But It lacks a method to change light. Should I create a costum subclass of BlockState, or how do I create another Blockstate? Edit: What is that MapCodec<BlockState> parameter in Blockstates constructor? Edited February 5, 20223 yr by Minetrinity
February 6, 20223 yr Author Ok, how do I register a new blockstate for every block with the Tag "minecraft:planks" then? I can not simply create a planks block class, because other mods might also add new planks blocks. Edited February 6, 20223 yr by Minetrinity
February 6, 20223 yr 4 minutes ago, Minetrinity said: Ok, how do I register a new blockstate for every block with the Tag "minecraft:planks" then? you can't register a new BlockState you need a custom Block, since the BlockStates are bind to the Block 4 minutes ago, Minetrinity said: I can not simply create a planks block class, because other mods might also add new planks blocks. thats a good idea, but unfortunately you can't use the planks Tag since it's initialize later than the registery is fired, i would recommend you to only replace the vanilla planks, then create a way that allows other mods to add your PlankBlock
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.