diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2022-02-23 17:10:51 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-23 18:10:51 +0100 |
commit | 2f79ba3a1dd0b96b7481bf7d2e149ba5f35318ad (patch) | |
tree | 3cdac080977f06daebfaee638b208f20cc407e4b /src/main/java/gregtech/common/render | |
parent | 8d8100a2c370f0b41f3e1bc80182fb7a3988a974 (diff) | |
download | GT5-Unofficial-2f79ba3a1dd0b96b7481bf7d2e149ba5f35318ad.tar.gz GT5-Unofficial-2f79ba3a1dd0b96b7481bf7d2e149ba5f35318ad.tar.bz2 GT5-Unofficial-2f79ba3a1dd0b96b7481bf7d2e149ba5f35318ad.zip |
Base work adding 3 new tiers of coils. (#885)
* Base work adding 4 new tiers of coils.
* Remove OPV tier.
Remove nonsensical coil tier tags. (Awak = UIV, really? No thanks)
Add proper texture for Hypogen, Infinity and Eternal coils.
* Revert avaratia dep via import by Alk. If someone can implement cosmic rendering here then great but that is well beyond me.
Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gregtech/common/render')
-rw-r--r-- | src/main/java/gregtech/common/render/CosmicItemRendererGT.java | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/render/CosmicItemRendererGT.java b/src/main/java/gregtech/common/render/CosmicItemRendererGT.java new file mode 100644 index 0000000000..0055e8ad08 --- /dev/null +++ b/src/main/java/gregtech/common/render/CosmicItemRendererGT.java @@ -0,0 +1,74 @@ +package gregtech.common.render; + +import java.util.*; + +import fox.spiteful.avaritia.render.CosmicItemRenderer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.oredict.OreDictionary; + +public class CosmicItemRendererGT extends CosmicItemRenderer { + + private static CosmicItemRendererGT sInstance = null; + public static HashMap<Item, List<Integer>> sCosmicItemRendererGtMapping = new HashMap<Item, List<Integer>>(); + private static boolean sInit = false; + + public static void registerItemWithMeta(Item aItem, List<Integer> aMeta) { + if (aItem != null) { + if (aMeta == null || aMeta.isEmpty()) { + ArrayList<Integer> aWildCard = new ArrayList<Integer>(); + aWildCard.add(OreDictionary.WILDCARD_VALUE); + sCosmicItemRendererGtMapping.put(aItem, aWildCard); + } + else { + sCosmicItemRendererGtMapping.put(aItem, aMeta); + } + } + } + + public static void registerItemWithMeta(Item aItem, int aMeta) { + if (aItem != null) { + ArrayList<Integer> aSingleMeta = new ArrayList<Integer>(); + aSingleMeta.add(aMeta); + sCosmicItemRendererGtMapping.put(aItem, aSingleMeta); + } + } + + public static void init() { + if (sInstance == null) { + sInstance = new CosmicItemRendererGT(); + } + if (!sInit) { + for (Item aItem : sCosmicItemRendererGtMapping.keySet()) { MinecraftForgeClient.registerItemRenderer(aItem, sInstance); } + sInit = true; + } + } + + private boolean isSupported(ItemStack aStack) { + List<Integer> aMeta = sCosmicItemRendererGtMapping.get(aStack.getItem()); + if (aMeta != null && !aMeta.isEmpty()) { + + for (int meta : aMeta) { + if (meta == OreDictionary.WILDCARD_VALUE) { + return true; + } + else { + if (aStack.getItemDamage() == meta) { + return true; + } + } + } + } + return false; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + if (!isSupported(item)) { + return; + } + super.renderItem(type, item, data); + } + +} |