aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authorMuramasa <haydenkilloh@gmail.com>2016-09-24 23:05:18 +0100
committerMuramasa <haydenkilloh@gmail.com>2016-09-24 23:05:18 +0100
commitfed8109b17fd2b41de17ceef92f37e39dc1ffc53 (patch)
tree9806dc7273bfc03fbb7a6eff1f6d0f98ce3a5bc3 /src/main/java/gregtech/api
parent291839871e1233ba0c72e48cf16847246a1ccc7c (diff)
parent380211de8a2aaeaa6b24bbde34625bba4e626d79 (diff)
downloadGT5-Unofficial-fed8109b17fd2b41de17ceef92f37e39dc1ffc53.tar.gz
GT5-Unofficial-fed8109b17fd2b41de17ceef92f37e39dc1ffc53.tar.bz2
GT5-Unofficial-fed8109b17fd2b41de17ceef92f37e39dc1ffc53.zip
Update with exp changes
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/GregTech_API.java71
-rw-r--r--src/main/java/gregtech/api/enums/Dyes.java2
-rw-r--r--src/main/java/gregtech/api/enums/GT_Values.java4
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java11
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java2
-rw-r--r--src/main/java/gregtech/api/enums/TextureSet.java258
-rw-r--r--src/main/java/gregtech/api/gui/GT_Container.java11
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainerMetaTile_Machine.java2
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java6
-rw-r--r--src/main/java/gregtech/api/items/GT_EnergyArmor_Item.java7
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaBase_Item.java89
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java17
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java13
-rw-r--r--src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java3
-rw-r--r--src/main/java/gregtech/api/items/GT_Spray_Hardener_Item.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java225
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java507
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntityUE.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java3
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaTileEntity.java3
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java7
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java3
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java7
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java5
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java11
-rw-r--r--src/main/java/gregtech/api/objects/ElementStack.java4
-rw-r--r--src/main/java/gregtech/api/objects/GT_ArrayList.java9
-rw-r--r--src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java2
-rw-r--r--src/main/java/gregtech/api/objects/GT_FluidStack.java27
-rw-r--r--src/main/java/gregtech/api/objects/GT_ItemStack.java6
-rw-r--r--src/main/java/gregtech/api/objects/GT_RenderedTexture.java35
-rw-r--r--src/main/java/gregtech/api/objects/GT_SidedTexture.java53
-rw-r--r--src/main/java/gregtech/api/objects/ItemData.java12
-rw-r--r--src/main/java/gregtech/api/objects/MaterialStack.java12
-rw-r--r--src/main/java/gregtech/api/objects/XSTR.java255
-rw-r--r--src/main/java/gregtech/api/threads/GT_Runnable_MachineBlockUpdate.java4
-rw-r--r--src/main/java/gregtech/api/util/GT_BaseCrop.java2
-rw-r--r--src/main/java/gregtech/api/util/GT_LanguageManager.java4
-rw-r--r--src/main/java/gregtech/api/util/GT_ModHandler.java296
-rw-r--r--src/main/java/gregtech/api/util/GT_OreDictUnificator.java17
-rw-r--r--src/main/java/gregtech/api/util/GT_PlayedSound.java2
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java4
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeRegistrator.java71
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java50
-rw-r--r--src/main/java/gregtech/api/world/GT_Worldgen.java4
-rw-r--r--src/main/java/gregtech/api/world/GT_Worldgen_Boulder.java56
-rw-r--r--src/main/java/gregtech/api/world/GT_Worldgen_Ore.java11
-rw-r--r--src/main/java/gregtech/api/world/GT_Worldgen_Ore_Normal.java55
49 files changed, 1339 insertions, 929 deletions
diff --git a/src/main/java/gregtech/api/GregTech_API.java b/src/main/java/gregtech/api/GregTech_API.java
index beae1ea08f..f3bb7f6764 100644
--- a/src/main/java/gregtech/api/GregTech_API.java
+++ b/src/main/java/gregtech/api/GregTech_API.java
@@ -29,6 +29,7 @@ import net.minecraft.world.World;
import net.minecraftforge.fluids.Fluid;
import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
import static gregtech.api.enums.GT_Values.*;
@@ -82,8 +83,9 @@ public class GregTech_API {
* 9728 - 10239 are reserved for 28Smiles.
* 10240 - 10751 are reserved for VirMan.
* 10752 - 11263 are reserved for Briareos81.
- * 11264 - 12000 are reserved for the next one who asks me.
- * 9728 - 32766 are currently free.
+ * 11264 - 12000 are reserved for Quantum64.
+ * 12001 - 12200 are reserved for the next one who asks me.
+ * 12001 - 32766 are currently free.
* <p/>
* Contact me if you need a free ID-Range, which doesn't conflict with other Addons.
* You could make an ID-Config, but we all know, what "stupid" customers think about conflicting ID's
@@ -92,35 +94,35 @@ public class GregTech_API {
/**
* The Icon List for Covers
*/
- public static final Map<GT_ItemStack, ITexture> sCovers = new HashMap<GT_ItemStack, ITexture>();
+ public static final Map<GT_ItemStack, ITexture> sCovers = new ConcurrentHashMap<GT_ItemStack, ITexture>();
/**
* The List of Cover Behaviors for the Covers
*/
- public static final Map<GT_ItemStack, GT_CoverBehavior> sCoverBehaviors = new HashMap<GT_ItemStack, GT_CoverBehavior>();
+ public static final Map<GT_ItemStack, GT_CoverBehavior> sCoverBehaviors = new ConcurrentHashMap<GT_ItemStack, GT_CoverBehavior>();
/**
* The List of Circuit Behaviors for the Redstone Circuit Block
*/
- public static final Map<Integer, GT_CircuitryBehavior> sCircuitryBehaviors = new HashMap<Integer, GT_CircuitryBehavior>();
+ public static final Map<Integer, GT_CircuitryBehavior> sCircuitryBehaviors = new ConcurrentHashMap<Integer, GT_CircuitryBehavior>();
/**
* The List of Blocks, which can conduct Machine Block Updates
*/
- public static final Map<Block, Integer> sMachineIDs = new HashMap<Block, Integer>();
+ public static final Map<Block, Integer> sMachineIDs = new ConcurrentHashMap<Block, Integer>();
/**
* The Redstone Frequencies
*/
- public static final Map<Integer, Byte> sWirelessRedstone = new HashMap<Integer, Byte>();
+ public static final Map<Integer, Byte> sWirelessRedstone = new ConcurrentHashMap<Integer, Byte>();
/**
* The IDSU Frequencies
*/
- public static final Map<Integer, Integer> sIDSUList = new HashMap<Integer, Integer>();
+ public static final Map<Integer, Integer> sIDSUList = new ConcurrentHashMap<Integer, Integer>();
/**
* A List of all Books, which were created using @GT_Utility.getWrittenBook the original Title is the Key Value
*/
- public static final Map<String, ItemStack> sBookList = new HashMap<String, ItemStack>();
+ public static final Map<String, ItemStack> sBookList = new ConcurrentHashMap<String, ItemStack>();
/**
* The List of all Sounds used in GT, indices are in the static Block at the bottom
*/
- public static final Map<Integer, String> sSoundList = new HashMap<Integer, String>();
+ public static final Map<Integer, String> sSoundList = new ConcurrentHashMap<Integer, String>();
/**
* The List of Tools, which can be used. Accepts regular damageable Items and Electric Items
*/
@@ -190,6 +192,7 @@ public class GregTech_API {
public static int mRFtoEU = 20;
public static boolean mRFExplosions = true;
public static boolean mServerStarted = false;
+ private static final String aTextIC2Lower = MOD_ID_IC2.toLowerCase(Locale.ENGLISH);
/**
* Getting assigned by the Mod loading
*/
@@ -215,29 +218,29 @@ public class GregTech_API {
sSoundList.put(5, "random.explode");
sSoundList.put(6, "fire.ignite");
- sSoundList.put(100, MOD_ID_IC2.toLowerCase() + ":" + "tools.Wrench");
- sSoundList.put(101, MOD_ID_IC2.toLowerCase() + ":" + "tools.RubberTrampoline");
- sSoundList.put(102, MOD_ID_IC2.toLowerCase() + ":" + "tools.Painter");
- sSoundList.put(103, MOD_ID_IC2.toLowerCase() + ":" + "tools.BatteryUse");
- sSoundList.put(104, MOD_ID_IC2.toLowerCase() + ":" + "tools.chainsaw.ChainsawUseOne");
- sSoundList.put(105, MOD_ID_IC2.toLowerCase() + ":" + "tools.chainsaw.ChainsawUseTwo");
- sSoundList.put(106, MOD_ID_IC2.toLowerCase() + ":" + "tools.drill.DrillSoft");
- sSoundList.put(107, MOD_ID_IC2.toLowerCase() + ":" + "tools.drill.DrillHard");
- sSoundList.put(108, MOD_ID_IC2.toLowerCase() + ":" + "tools.ODScanner");
-
- sSoundList.put(200, MOD_ID_IC2.toLowerCase() + ":" + "machines.ExtractorOp");
- sSoundList.put(201, MOD_ID_IC2.toLowerCase() + ":" + "machines.MaceratorOp");
- sSoundList.put(202, MOD_ID_IC2.toLowerCase() + ":" + "machines.InductionLoop");
- sSoundList.put(203, MOD_ID_IC2.toLowerCase() + ":" + "machines.CompressorOp");
- sSoundList.put(204, MOD_ID_IC2.toLowerCase() + ":" + "machines.RecyclerOp");
- sSoundList.put(205, MOD_ID_IC2.toLowerCase() + ":" + "machines.MinerOp");
- sSoundList.put(206, MOD_ID_IC2.toLowerCase() + ":" + "machines.PumpOp");
- sSoundList.put(207, MOD_ID_IC2.toLowerCase() + ":" + "machines.ElectroFurnaceLoop");
- sSoundList.put(208, MOD_ID_IC2.toLowerCase() + ":" + "machines.InductionLoop");
- sSoundList.put(209, MOD_ID_IC2.toLowerCase() + ":" + "machines.MachineOverload");
- sSoundList.put(210, MOD_ID_IC2.toLowerCase() + ":" + "machines.InterruptOne");
- sSoundList.put(211, MOD_ID_IC2.toLowerCase() + ":" + "machines.KaChing");
- sSoundList.put(212, MOD_ID_IC2.toLowerCase() + ":" + "machines.MagnetizerLoop");
+ sSoundList.put(100, aTextIC2Lower + ":" + "tools.Wrench");
+ sSoundList.put(101, aTextIC2Lower + ":" + "tools.RubberTrampoline");
+ sSoundList.put(102, aTextIC2Lower + ":" + "tools.Painter");
+ sSoundList.put(103, aTextIC2Lower + ":" + "tools.BatteryUse");
+ sSoundList.put(104, aTextIC2Lower + ":" + "tools.chainsaw.ChainsawUseOne");
+ sSoundList.put(105, aTextIC2Lower + ":" + "tools.chainsaw.ChainsawUseTwo");
+ sSoundList.put(106, aTextIC2Lower + ":" + "tools.drill.DrillSoft");
+ sSoundList.put(107, aTextIC2Lower + ":" + "tools.drill.DrillHard");
+ sSoundList.put(108, aTextIC2Lower + ":" + "tools.ODScanner");
+
+ sSoundList.put(200, aTextIC2Lower + ":" + "machines.ExtractorOp");
+ sSoundList.put(201, aTextIC2Lower + ":" + "machines.MaceratorOp");
+ sSoundList.put(202, aTextIC2Lower + ":" + "machines.InductionLoop");
+ sSoundList.put(203, aTextIC2Lower + ":" + "machines.CompressorOp");
+ sSoundList.put(204, aTextIC2Lower + ":" + "machines.RecyclerOp");
+ sSoundList.put(205, aTextIC2Lower + ":" + "machines.MinerOp");
+ sSoundList.put(206, aTextIC2Lower + ":" + "machines.PumpOp");
+ sSoundList.put(207, aTextIC2Lower + ":" + "machines.ElectroFurnaceLoop");
+ sSoundList.put(208, aTextIC2Lower + ":" + "machines.InductionLoop");
+ sSoundList.put(209, aTextIC2Lower + ":" + "machines.MachineOverload");
+ sSoundList.put(210, aTextIC2Lower + ":" + "machines.InterruptOne");
+ sSoundList.put(211, aTextIC2Lower + ":" + "machines.KaChing");
+ sSoundList.put(212, aTextIC2Lower + ":" + "machines.MagnetizerLoop");
}
/**
@@ -302,7 +305,7 @@ public class GregTech_API {
if (GregTech_API.sThaumcraftCompat != null)
GregTech_API.sThaumcraftCompat.registerPortholeBlacklistedBlock(aBlock);
int rMeta = 0;
- for (byte i = 0; i < aMeta.length && i < 16; i++) if (aMeta[i]) rMeta |= B[i];
+ for (byte i = 0; i < 16 && i < aMeta.length; i++) if (aMeta[i]) rMeta |= B[i];
sMachineIDs.put(aBlock, rMeta);
return true;
}
diff --git a/src/main/java/gregtech/api/enums/Dyes.java b/src/main/java/gregtech/api/enums/Dyes.java
index 66c3927783..c59b310d55 100644
--- a/src/main/java/gregtech/api/enums/Dyes.java
+++ b/src/main/java/gregtech/api/enums/Dyes.java
@@ -64,7 +64,7 @@ public enum Dyes implements IColorModulationContainer {
public static Dyes get(String aColor) {
Object tObject = GT_Utility.getFieldContent(Dyes.class, aColor, false, false);
- if (tObject != null && tObject instanceof Dyes) return (Dyes) tObject;
+ if (tObject instanceof Dyes) return (Dyes) tObject;
return _NULL;
}
diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java
index 93c7ef73e6..af2ec92195 100644
--- a/src/main/java/gregtech/api/enums/GT_Values.java
+++ b/src/main/java/gregtech/api/enums/GT_Values.java
@@ -8,6 +8,8 @@ import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
+import java.util.Locale;
+
/**
* Made for static imports, this Class is just a Helper.
* <p/>
@@ -89,7 +91,7 @@ public class GT_Values {
* File Paths and Resource Paths
*/
public static final String
- TEX_DIR = "textures/", TEX_DIR_GUI = TEX_DIR + "gui/", TEX_DIR_ITEM = TEX_DIR + "items/", TEX_DIR_BLOCK = TEX_DIR + "blocks/", TEX_DIR_ENTITY = TEX_DIR + "entity/", TEX_DIR_ASPECTS = TEX_DIR + "aspects/", RES_PATH = MOD_ID + ":" + TEX_DIR, RES_PATH_GUI = MOD_ID + ":" + TEX_DIR_GUI, RES_PATH_ITEM = MOD_ID + ":", RES_PATH_BLOCK = MOD_ID + ":", RES_PATH_ENTITY = MOD_ID + ":" + TEX_DIR_ENTITY, RES_PATH_ASPECTS = MOD_ID + ":" + TEX_DIR_ASPECTS, RES_PATH_IC2 = MOD_ID_IC2.toLowerCase() + ":", RES_PATH_MODEL = MOD_ID + ":" + TEX_DIR + "models/";
+ TEX_DIR = "textures/", TEX_DIR_GUI = TEX_DIR + "gui/", TEX_DIR_ITEM = TEX_DIR + "items/", TEX_DIR_BLOCK = TEX_DIR + "blocks/", TEX_DIR_ENTITY = TEX_DIR + "entity/", TEX_DIR_ASPECTS = TEX_DIR + "aspects/", RES_PATH = MOD_ID + ":" + TEX_DIR, RES_PATH_GUI = MOD_ID + ":" + TEX_DIR_GUI, RES_PATH_ITEM = MOD_ID + ":", RES_PATH_BLOCK = MOD_ID + ":", RES_PATH_ENTITY = MOD_ID + ":" + TEX_DIR_ENTITY, RES_PATH_ASPECTS = MOD_ID + ":" + TEX_DIR_ASPECTS, RES_PATH_IC2 = MOD_ID_IC2.toLowerCase(Locale.ENGLISH) + ":", RES_PATH_MODEL = MOD_ID + ":" + TEX_DIR + "models/";
/**
* The Mod Object itself. That is the GT_Mod-Object. It's needed to open GUI's and similar.
*/
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java
index 8ddfafce4d..f6d6d9a27e 100644
--- a/src/main/java/gregtech/api/enums/Materials.java
+++ b/src/main/java/gregtech/api/enums/Materials.java
@@ -9,6 +9,7 @@ import gregtech.api.interfaces.IMaterialHandler;
import gregtech.api.interfaces.ISubTagContainer;
import gregtech.api.objects.GT_FluidStack;
import gregtech.api.objects.MaterialStack;
+import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.ItemStack;
@@ -1169,7 +1170,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Tartarite, Thyrium, Tritanium, Vulcanite, Vyroxeres, Yellorium, Zectium, AluminiumBrass, Osmiridium, Sunnarium, AnnealedCopper, BatteryAlloy, Brass, Bronze, ChromiumDioxide, Cupronickel, DeepIron,
Electrum, Invar, IronCompressed, Kanthal, Magnalium, Nichrome, NiobiumNitride, NiobiumTitanium, PigIron, SolderingAlloy, StainlessSteel, Steel, Ultimet, VanadiumGallium, WroughtIron,
YttriumBariumCuprate, IronWood, Alumite, Manyullyn, ShadowIron, ShadowSteel, Steeleaf, SterlingSilver, RoseGold, BlackBronze, BismuthBronze, BlackSteel, RedSteel, BlueSteel, DamascusSteel,
- TungstenSteel, AstralSilver, Midasium, Mithril, BlueAlloy, RedAlloy, CobaltBrass, Thaumium, IronMagnetic, SteelMagnetic, NeodymiumMagnetic, Knightmetal, HSSG, HSSE, HSSS);
+ TungstenSteel, AstralSilver, Midasium, Mithril, BlueAlloy, RedAlloy, CobaltBrass, Thaumium, IronMagnetic, SteelMagnetic, NeodymiumMagnetic, Knightmetal, HSSG, HSSE, HSSS, TungstenCarbide, Endium,
+ VanadiumSteel, Kalendrite, Ignatius);
SubTag.FOOD.addTo(MeatRaw, MeatCooked, Ice, Water, Salt, Chili, Cocoa, Cheese, Coffee, Chocolate, Milk, Honey, FryingOilHot, FishOil, SeedOil, SeedOilLin, SeedOilHemp, Wheat, Sugar, FreshWater);
@@ -1368,6 +1370,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
aMaterial.mMeltingPoint = (short) GregTech_API.sMaterialProperties.get(aConfigPath, "MeltingPoint", aMaterial.mMeltingPoint);
aMaterial.mBlastFurnaceRequired = GregTech_API.sMaterialProperties.get(aConfigPath, "BlastFurnaceRequired", aMaterial.mBlastFurnaceRequired);
aMaterial.mBlastFurnaceTemp = (short) GregTech_API.sMaterialProperties.get(aConfigPath, "BlastFurnaceTemp", aMaterial.mBlastFurnaceTemp);
+ if (GT_Mod.gregtechproxy.mTEMachineRecipes && aMaterial.mBlastFurnaceRequired && aMaterial.mBlastFurnaceTemp < 1500) GT_ModHandler.ThermalExpansion.addSmelterBlastOre(aMaterial);
aMaterial.mFuelPower = GregTech_API.sMaterialProperties.get(aConfigPath, "FuelPower", aMaterial.mFuelPower);
aMaterial.mFuelType = GregTech_API.sMaterialProperties.get(aConfigPath, "FuelType", aMaterial.mFuelType);
aMaterial.mOreValue = GregTech_API.sMaterialProperties.get(aConfigPath, "OreValue", aMaterial.mOreValue);
@@ -1483,6 +1486,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
if (GT_Mod.gregtechproxy.mChangeHarvestLevels && aMaterial.mToolQuality > 0 && aMaterial.mMetaItemSubID < GT_Mod.gregtechproxy.mHarvestLevel.length && aMaterial.mMetaItemSubID >= 0) {
GT_Mod.gregtechproxy.mHarvestLevel[aMaterial.mMetaItemSubID] = GregTech_API.sMaterialProperties.get(aConfigPath, "HarvestLevel", aMaterial.mToolQuality);
}
+ aMaterial.mHandleMaterial = (aMaterial == Desh ? aMaterial.mHandleMaterial : aMaterial == Diamond || aMaterial == Thaumium ? Wood : aMaterial.contains(SubTag.BURNING) ? Blaze : aMaterial.contains(SubTag.MAGICAL) && aMaterial.contains(SubTag.CRYSTAL) && Loader.isModLoaded(GT_Values.MOD_ID_TC) ? Thaumium : aMaterial.getMass() > Element.Tc.getMass() * 2 ? TungstenSteel : aMaterial.getMass() > Element.Tc.getMass() ? Steel : Wood);
}
aConfigPathSB.setLength(0);
}
@@ -1622,6 +1626,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
/**
* This is for keeping compatibility with addons mods (Such as TinkersGregworks etc) that looped over the old materials enum
*/
+ @Deprecated
public String name() {
return mName;
}
@@ -1629,6 +1634,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
/**
* This is for keeping compatibility with addons mods (Such as TinkersGregworks etc) that looped over the old materials enum
*/
+ @Deprecated
public static Materials valueOf(String aMaterialName) {
return getMaterialsMap().get(aMaterialName);
}
@@ -1753,7 +1759,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public boolean remove(ItemStack aStack) {
if (aStack == null) return false;
boolean temp = false;
- for (int i = 0; i < mMaterialItems.size(); i++)
+ int mMaterialItems_sS=mMaterialItems.size();
+ for (int i = 0; i < mMaterialItems_sS; i++)
if (GT_Utility.areStacksEqual(aStack, mMaterialItems.get(i))) {
mMaterialItems.remove(i--);
temp = true;
diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java
index 812a82b768..001b373412 100644
--- a/src/main/java/gregtech/api/enums/OrePrefixes.java
+++ b/src/main/java/gregtech/api/enums/OrePrefixes.java
@@ -800,7 +800,7 @@ public enum OrePrefixes {
public static OrePrefixes getPrefix(String aPrefixName, OrePrefixes aReplacement) {
Object tObject = GT_Utility.getFieldContent(OrePrefixes.class, aPrefixName, false, false);
- if (tObject != null && tObject instanceof OrePrefixes) return (OrePrefixes) tObject;
+ if (tObject instanceof OrePrefixes) return (OrePrefixes) tObject;
return aReplacement;
}
diff --git a/src/main/java/gregtech/api/enums/TextureSet.java b/src/main/java/gregtech/api/enums/TextureSet.java
index 4cedf08ec0..891a808553 100644
--- a/src/main/java/gregtech/api/enums/TextureSet.java
+++ b/src/main/java/gregtech/api/enums/TextureSet.java
@@ -14,136 +14,138 @@ public class TextureSet {
public final IIconContainer[] mTextures = new IIconContainer[128];
public final String mSetName;
+ private final static String aTextMatIconDir = "materialicons/";
+ private final static String aTextVoidDir = "/void";
public TextureSet(String aSetName) {
mSetName = aSetName;
- mTextures[0] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/dustTiny");
- mTextures[1] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/dustSmall");
- mTextures[2] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/dust");
- mTextures[3] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/dustImpure");
- mTextures[4] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/dustPure");
- mTextures[5] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/crushed");
- mTextures[6] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/crushedPurified");
- mTextures[7] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/crushedCentrifuged");
- mTextures[8] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/gem");
- mTextures[9] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/nugget");
- mTextures[10] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/void");
- mTextures[11] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/ingot");
- mTextures[12] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/ingotHot");
- mTextures[13] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/ingotDouble");
- mTextures[14] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/ingotTriple");
- mTextures[15] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/ingotQuadruple");
- mTextures[16] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/ingotQuintuple");
- mTextures[17] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/plate");
- mTextures[18] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/plateDouble");
- mTextures[19] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/plateTriple");
- mTextures[20] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/plateQuadruple");
- mTextures[21] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/plateQuintuple");
- mTextures[22] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/plateDense");
- mTextures[23] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/stick");
- mTextures[24] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/lens");
- mTextures[25] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/round");
- mTextures[26] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/bolt");
- mTextures[27] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/screw");
- mTextures[28] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/ring");
- mTextures[29] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/foil");
- mTextures[30] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/cell");
- mTextures[31] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/cellPlasma");
- mTextures[32] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadSword");
- mTextures[33] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadPickaxe");
- mTextures[34] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadShovel");
- mTextures[35] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadAxe");
- mTextures[36] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadHoe");
- mTextures[37] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadHammer");
- mTextures[38] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadFile");
- mTextures[39] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadSaw");
- mTextures[40] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadDrill");
- mTextures[41] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadChainsaw");
- mTextures[42] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadWrench");
- mTextures[43] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadUniversalSpade");
- mTextures[44] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadSense");
- mTextures[45] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadPlow");
- mTextures[46] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadArrow");
- mTextures[47] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadScrewdriver");
- mTextures[48] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadBuzzSaw");
- mTextures[49] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/toolHeadSoldering");
- mTextures[50] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/void");
- mTextures[51] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/wireFine");
- mTextures[52] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/gearGtSmall");
- mTextures[53] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/rotor");
- mTextures[54] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/stickLong");
- mTextures[55] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/springSmall");
- mTextures[56] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/spring");
- mTextures[57] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/arrowGtWood");
- mTextures[58] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/arrowGtPlastic");
- mTextures[59] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/gemChipped");
- mTextures[60] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/gemFlawed");
- mTextures[61] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/gemFlawless");
- mTextures[62] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/gemExquisite");
- mTextures[63] = new Textures.ItemIcons.CustomIcon("materialicons/" + mSetName + "/gearGt");
- mTextures[64] = new Textures.BlockIcons.CustomIcon("materialicons/" + mSetName + "/void");
- mTextures[65] = new Textures.BlockIcons.CustomIcon("materialicons/" + mSetName + "/void");
- mTextures[66] = new Textures.BlockIcons.CustomIcon("materialicons/" + mSetName + "/void");
- mTextures[67] = new Textures.BlockIcons.CustomIcon("materialicons/" + mSetName + "/oreSmall");
- mTextures[68] = new Textures.BlockIcons.CustomIcon("materialicons/" +