aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/items
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common/items')
-rw-r--r--src/main/java/gregtech/common/items/CombType.java20
-rw-r--r--src/main/java/gregtech/common/items/ItemComb.java40
2 files changed, 42 insertions, 18 deletions
diff --git a/src/main/java/gregtech/common/items/CombType.java b/src/main/java/gregtech/common/items/CombType.java
index ff08fde695..479f6fe82f 100644
--- a/src/main/java/gregtech/common/items/CombType.java
+++ b/src/main/java/gregtech/common/items/CombType.java
@@ -149,9 +149,11 @@ public enum CombType {
VEGA(116, "vega", true, Materials._NULL, 10, 0x1A2036, 0xB5C0DE, ItemComb.Voltage.ZPM),
// Infinity
- COSMICNEUTRONIUM(117, "cosmicneutronium", true, Materials._NULL, 5, 0x484848, 0x323232, ItemComb.Voltage.UV),
- INFINITYCATALYST(118, "infinitycatalyst", true, Materials._NULL, 2, 0xFFFFFF, 0xFFFFFF, ItemComb.Voltage.UHV),
- INFINITY(119, "infinity", true, Materials._NULL, 1, 0xFFFFFF, 0xFFFFFF, ItemComb.Voltage.UEV),
+ COSMICNEUTRONIUM(117, "cosmicneutronium", true, Materials.CosmicNeutronium, 5, 0x484848, 0x323232,
+ ItemComb.Voltage.UV),
+ INFINITYCATALYST(118, "infinitycatalyst", true, Materials.InfinityCatalyst, 2, 0xFFFFFF, 0xFFFFFF,
+ ItemComb.Voltage.UHV),
+ INFINITY(119, "infinity", true, Materials.Infinity, 1, 0xFFFFFF, 0xFFFFFF, ItemComb.Voltage.UEV),
// HEE
ENDDUST(120, "enddust", true, Materials._NULL, 50, 0x003A7D, 0xCC00FA, ItemComb.Voltage.HV),
@@ -219,17 +221,7 @@ public enum CombType {
private final int[] color;
CombType(int id, String pName, boolean show, Materials material, int chance, int color1, int color2) {
- if (id < 0 && !"INVALIDCOMB".equals(pName)) throw new IllegalArgumentException();
- this.id = id;
- this.name = pName;
- this.voltage = null;
- this.material = material;
- this.chance = chance;
- this.showInList = show;
- this.color = new int[] { color1, color2 };
- this.localizedName = GT_LanguageManager.addStringLocalization(
- "comb." + this.name,
- this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Comb");
+ this(id, pName, show, material, chance, color1, color2, null);
}
CombType(int id, String pName, boolean show, Materials material, int chance, int color1, int color2,
diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java
index 29e206d5b9..d7f009dd38 100644
--- a/src/main/java/gregtech/common/items/ItemComb.java
+++ b/src/main/java/gregtech/common/items/ItemComb.java
@@ -27,13 +27,15 @@ import gregtech.GT_Mod;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.interfaces.IGT_ItemWithMaterialRenderer;
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 gregtech.loaders.materialprocessing.ProcessingModSupport;
import gregtech.loaders.misc.GT_Bees;
-public class ItemComb extends Item {
+public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer {
@SideOnly(Side.CLIENT)
private IIcon secondIcon;
@@ -99,6 +101,36 @@ public class ItemComb extends Item {
return CombType.valueOf(stack.getItemDamage()).getName();
}
+ @Override
+ public boolean shouldUseCustomRenderer(int aMetaData) {
+ return CombType.valueOf(aMetaData).material.renderer != null;
+ }
+
+ @Override
+ public GT_GeneratedMaterial_Renderer getMaterialRenderer(int aMetaData) {
+ return CombType.valueOf(aMetaData).material.renderer;
+ }
+
+ @Override
+ public boolean allowMaterialRenderer(int aMetaData) {
+ return true;
+ }
+
+ @Override
+ public IIcon getIcon(int aMetaData, int pass) {
+ return (pass == 0) ? itemIcon : secondIcon;
+ }
+
+ @Override
+ public IIcon getOverlayIcon(int aMetaData, int pass) {
+ return null;
+ }
+
+ @Override
+ public short[] getRGBa(ItemStack aStack) {
+ return CombType.valueOf(aStack.getItemDamage()).material.mRGBa;
+ }
+
public void initCombsRecipes() {
// Organic
@@ -1538,7 +1570,7 @@ public class ItemComb extends Item {
/**
* Currently only used for CombType.MOLYBDENUM
- *
+ *
* @param circuitNumber should not conflict with addProcessGT
*
**/
@@ -1569,7 +1601,7 @@ public class ItemComb extends Item {
/**
* this only adds Chemical and AutoClave process. If you need Centrifuge recipe. use addCentrifugeToMaterial or
* addCentrifugeToItemStack
- *
+ *
* @param volt This determine the required Tier of process for this recipes. This decide the required aEU/t,
* progress time, required additional UU-Matter, requirement of cleanRoom, needed fluid stack for
* Chemical.
@@ -1644,7 +1676,7 @@ public class ItemComb extends Item {
/**
* this method only adds Centrifuge based on Material. If volt is lower than MV than it will also adds forestry
* centrifuge recipe.
- *
+ *
* @param comb BeeComb
* @param aMaterial resulting Material of processing. can be more than 6. but over 6 will be ignored in Gregtech
* Centrifuge.