aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/render
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2022-02-23 17:10:51 +0000
committerGitHub <noreply@github.com>2022-02-23 18:10:51 +0100
commit2f79ba3a1dd0b96b7481bf7d2e149ba5f35318ad (patch)
tree3cdac080977f06daebfaee638b208f20cc407e4b /src/main/java/gregtech/common/render
parent8d8100a2c370f0b41f3e1bc80182fb7a3988a974 (diff)
downloadGT5-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.java74
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);
+ }
+
+}