From ac27780ba64058b0e8b0bb0e2d9403eaa0c4c590 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Mon, 20 May 2024 13:09:07 +0200 Subject: Reducing allocation (#2601) * Add IAllSidedTexturedTileEntity to reduce memory overhead for ore textures (cherry picked from commit 274918800a3bf728e1db88e2d22b14cb6eb1a2e5) * Cache texture for ore, since it doesn't change during the game obviously (cherry picked from commit 45a2fe43f2cdb33fa7c0b05a4b8e4531fd2706a6) * Reduce allocations for inventory ores rendering (cherry picked from commit 5ed6526436e9b3a0586f37eac460f707636a102d) --------- Co-authored-by: SKProCH --- .../tileentity/IAllSidedTexturedTileEntity.java | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/main/java/gregtech/api/interfaces/tileentity/IAllSidedTexturedTileEntity.java (limited to 'src/main/java/gregtech/api/interfaces') diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IAllSidedTexturedTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IAllSidedTexturedTileEntity.java new file mode 100644 index 0000000000..1d00aa5d76 --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/tileentity/IAllSidedTexturedTileEntity.java @@ -0,0 +1,24 @@ +package gregtech.api.interfaces.tileentity; + +import net.minecraft.block.Block; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.interfaces.ITexture; + +/** + * Block which has same texture on all sides + */ +public interface IAllSidedTexturedTileEntity extends ITexturedTileEntity { + + /** + * @return the Textures rendered by the GT Rendering + */ + default ITexture[] getTexture(Block aBlock, ForgeDirection side) { + return getTexture(aBlock); + } + + /** + * @return the Textures rendered by the GT Rendering + */ + ITexture[] getTexture(Block aBlock); +} -- cgit