aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/items
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-02-19 19:00:32 +0900
committerGitHub <noreply@github.com>2023-02-19 11:00:32 +0100
commit0a8f536e279897630cb5a938c7eeb9bf162dab7f (patch)
tree981fd1491e1b10c5db475c4381cfe2173677f285 /src/main/java/gregtech/api/items
parente64166c670b7f4e2c37e3cfffb3b4d0a0e7b9f79 (diff)
downloadGT5-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.java33
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