Posted December 30, 20159 yr I have a simple ore block with subblocks for different types of ore. I want one of the variants of it to glow, similarly to redstone ore. Would the best way to do this be to override getLightValue, or is there a preferred way of doing such a thing?
December 30, 20159 yr Author Ok, thanks. Just wanted to check to make sure there were no problems that could occur from the way I'm doing it.
December 30, 20159 yr Just be aware that when you start overriding methods to start using metadata where vanilla has never used metadata before, you can run into bugs in vanilla code that only a mod could expose. For example (depending on Forge version), it is possible for some of your block's methods to be called in the midst of deletion after your block has been replaced by air at its coords. If vanilla never tried to get the blockstate at coords, but you do, then you blow up. Therefore, when you start testing, be sure to delete your block to see if it handles deletion correctly. If you get a crash report in a method called against an air block, then your method will need to check that the block at coords is not BlockAir (or is still an instance of your block) and handle the condition gracefully. The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.
December 31, 20159 yr You try to find this function in Vanilla block: public int getLightValue(IBlockAccess world, BlockPos pos) English is not my native language
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.