diff options
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r-- | src/Java/gtPlusPlus/GTplusplus.java | 8 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/ModItems.java | 5 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java | 38 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/base/CoreItem.java | 2 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java | 6 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/lib/CORE.java | 3 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/Material.java | 64 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java | 26 |
8 files changed, 105 insertions, 47 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index afed638161..4dc63ff529 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -11,6 +11,7 @@ import java.util.Collection; import cpw.mods.fml.common.*; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.*; +import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.util.GT_Recipe; @@ -210,6 +211,13 @@ public class GTplusplus implements ActionListener { // ~ ReflectionUtils.becauseIWorkHard(); + + //Make Burnables burnable + if (!CORE.burnables.isEmpty()){ + for (int x=0;x<CORE.burnables.size();x++){ + GameRegistry.registerFuelHandler(CORE.burnables.get(x)); + } + } // Utils.LOG_INFO("Activating GT OreDictionary Handler, this can take // some time."); diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 9e82297bc3..0ef266a743 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -211,6 +211,8 @@ public final class ModItems { public static Item itemAirFilter; + private static Item itemCoalCoke; + public static final void init(){ @@ -232,7 +234,8 @@ 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"); //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 new file mode 100644 index 0000000000..6f27bfda2f --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java @@ -0,0 +1,38 @@ +package gtPlusPlus.core.item.base; + +import cpw.mods.fml.common.IFuelHandler; +import gtPlusPlus.core.lib.CORE; +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 BaseItemBurnable(String unlocalizedName, String displayName, CreativeTabs creativeTab, + int stackSize, int maxDmg, String description, String oredictName, int burnTime) { + super(unlocalizedName, creativeTab, stackSize, maxDmg, description); + this.burnTime = burnTime; + this.itemName = displayName; + + if (!oredictName.equals("") || oredictName != null){ + registerOrdictionary(oredictName); + } + registerFuel(); + } + + @Override + public int getBurnTime(ItemStack fuel) { + return this.burnTime; + } + + public void registerFuel(){ + CORE.burnables.add(this); + } + + public void registerOrdictionary(String name){ + ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), name); + } + +} diff --git a/src/Java/gtPlusPlus/core/item/base/CoreItem.java b/src/Java/gtPlusPlus/core/item/base/CoreItem.java index e3e6b57624..62fc5c0160 100644 --- a/src/Java/gtPlusPlus/core/item/base/CoreItem.java +++ b/src/Java/gtPlusPlus/core/item/base/CoreItem.java @@ -20,7 +20,7 @@ public class CoreItem extends Item private final EnumRarity rarity; private final EnumChatFormatting descColour; private final String itemDescription; - private String itemName; + protected String itemName; private final boolean hasEffect; //Replace Item - What does this item turn into when held. diff --git a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java index fb14c50d04..6e5b1bd976 100644 --- a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java +++ b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java @@ -13,6 +13,12 @@ public class CoalTar { public static void run(){ + //Create Coal Gas + FluidUtils.generateFluidNonMolten("CoalGas", "Coal Gas", 500, new short[]{48, 48, 48, 100}, null, null); + + + + //Ethanol // v - Dehydrate cells to remove water //Create Ethylene diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index b3e39cc3b1..683209b4ab 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -2,6 +2,7 @@ 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.geo.GeoUtils; @@ -12,6 +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.util.EnumChatFormatting; import net.minecraftforge.common.config.Configuration; @@ -38,6 +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 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/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 5f83d1a732..5a38e5cf08 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -227,11 +227,11 @@ public class Material { this.vChemicalFormula = this.getToolTip(chemicalSymbol, OrePrefixes.dust.mMaterialAmount / M, true); } else if (!this.vChemicalSymbol.equals("")){ - Utils.LOG_WARNING("materialInput is null, using a valid chemical symbol."); + Utils.LOG_MACHINE_INFO("materialInput is null, using a valid chemical symbol."); this.vChemicalFormula = this.vChemicalSymbol; } else{ - Utils.LOG_WARNING("MaterialInput == null && chemicalSymbol probably equals nothing"); + Utils.LOG_MACHINE_INFO("MaterialInput == null && chemicalSymbol probably equals nothing"); this.vChemicalFormula = "??"; } @@ -267,13 +267,13 @@ public class Material { } } - Utils.LOG_INFO("Creating a Material instance for "+materialName); - Utils.LOG_INFO("Formula: "+this.vChemicalFormula + " Smallest Stack: "+this.smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio); - Utils.LOG_INFO("Protons: "+this.vProtons); - Utils.LOG_INFO("Neutrons: "+this.vNeutrons); - Utils.LOG_INFO("Mass: "+this.vMass+"/units"); - Utils.LOG_INFO("Melting Point: "+this.meltingPointC+"C."); - Utils.LOG_INFO("Boiling Point: "+this.boilingPointC+"C."); + Utils.LOG_MACHINE_INFO("Creating a Material instance for "+materialName); + Utils.LOG_MACHINE_INFO("Formula: "+this.vChemicalFormula + " Smallest Stack: "+this.smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio); + Utils.LOG_MACHINE_INFO("Protons: "+this.vProtons); + Utils.LOG_MACHINE_INFO("Neutrons: "+this.vNeutrons); + Utils.LOG_MACHINE_INFO("Mass: "+this.vMass+"/units"); + Utils.LOG_MACHINE_INFO("Melting Point: "+this.meltingPointC+"C."); + Utils.LOG_MACHINE_INFO("Boiling Point: "+this.boilingPointC+"C."); } public final String getLocalizedName(){ @@ -427,21 +427,21 @@ public class Material { if (!this.vMaterialInput.isEmpty()){ final ItemStack[] temp = new ItemStack[this.vMaterialInput.size()]; for (int i=0;i<this.vMaterialInput.size();i++){ - //Utils.LOG_WARNING("i:"+i); + //Utils.LOG_MACHINE_INFO("i:"+i); ItemStack testNull = null; try { testNull = this.vMaterialInput.get(i).getValidStack(); } catch (final Throwable r){ - Utils.LOG_WARNING("Failed gathering material stack for "+this.localizedName+"."); - Utils.LOG_WARNING("What Failed: Length:"+this.vMaterialInput.size()+" current:"+i); + Utils.LOG_MACHINE_INFO("Failed gathering material stack for "+this.localizedName+"."); + Utils.LOG_MACHINE_INFO("What Failed: Length:"+this.vMaterialInput.size()+" current:"+i); } try { if (testNull != null){ - //Utils.LOG_WARNING("not null"); + //Utils.LOG_MACHINE_INFO("not null"); temp[i] = this.vMaterialInput.get(i).getValidStack(); } } catch (final Throwable r){ - Utils.LOG_WARNING("Failed setting slot "+i+", using "+this.localizedName); + Utils.LOG_MACHINE_INFO("Failed setting slot "+i+", using "+this.localizedName); } } return temp; @@ -489,9 +489,9 @@ public class Material { public final long[] getSmallestRatio(final ArrayList<MaterialStack> tempInput){ if (tempInput != null){ if (!tempInput.isEmpty()){ - Utils.LOG_WARNING("length: "+tempInput.size()); - Utils.LOG_WARNING("(inputs != null): "+(tempInput != null)); - //Utils.LOG_WARNING("length: "+inputs.length); + Utils.LOG_MACHINE_INFO("length: "+tempInput.size()); + Utils.LOG_MACHINE_INFO("(inputs != null): "+(tempInput != null)); + //Utils.LOG_MACHINE_INFO("length: "+inputs.length); final long[] tempRatio = new long[tempInput.size()]; for (int x=0;x<tempInput.size();x++){ //tempPercentage = tempPercentage+inputs[x].percentageToUse; @@ -508,7 +508,7 @@ public class Material { for (int r=0;r<tempRatio.length;r++){ tempRatioStringThing1 = tempRatioStringThing1 + tempRatio[r] +" : "; } - Utils.LOG_WARNING("Default Ratio: "+tempRatioStringThing1); + Utils.LOG_MACHINE_INFO("Default Ratio: "+tempRatioStringThing1); String tempRatioStringThing = ""; int tempSmallestCraftingUseSize = 0; @@ -517,7 +517,7 @@ public class Material { tempSmallestCraftingUseSize = (int) (tempSmallestCraftingUseSize + smallestRatio[r]); } //this.smallestStackSizeWhenProcessing = tempSmallestCraftingUseSize; - Utils.LOG_WARNING("Smallest Ratio: "+tempRatioStringThing); + Utils.LOG_MACHINE_INFO("Smallest Ratio: "+tempRatioStringThing); return smallestRatio; } } @@ -529,7 +529,7 @@ public class Material { if (!aShowQuestionMarks && (this.vChemicalFormula.equals("?")||this.vChemicalFormula.equals("??"))) { return ""; } - Utils.LOG_WARNING("===============| Calculating Atomic Formula for "+this.localizedName+" |==============="); + Utils.LOG_MACHINE_INFO("===============| Calculating Atomic Formula for "+this.localizedName+" |==============="); if (!chemSymbol.equals("")) { return chemSymbol; } @@ -572,13 +572,13 @@ public class Material { return MaterialUtils.subscript(dummyFormula); //return dummyFormula; } - Utils.LOG_WARNING("dummyFormulaArray <= 0"); + Utils.LOG_MACHINE_INFO("dummyFormulaArray <= 0"); } - Utils.LOG_WARNING("dummyFormulaArray == null"); + Utils.LOG_MACHINE_INFO("dummyFormulaArray == null"); } - Utils.LOG_WARNING("tempInput.length <= 0"); + Utils.LOG_MACHINE_INFO("tempInput.length <= 0"); } - Utils.LOG_WARNING("tempInput == null"); + Utils.LOG_MACHINE_INFO("tempInput == null"); return "??"; } @@ -592,7 +592,7 @@ public class Material { } catch (final Throwable e){} if (Materials.get(this.localizedName).mFluid == null){ - Utils.LOG_WARNING("Generating our own fluid."); + Utils.LOG_MACHINE_INFO("Generating our own fluid."); //Generate a Cell if we need to if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1) == null){ @@ -638,7 +638,7 @@ public class Material { return this.generatePlasma(); } } - Utils.LOG_WARNING("Getting the fluid from a GT material instead."); + Utils.LOG_MACHINE_INFO("Getting the fluid from a GT material instead."); return Materials.get(this.localizedName).mFluid; } @@ -646,11 +646,11 @@ public class Material { final Materials isValid = Materials.get(this.getLocalizedName()); if ((isValid != Materials._NULL) && (isValid != null) && (isValid != Materials.Clay)){ if (isValid.mPlasma != null){ - Utils.LOG_INFO("Using a pre-defined Plasma from GT."); + Utils.LOG_MACHINE_INFO("Using a pre-defined Plasma from GT."); return isValid.mPlasma; } } - Utils.LOG_INFO("Generating our own Plasma."); + Utils.LOG_MACHINE_INFO("Generating our own Plasma."); return FluidUtils.addGTPlasma(this); //return null; } @@ -658,9 +658,9 @@ public class Material { final public FluidStack getFluid(final int fluidAmount) { - Utils.LOG_WARNING("Attempting to get "+fluidAmount+"L of "+this.vMoltenFluid.getName()); + Utils.LOG_MACHINE_INFO("Attempting to get "+fluidAmount+"L of "+this.vMoltenFluid.getName()); final FluidStack moltenFluid = new FluidStack(this.vMoltenFluid, fluidAmount); - Utils.LOG_WARNING("Info: "+moltenFluid.getFluid().getName()+" Info: "+moltenFluid.amount+" Info: "+moltenFluid.getFluidID()); + Utils.LOG_MACHINE_INFO("Info: "+moltenFluid.getFluid().getName()+" Info: "+moltenFluid.amount+" Info: "+moltenFluid.getFluidID()); return moltenFluid; } @@ -670,10 +670,10 @@ public class Material { for (MaterialStack part : this.vMaterialInput){ int incrementor = part.getStackMaterial().getMeltingPointC(); meltingPoint += incrementor; - Utils.LOG_INFO("Melting Point for "+this.getLocalizedName()+" increased to "+ incrementor); + Utils.LOG_MACHINE_INFO("Melting Point for "+this.getLocalizedName()+" increased to "+ incrementor); } int divisor = (this.vMaterialInput.size()>0 ? this.vMaterialInput.size() : 1); - Utils.LOG_INFO("Dividing "+meltingPoint+" / "+divisor+" to get average melting point."); + Utils.LOG_MACHINE_INFO("Dividing "+meltingPoint+" / "+divisor+" to get average melting point."); meltingPoint = (meltingPoint/divisor); return meltingPoint; } diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index eb79614fbb..b0e4f3ac54 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -53,11 +53,11 @@ public class RECIPES_GREGTECH { //GT Logs to Charcoal Recipe //With Sulfuric Acid CORE.RA.addCokeOvenRecipe( - GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 1 - GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 2 + GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 5L), //Input 1 + ItemUtils.getGregtechCircuit(5), //Input 2 Materials.SulfuricAcid.getFluid(20L), //Fluid Input Materials.Creosote.getFluid(175L), //Fluid Output - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 2L), //Item Output + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 8L), //Item Output 800, //Time in ticks 30); //EU }catch (final NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} @@ -66,8 +66,8 @@ public class RECIPES_GREGTECH { //Coal -> Coke Recipe //With Sulfuric Acid CORE.RA.addCokeOvenRecipe( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 1 - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 2 + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 2L), //Input 1 + ItemUtils.getGregtechCircuit(5), //Input 2 Materials.SulfuricAcid.getFluid(60L), //Fluid Input Materials.Creosote.getFluid(250L), //Fluid Output ItemUtils.getItemStack("Railcraft:fuel.coke", 2), //Item Output @@ -79,8 +79,8 @@ public class RECIPES_GREGTECH { //GT Logs to Charcoal Recipe //Without Sulfuric Acid CORE.RA.addCokeOvenRecipe( - GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 1 - GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 2 + GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 2L), //Input 1 + ItemUtils.getGregtechCircuit(5), //Input 2 FluidUtils.getFluidStack("oxygen", 80), //Fluid Input Materials.Creosote.getFluid(145L), //Fluid Output GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 2L), //Item Output @@ -90,13 +90,13 @@ public class RECIPES_GREGTECH { try { //Coal -> Coke Recipe - //Without Sulfuric Acid + //Make Coal Gas CORE.RA.addCokeOvenRecipe( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 1 - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 2 - FluidUtils.getFluidStack("oxygen", 185), //Fluid Input - Materials.Creosote.getFluid(200L), //Fluid Output - ItemUtils.getItemStack("Railcraft:fuel.coke", 2), //Item Output + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 10L), //Input 1 + ItemUtils.getGregtechCircuit(1), //Input 2 + FluidUtils.getFluidStack("steam", 1440), //Fluid Input + FluidUtils.getFluidStack("fluid.coalgas", 1440), //Fluid Output + ItemUtils.getItemStackOfAmountFromOreDict("gemCoalCoke", 10), //Item Output 900, //Time in ticks 120); //EU }catch (final NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} |