aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/handler/BurnableFuelHandler.java39
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java35
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java6
-rw-r--r--src/Java/gtPlusPlus/core/util/array/Triplet.java6
5 files changed, 66 insertions, 22 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/BurnableFuelHandler.java b/src/Java/gtPlusPlus/core/handler/BurnableFuelHandler.java
new file mode 100644
index 0000000000..a488cd5838
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/handler/BurnableFuelHandler.java
@@ -0,0 +1,39 @@
+package gtPlusPlus.core.handler;
+
+import cpw.mods.fml.common.IFuelHandler;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.array.Pair;
+import gtPlusPlus.core.util.item.ItemUtils;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+public class BurnableFuelHandler implements IFuelHandler{
+
+ @Override
+ public int getBurnTime(ItemStack aStack) {
+ String Modid = ItemUtils.getModId(aStack);
+ //Iterate over my burnables.
+ for (Pair<Integer, ItemStack> temp : CORE.burnables) {
+
+ int aStackID = Item.getIdFromItem(aStack.getItem());
+ int burnID = Item.getIdFromItem(temp.getValue().getItem());
+ //Utils.LOG_INFO("[Fuel Handler] ["+(aStackID == burnID)+"] Trying to look for a burnvalue for "+aStack.getDisplayName()+" | "+Modid+" | aStackID="+aStackID+" | burnID="+burnID);
+ if (aStackID == burnID){
+ Utils.LOG_INFO("[Fuel Handler] match found!");
+ int burn = temp.getKey();
+ ItemStack fuel = temp.getValue();
+ ItemStack testItem = ItemUtils.getSimpleStack(fuel, aStack.stackSize);
+
+ if (aStack.isItemEqual(testItem)){
+ Utils.LOG_INFO("[Fuel Handler] Found "+fuel.getDisplayName()+" with a burntime of "+burn);
+ return burn;
+ }
+ }
+ }
+
+ //If it's not my fuel, return 0.
+ return 0;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 2d1c38c83d..045e2b492c 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -235,7 +235,7 @@ public final class ModItems {
//Register Hydrogen Blobs first, so we can replace old helium blobs.
- itemCoalCoke = new BaseItemBurnable("itemCoalCoke", "Coking Coal", tabMisc, 64, 0, "Used for metallurgy.", "gemCoalCoke", 3200).setTextureName(CORE.MODID + ":itemCoalCoke");
+ itemCoalCoke = new BaseItemBurnable("itemCoalCoke", "Coking Coal", tabMisc, 64, 0, "Used for metallurgy.", "gemCoalCoke", 3200, 0).setTextureName(CORE.MODID + ":itemCoalCoke");
//Register Hydrogen Blobs first, so we can replace old helium blobs.
itemHydrogenBlob = new CoreItem("itemHydrogenBlob", "Mysterious Hydrogen Blob", tabMisc).setTextureName(CORE.MODID + ":itemHeliumBlob");
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java b/src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java
index 6f27bfda2f..42aadfa91d 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java
@@ -1,38 +1,43 @@
package gtPlusPlus.core.item.base;
-import cpw.mods.fml.common.IFuelHandler;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.array.Pair;
import gtPlusPlus.core.util.item.ItemUtils;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
-public class BaseItemBurnable extends CoreItem implements IFuelHandler{
-
- final int burnTime;
+public class BaseItemBurnable extends CoreItem {
+
+ protected final int meta;
public BaseItemBurnable(String unlocalizedName, String displayName, CreativeTabs creativeTab,
- int stackSize, int maxDmg, String description, String oredictName, int burnTime) {
+ int stackSize, int maxDmg, String description, String oredictName, int burnTime, int meta) {
super(unlocalizedName, creativeTab, stackSize, maxDmg, description);
- this.burnTime = burnTime;
this.itemName = displayName;
-
+ this.meta = meta;
if (!oredictName.equals("") || oredictName != null){
registerOrdictionary(oredictName);
}
- registerFuel();
- }
-
- @Override
- public int getBurnTime(ItemStack fuel) {
- return this.burnTime;
+ registerFuel(burnTime);
+
}
- public void registerFuel(){
- CORE.burnables.add(this);
+ public void registerFuel(int burn){
+ CORE.burnables.add(new Pair<Integer, ItemStack>(burn, ItemUtils.getSimpleStack(this, 1)));
}
public void registerOrdictionary(String name){
ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), name);
}
+ @Override
+ public int getDamage(ItemStack stack) {
+ return this.meta;
+ }
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return false;
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java
index 683209b4ab..245872af66 100644
--- a/src/Java/gtPlusPlus/core/lib/CORE.java
+++ b/src/Java/gtPlusPlus/core/lib/CORE.java
@@ -2,9 +2,9 @@ package gtPlusPlus.core.lib;
import java.util.*;
-import cpw.mods.fml.common.IFuelHandler;
import gregtech.api.GregTech_API;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.array.Pair;
import gtPlusPlus.core.util.geo.GeoUtils;
import gtPlusPlus.core.util.gregtech.recipehandlers.GregtechRecipe;
import gtPlusPlus.core.util.networking.NetworkUtils;
@@ -13,7 +13,7 @@ import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder;
import gtPlusPlus.xmod.gregtech.api.objects.XSTR;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator;
-import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.config.Configuration;
@@ -40,7 +40,7 @@ public class CORE {
public static final int GREG_FIRST_ID = 760;
public static Map PlayerCache;
public static final String[] VOLTAGES = {"ULV","LV","MV","HV","EV","IV","LuV","ZPM","UV","MAX"};
- public static List<IFuelHandler> burnables = new ArrayList<IFuelHandler>();
+ public static List<Pair<Integer, ItemStack>> burnables = new ArrayList<Pair<Integer, ItemStack>>();
public static final boolean MAIN_GREGTECH_5U_EXPERIMENTAL_FORK = Meta_GT_Proxy.areWeUsingGregtech5uExperimental();
public static final int GREGTECH_API_VERSION = GregTech_API.VERSION;
public static IGregtech_RecipeAdder RA;
diff --git a/src/Java/gtPlusPlus/core/util/array/Triplet.java b/src/Java/gtPlusPlus/core/util/array/Triplet.java
index 2130491d5b..01f836ae72 100644
--- a/src/Java/gtPlusPlus/core/util/array/Triplet.java
+++ b/src/Java/gtPlusPlus/core/util/array/Triplet.java
@@ -12,15 +12,15 @@ public class Triplet<K,V,C> {
this.count = value2;
}
- final public K getKey(){
+ final public K getValue_1(){
return this.key;
}
- final public V getValue(){
+ final public V getValue_2(){
return this.value;
}
- final public C getSecondValue(){
+ final public C getValue_3(){
return this.count;
}