Posted April 26, 20169 yr I am trying to put many,many (potentially greater than 16) tile entities into one single block. Currently I have the following problems: 1. How do I attach a tile entity to the block based on the damage of the corresponding ItemBlock? The onItemUse method of ItemBlock does not mention about TileEntity, and the corresponding handling is done in the World class. The createTileEntity method does not provide any information about the placer either. 2. How do I change the texture/model based on the TileEntity? I am thinking about using getActualState(IBlockState, IBlockAccess, BlockPos) or TileEntitySpecialRender. Thanks in advance.
April 26, 20169 yr My suggestion: don't. Unless your blocks are all closely related, it is my opinion that your code is much better off with individual block classes and instances. But, if you really want to, there is a Block method (NOT the one in BlockContainer, but the one added by Forge) that returns a TileEntity and has the IBlockState / metadata as an argument, so you CAN return different TileEntity types based on that criteria. However, I believe you would be limited to the 16 values of IBlockState, as you wouldn't be able to use the 'actual' state at this point given that the TileEntity does not yet exist. As for rendering, #getActualState is perfectly fine, and you probably won't even need a TESR to do it - ISmartBlockModel (or whatever replaced it in 1.9) provides everything you need to render based on the extended block state. http://i.imgur.com/NdrFdld.png[/img]
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.