Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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.

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.

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.