diff options
author | miozune <miozune@gmail.com> | 2023-02-19 19:00:32 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-19 11:00:32 +0100 |
commit | 0a8f536e279897630cb5a938c7eeb9bf162dab7f (patch) | |
tree | 981fd1491e1b10c5db475c4381cfe2173677f285 /src/main/java/gregtech/api/items | |
parent | e64166c670b7f4e2c37e3cfffb3b4d0a0e7b9f79 (diff) | |
download | GT5-Unofficial-0a8f536e279897630cb5a938c7eeb9bf162dab7f.tar.gz GT5-Unofficial-0a8f536e279897630cb5a938c7eeb9bf162dab7f.tar.bz2 GT5-Unofficial-0a8f536e279897630cb5a938c7eeb9bf162dab7f.zip |
Make material renderer available for arbitrary item (#1753)
* Make material renderer available for arbitrary item
* pass render pass
Diffstat (limited to 'src/main/java/gregtech/api/items')
-rw-r--r-- | src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java index 3e81c102f4..32a46c8641 100644 --- a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java +++ b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java @@ -30,6 +30,7 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.SubTag; import gregtech.api.enums.TC_Aspects.TC_AspectStack; import gregtech.api.interfaces.IFoodStat; +import gregtech.api.interfaces.IGT_ItemWithMaterialRenderer; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.IItemBehaviour; import gregtech.api.interfaces.IItemContainer; @@ -56,7 +57,7 @@ import gregtech.common.render.items.GT_GeneratedMaterial_Renderer; * Item. */ @Optional.Interface(iface = "squeek.applecore.api.food.IEdible", modid = MOD_ID_APC) -public abstract class GT_MetaGenerated_Item extends GT_MetaBase_Item implements IEdible { +public abstract class GT_MetaGenerated_Item extends GT_MetaBase_Item implements IGT_ItemWithMaterialRenderer, IEdible { /** * All instances of this Item Class are listed here. This gets used to register the Renderer to all Items of this @@ -256,9 +257,7 @@ public abstract class GT_MetaGenerated_Item extends GT_MetaBase_Item implements return true; } - /** - * @return the Color Modulation the Material is going to be rendered with. - */ + @Override public short[] getRGBa(ItemStack aStack) { return Materials._NULL.getRGBA(); } @@ -270,13 +269,33 @@ public abstract class GT_MetaGenerated_Item extends GT_MetaBase_Item implements return null; } - /** - * @return the Custom renderer of the Material with offset < 32000 - */ + @Override + public IIcon getIcon(int aMetaData, int pass) { + IIconContainer iconContainer = getIconContainer(aMetaData); + return iconContainer != null ? iconContainer.getIcon() : null; + } + + @Override + public IIcon getOverlayIcon(int aMetaData, int pass) { + IIconContainer iconContainer = getIconContainer(aMetaData); + return iconContainer != null ? iconContainer.getOverlayIcon() : null; + } + + @Override + public boolean shouldUseCustomRenderer(int aMetaData) { + return true; + } + + @Override public GT_GeneratedMaterial_Renderer getMaterialRenderer(int aMetaData) { return null; } + @Override + public boolean allowMaterialRenderer(int aMetaData) { + return aMetaData < this.mOffset; + } + /* ---------- INTERNAL OVERRIDES ---------- */ @Override |