From aa138f36cbd1ee319d8c1868a6e8223ae93480d7 Mon Sep 17 00:00:00 2001 From: Vladislav Laetansky <87545780+vlaetansky@users.noreply.github.com> Date: Fri, 19 Aug 2022 14:41:39 +0300 Subject: Meta Generated Items renderer overhaul (#1269) * Meta Generated Items renderer overhaul * Adjust naming * Force alpha test * Properly render overlay --- src/main/java/gregtech/api/enums/Materials.java | 3 ++- src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java | 8 ++++++++ src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src/main/java/gregtech/api') diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 085a4a440e..1a1ab6a4f2 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -3,7 +3,6 @@ package gregtech.api.enums; import cpw.mods.fml.common.Loader; import gregtech.GT_Mod; import gregtech.api.GregTech_API; -import gregtech.api.enums.MaterialsBotania; import gregtech.api.enums.TC_Aspects.TC_AspectStack; import gregtech.api.interfaces.IColorModulationContainer; import gregtech.api.interfaces.IMaterialHandler; @@ -12,6 +11,7 @@ import gregtech.api.objects.GT_FluidStack; import gregtech.api.objects.MaterialStack; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import gregtech.common.render.items.GT_GeneratedMaterial_Renderer; import gregtech.loaders.materialprocessing.ProcessingConfig; import gregtech.loaders.materialprocessing.ProcessingModSupport; import net.minecraft.enchantment.Enchantment; @@ -928,6 +928,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { mRGBa = new short[]{255, 255, 255, 0}, mMoltenRGBa = new short[]{255, 255, 255, 0}; public TextureSet mIconSet; + public GT_GeneratedMaterial_Renderer renderer; public List mMaterialList = new ArrayList<>(); public List mOreByProducts = new ArrayList<>(), 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 9e38518607..2743f35e3b 100644 --- a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java +++ b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java @@ -18,6 +18,7 @@ import gregtech.api.util.GT_Config; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import gregtech.common.render.items.GT_GeneratedMaterial_Renderer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -253,6 +254,13 @@ public abstract class GT_MetaGenerated_Item extends GT_MetaBase_Item implements return null; } + /** + * @return the Custom renderer of the Material with offset < 32000 + */ + public GT_GeneratedMaterial_Renderer getMaterialRenderer(int aMetaData) { + return null; + } + /* ---------- INTERNAL OVERRIDES ---------- */ @Override diff --git a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java index ca93a85eea..645764defb 100644 --- a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java +++ b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java @@ -10,6 +10,7 @@ import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import gregtech.common.render.items.GT_GeneratedMaterial_Renderer; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -160,6 +161,11 @@ public abstract class GT_MetaGenerated_Item_X32 extends GT_MetaGenerated_Item { return GregTech_API.sGeneratedMaterials[aMetaData % 1000] == null ? null : getIconContainer(aMetaData, GregTech_API.sGeneratedMaterials[aMetaData % 1000]); } + @Override + public GT_GeneratedMaterial_Renderer getMaterialRenderer(int aMetaData) { + return GregTech_API.sGeneratedMaterials[aMetaData % 1000] == null ? null : GregTech_API.sGeneratedMaterials[aMetaData % 1000].renderer; + } + @Override @SideOnly(Side.CLIENT) public final void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aList) { -- cgit