Posted November 5, 201410 yr I have a log block with metadata, and what Im trying to do is make the block with the meta "1" to give of light. I just can't seem to do this. I have tried: (which probably is totally wrong) In my log class: if(new ItemStack(Item.getItemFromBlock(this).getItemDamage() == 1) { setLightLevel(3.0F); } I don't know if that's wrong or something but it keeps crashing on startup
November 5, 201410 yr That is completely wrong. 1. A new ItemStack instance always has metadata of 0, unless you set it to another value 2. setLightLevel sets the light level for the block instance, regardless of metadata. You need to override getLightValue(world, x, y, z) in your log block class and get it's metadata by calling world#getBlockMetadata(x, y, z) [which returns the metadata] and check if the metadata is the desired one. A side note: If you can place your log in different directions like the vanilla ones, you actually need to strip the metadata from it's direction value with bitwise operations. Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! | mah twitter This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.
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.