Difference between revisions of "BlockEntityWithoutLevelRenderer"

From Forge Community Wiki
m (monospaced font for certain header texts)
(Categorize with Category:Items by SizableShrimp#0755)
Line 11: Line 11:
  
 
If you need to access the <code>TransformType</code> for rendering, you can store the one passed through <code><nowiki>IBakedModel#handlePerspective</nowiki></code> and use it during rendering. This method will always be called before <code><nowiki>ItemStackTileEntityRenderer#func_239207_a_</nowiki></code>.
 
If you need to access the <code>TransformType</code> for rendering, you can store the one passed through <code><nowiki>IBakedModel#handlePerspective</nowiki></code> and use it during rendering. This method will always be called before <code><nowiki>ItemStackTileEntityRenderer#func_239207_a_</nowiki></code>.
 +
 +
 +
[[Category:Items]]

Revision as of 00:59, 19 May 2021

ItemStackTileEntityRenderer is a class that allows custom usages of MatrixStacks and IRenderTypeBuffers to render items.

Using ItemStackTileEntityRenderer

ItemStackTileEntityRenderer allows you to render your item by extending the class and overriding ItemStackTileEntityRenderer#func_239207_a_.

In order to use a ISTER, the Item must first return true for IBakedModel#isBuiltInRenderer. It is also recommended that if you are using a block that AbstractBlock#getRenderType returns BlockRenderType#ENTITYBLOCK_ANIMATED so that it will render correctly in layers and minecarts. Once that returns true, the Item’s ISTER will be accessed for rendering. If it does not have one, it will use the default ItemStackTileEntityRenderer#instance.

To set the ISTER for an Item, use Item.Properties#setISTER. Each Item can only ever provide one ISTER, and the getter is final so that mods do not return new instances each frame.

That’s it, no additional setup is necessary to use a ISTER.

If you need to access the TransformType for rendering, you can store the one passed through IBakedModel#handlePerspective and use it during rendering. This method will always be called before ItemStackTileEntityRenderer#func_239207_a_.