aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/item
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2020-03-31 02:40:07 +0000
committerAlkalus <draknyte1@hotmail.com>2020-03-31 02:40:07 +0000
commit6d6adf8039fb97f2025610eb313a4caa48df838b (patch)
tree80e377c85c8a89edeac671cc6b2f2655a150f41e /src/Java/gtPlusPlus/core/item
parent47816dec7729bde0bf247ff7db8ebf6b25b92048 (diff)
parent8a8048a6418ca8da9de0bd7b49f6ec39f9b0aad6 (diff)
downloadGT5-Unofficial-6d6adf8039fb97f2025610eb313a4caa48df838b.tar.gz
GT5-Unofficial-6d6adf8039fb97f2025610eb313a4caa48df838b.tar.bz2
GT5-Unofficial-6d6adf8039fb97f2025610eb313a4caa48df838b.zip
Merged in AlkWork (pull request #4)
AlkWork
Diffstat (limited to 'src/Java/gtPlusPlus/core/item')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java9
-rw-r--r--src/Java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java25
-rw-r--r--src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java49
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java17
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java9
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java451
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java113
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java1107
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/food/BaseItemMetaFood.java431
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java20
-rw-r--r--src/Java/gtPlusPlus/core/item/init/ItemsFoods.java43
-rw-r--r--src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java6
13 files changed, 1690 insertions, 595 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 354107147b..fd2b98c7be 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -35,11 +35,13 @@ import gtPlusPlus.core.item.chemistry.AgriculturalChem;
import gtPlusPlus.core.item.chemistry.CoalTar;
import gtPlusPlus.core.item.chemistry.GenericChem;
import gtPlusPlus.core.item.chemistry.IonParticles;
+import gtPlusPlus.core.item.chemistry.MilledOreProcessing;
import gtPlusPlus.core.item.chemistry.NuclearChem;
import gtPlusPlus.core.item.chemistry.RocketFuels;
import gtPlusPlus.core.item.chemistry.StandardBaseParticles;
import gtPlusPlus.core.item.crafting.ItemDummyResearch;
import gtPlusPlus.core.item.effects.RarityUncommon;
+import gtPlusPlus.core.item.food.BaseItemMetaFood;
import gtPlusPlus.core.item.general.BaseItemGrindle;
import gtPlusPlus.core.item.general.BufferCore;
import gtPlusPlus.core.item.general.ItemAirFilter;
@@ -94,6 +96,7 @@ import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.everglades.GTplusplus_Everglades;
+import gtPlusPlus.preloader.CORE_Preloader;
import gtPlusPlus.xmod.cofh.HANDLER_COFH;
import gtPlusPlus.xmod.eio.material.MaterialEIO;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems;
@@ -367,6 +370,8 @@ public final class ModItems {
public static CoreItem itemExquisiteIndustrialDiamond;
+ public static BaseItemMetaFood itemMetaFood;
+
static {
Logger.INFO("Items!");
//Default item used when recipes fail, handy for debugging. Let's make sure they exist when this class is called upon.
@@ -384,7 +389,7 @@ public final class ModItems {
itemDummyResearch = new ItemDummyResearch();
//Debug Loading
- if (CORE.DEBUG){
+ if (CORE_Preloader.DEBUG_MODE){
DEBUG_INIT.registerItems();
}
@@ -996,6 +1001,8 @@ public final class ModItems {
//General Chemistry
new GenericChem();
+ // Milled Ore Processing
+ new MilledOreProcessing();
//Bombs
itemBombCasing = new CoreItem("itemBombCasing", "Bomb Casing", tabMisc);
diff --git a/src/Java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java b/src/Java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java
new file mode 100644
index 0000000000..4edf4ae75d
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.core.item.base.ore;
+
+import gregtech.api.enums.Materials;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import net.minecraft.item.Item;
+
+public class BaseItemMilledOre extends BaseOreComponent{
+
+ public BaseItemMilledOre(final Material material, int aMaterialEU) {
+ super(material, BaseOreComponent.ComponentTypes.MILLED);
+ CORE.RA.addMillingRecipe(material, aMaterialEU);
+ }
+
+ public static Item generate(Materials aMat, int aMaterialEU) {
+ return generate(MaterialUtils.generateMaterialFromGtENUM(aMat), aMaterialEU);
+ }
+
+ public static Item generate(Material aMat, int aMaterialEU) {
+ return new BaseItemMilledOre(aMat, aMaterialEU);
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java b/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
index c5b7191ddd..356fdac24e 100644
--- a/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
+++ b/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
@@ -18,6 +18,7 @@ import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.EntityUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.CustomOrePrefix;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@@ -48,7 +49,6 @@ public class BaseOreComponent extends Item{
this.setCreativeTab(AddToCreativeTab.tabMisc);
this.setUnlocalizedName(this.unlocalName);
this.setMaxStackSize(64);
- //this.setTextureName(this.getCorrectTextures());
this.componentColour = material.getRgbAsHex();
GameRegistry.registerItem(this, this.unlocalName);
registerComponent();
@@ -59,9 +59,9 @@ public class BaseOreComponent extends Item{
//ThaumcraftUtils.addAspectToItem(ItemUtils.getSimpleStack(this), TC_Aspect_Wrapper.generate(TC_Aspects.RADIO.mAspect), componentMaterial.vRadiationLevel);
}
}
-
+
}
-
+
public boolean registerComponent() {
Logger.MATERIALS("Attempting to register "+this.getUnlocalizedName()+".");
if (this.componentMaterial == null) {
@@ -92,7 +92,10 @@ public class BaseOreComponent extends Item{
else if (componentType == ComponentTypes.DUSTPURE) {
aKey = OrePrefixes.dustPure.name();
}
-
+ else if (componentType == ComponentTypes.MILLED) {
+ aKey = CustomOrePrefix.milled.get().name();
+ }
+
ItemStack x = aMap.get(aKey);
if (x == null) {
aMap.put(aKey, ItemUtils.getSimpleStack(this));
@@ -107,13 +110,6 @@ public class BaseOreComponent extends Item{
}
}
- public String getCorrectTextures(){
- if (!CORE.ConfigSwitches.useGregtechTextures){
- return CORE.MODID + ":" + "item"+this.componentType.COMPONENT_NAME;
- }
- return "gregtech" + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME;
- }
-
/*@Override
public String getItemStackDisplayName(final ItemStack p_77653_1_) {
return (this.componentType.getPrefix()+this.componentMaterial.getLocalizedName()+this.componentType.DISPLAY_NAME);
@@ -181,7 +177,13 @@ public class BaseOreComponent extends Item{
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(final IIconRegister par1IconRegister){
- if (CORE.ConfigSwitches.useGregtechTextures){
+ if (this.componentType == ComponentTypes.MILLED) {
+ this.base = par1IconRegister.registerIcon(CORE.MODID + ":" + "processing/MilledOre/"+this.componentType.getComponent());
+ if (this.componentType.hasOverlay()){
+ this.overlay = par1IconRegister.registerIcon(CORE.MODID + ":" + "processing/MilledOre/"+this.componentType.getComponent()+"_Overlay");
+ }
+ }
+ else if (CORE.ConfigSwitches.useGregtechTextures){
//Logger.MATERIALS(this.componentType.getPrefix()+this.componentMaterial.getLocalizedName()+this.componentType.DISPLAY_NAME+" is using `"+"gregtech" + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME+"' as the layer 0 texture path.");
this.base = par1IconRegister.registerIcon("gregtech" + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME);
if (this.componentType.hasOverlay()){
@@ -199,13 +201,21 @@ public class BaseOreComponent extends Item{
@Override
public int getColorFromItemStack(final ItemStack stack, final int renderPass) {
- if (renderPass == 0 && !CORE.ConfigSwitches.useGregtechTextures){
+ if (this.componentType == ComponentTypes.MILLED) {
+ if (renderPass == 1){
+ return Utils.rgbtoHexValue(230, 230, 230);
+ }
return this.componentColour;
}
- if (renderPass == 1 && CORE.ConfigSwitches.useGregtechTextures){
- return Utils.rgbtoHexValue(230, 230, 230);
- }
- return this.componentColour;
+ else {
+ if (renderPass == 0 && !CORE.ConfigSwitches.useGregtechTextures){
+ return this.componentColour;
+ }
+ if (renderPass == 1 && CORE.ConfigSwitches.useGregtechTextures){
+ return Utils.rgbtoHexValue(230, 230, 230);
+ }
+ return this.componentColour;
+ }
}
@@ -226,7 +236,8 @@ public class BaseOreComponent extends Item{
DUSTPURE("dustPure", "Purified ", " Dust", true),
CRUSHED("crushed", "Crushed ", " Ore", true),
CRUSHEDCENTRIFUGED("crushedCentrifuged", "Centrifuged Crushed "," Ore", true),
- CRUSHEDPURIFIED("crushedPurified", "Purified Crushed ", " Ore", true);
+ CRUSHEDPURIFIED("crushedPurified", "Purified Crushed ", " Ore", true),
+ MILLED("milled", "Milled ", " Ore", true);
private String COMPONENT_NAME;
private String PREFIX;
@@ -252,7 +263,7 @@ public class BaseOreComponent extends Item{
public boolean hasOverlay(){
return this.HAS_OVERLAY;
}
-
+
public String getPrefix(){
return this.PREFIX;
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
index 0e23e9a845..3f02ca898d 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
@@ -12,6 +12,7 @@ import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
@@ -556,6 +557,22 @@ public class AgriculturalChem extends ItemPackage {
CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(ManureSlurry, 1000), 24);
CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(FertileManureSlurry, 1000), 32);
+ // Red Slurry / Tailings Processing
+ GT_Values.RA.addCentrifugeRecipe(
+ CI.getNumberedBioCircuit(10),
+ GT_Values.NI,
+ FluidUtils.getFluidStack(AgriculturalChem.RedMud, 1000),
+ FluidUtils.getWater(500),
+ ELEMENT.getInstance().IRON.getSmallDust(1),
+ ELEMENT.getInstance().COPPER.getSmallDust(1),
+ ELEMENT.getInstance().TIN.getSmallDust(1),
+ ELEMENT.getInstance().SULFUR.getSmallDust(1),
+ ELEMENT.getInstance().NICKEL.getTinyDust(1),
+ ELEMENT.getInstance().LEAD.getTinyDust(1),
+ new int[] { 3000, 3000, 2000, 2000, 1000, 1000 },
+ 30 * 20,
+ 30);
+
}
@Override
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
index 981bfed479..37428b18d6 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
@@ -189,20 +189,20 @@ public class CoalTar extends ItemPackage {
GT_Values.RA.addDistilleryRecipe(
CI.getNumberedCircuit(5), //Circuit
FluidUtils.getFluidStack("fluid.coaltar", 1500), //aInput
- FluidUtils.getFluidStack("fluid.kerosene", 400), //aOutput
+ FluidUtils.getFluidStack("fluid.kerosene", 600), //aOutput
300, //aDuration
64,//aEUt
false //Hidden?
);
GT_Values.RA.addDistillationTowerRecipe(
- FluidUtils.getFluidStack("fluid.coaltar", 1000),
+ FluidUtils.getFluidStack("fluid.coaltar", 1200),
new FluidStack[]{
FluidUtils.getFluidStack("fluid.coaltaroil", 500), //aOutput
FluidUtils.getFluidStack("liquid_naphtha", 100), //aOutput
FluidUtils.getFluidStack("fluid.ethylbenzene", 150), //aOutput
FluidUtils.getFluidStack("fluid.anthracene", 50), //aOutput
- FluidUtils.getFluidStack("fluid.kerosene", 200), //aOutput
+ FluidUtils.getFluidStack("fluid.kerosene", 400), //aOutput
},
null,
900,
@@ -314,9 +314,6 @@ public class CoalTar extends ItemPackage {
@Override
public void fluids() {
-
- //Special Compatibility for Coke
- ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(ModItems.itemCoalCoke, 1), "fuelCoke");
//Create Coal Gas
Coal_Gas = FluidUtils.generateFluidNonMolten("CoalGas", "Coal Gas", 500, new short[]{48, 48, 48, 100}, null, null);
//Ethanol
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
index 49d3303688..ff55326031 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
@@ -1,12 +1,15 @@
package gtPlusPlus.core.item.chemistry;
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.TextureSet;
-import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.MISC_MATERIALS;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.MaterialStack;
@@ -16,8 +19,9 @@ import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.plugin.agrichem.item.algae.ItemAgrichemBase;
-import net.minecraft.block.Block;
+import gtPlusPlus.plugin.agrichem.BioRecipes;
+import gtPlusPlus.plugin.agrichem.block.AgrichemFluids;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -28,14 +32,21 @@ import net.minecraftforge.fluids.FluidStack;
public class GenericChem extends ItemPackage {
/**
+ * Switches
+ */
+
+ private static boolean usingGregtechNitricOxide = false;
+ private static boolean usingGregtechNitrogenDioxide = false;
+
+ /**
* Materials
*/
-
+
public static final Material BAKELITE = new Material("Bakelite", MaterialState.SOLID, TextureSet.SET_DULL, new short[]{90, 140, 140}, 120, 240, 23, 24, true, null, 0);//Not a GT Inherited Material
public static final Material NYLON = new Material("Nylon", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{45, 45, 45}, 300, 600, 44, 48, true, null, 0);//Not a GT Inherited Material
public static final Material CARBYNE = new Material("Carbyne", MaterialState.SOLID, TextureSet.SET_DULL, new short[]{25, 25, 25}, 2500, 5000, 63, 52, true, null, 0);//Not a GT Inherited Material
-
-
+
+
//Refined PTFE
public static final Material TEFLON = new Material(
"Teflon",
@@ -52,34 +63,37 @@ public class GenericChem extends ItemPackage {
new MaterialStack(NONMATERIAL.PLASTIC, 15),
new MaterialStack(ELEMENT.getInstance().CARBON, 5),
new MaterialStack(ELEMENT.getInstance().SODIUM, 5)
- });// Not a GT
- // Inherited
- // Material
+ });// Not a GT
+ // Inherited
+ // Material
//public static final Material HYPOGEN = new Material("Hypogen", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{220, 120, 75}, 12255, 19377, 240, 251, true, "Hy⚶", 0);//Not a GT Inherited Material
//public static final Material HYPOGEN = new Material("Hypogen", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{220, 120, 75}, 12255, 19377, 240, 251, true, "Hy⚶", 0);//Not a GT Inherited Material
//public static final Material Nylon = new Material();
-
+
/**
* Fluids
*/
- public Fluid Benzene;
- public Fluid NitroBenzene;
- public Fluid Aniline;
- public Fluid Polyurethane;
- public Fluid Phenol; //https://en.wikipedia.org/wiki/Phenol#Uses
- public Fluid Cyclohexane; //https://en.wikipedia.org/wiki/Cyclohexane
- public Fluid Cyclohexanone; //https://en.wikipedia.org/wiki/Cyclohexanone
-
- public Fluid Cadaverine; //https://en.wikipedia.org/wiki/Cadaverine
- public Fluid Putrescine; //https://en.wikipedia.org/wiki/Putrescine
-
+ public static Fluid Benzene;
+ public static Fluid NitroBenzene;
+ public static Fluid Aniline;
+ public static Fluid Polyurethane;
+ public static Fluid Phenol; //https://en.wikipedia.org/wiki/Phenol#Uses
+ public static Fluid Cyclohexane; //https://en.wikipedia.org/wiki/Cyclohexane
+ public static Fluid Cyclohexanone; //https://en.wikipedia.org/wiki/Cyclohexanone
+ public static Fluid Cadaverine; //https://en.wikipedia.org/wiki/Cadaverine
+ public static Fluid Putrescine; //https://en.wikipedia.org/wiki/Putrescine
+ public static Fluid BoricAcid;
+ public static Fluid HydrochloricAcid;
+
public static Fluid Ethylanthraquinone2;
public static Fluid Ethylanthrahydroquinone2;
public static Fluid Hydrogen_Peroxide;
public static Fluid Lithium_Peroxide;
+ public static Fluid Nitric_Oxide;
+ public static Fluid Nitrogen_Dioxide;
/**
* Items
@@ -89,6 +103,19 @@ public class GenericChem extends ItemPackage {
public Item PhenolicResins; //https://en.wikipedia.org/wiki/Phenol_formaldehyde_resin
public static ItemGenericChemBase mGenericChemItem1;
+ private ItemStack mCatalystCarrier;
+
+ public static ItemStack mRedCatalyst;
+ public static ItemStack mYellowCatalyst;
+ public static ItemStack mBlueCatalyst;
+ public static ItemStack mOrangeCatalyst;
+ public static ItemStack mPurpleCatalyst;
+ public static ItemStack mBrownCatalyst;
+ public static ItemStack mPinkCatalyst;
+
+ public static ItemStack mMillingBallAlumina;
+ public static ItemStack mMillingBallSoapstone;
+
@Override
@@ -99,26 +126,20 @@ public class GenericChem extends ItemPackage {
MaterialGenerator.generate(TEFLON, false);
mGenericChemItem1 = new ItemGenericChemBase();
-
+
registerItemStacks();
registerOreDict();
+
+ GregtechItemList.Milling_Ball_Alumina.set(mMillingBallAlumina);
+ GregtechItemList.Milling_Ball_Soapstone.set(mMillingBallSoapstone);
+
}
- private ItemStack mCatalystCarrier;
-
- public static ItemStack mRedCatalyst;
- public static ItemStack mYellowCatalyst;
- public static ItemStack mBlueCatalyst;
- public static ItemStack mOrangeCatalyst;
- public static ItemStack mPurpleCatalyst;
- public static ItemStack mBrownCatalyst;
- public static ItemStack mPinkCatalyst;
-
-
+
public void registerItemStacks() {
mCatalystCarrier = ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 13, 1);
-
+
mRedCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 0, 1);
mYellowCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 1, 1);
mBlueCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 2, 1);
@@ -126,9 +147,11 @@ public class GenericChem extends ItemPackage {
mPurpleCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 4, 1);
mBrownCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 5, 1);
mPinkCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 6, 1);
-
+ mMillingBallAlumina = ItemUtils.simpleMetaStack(mGenericChemItem1, 7, 1);
+ mMillingBallSoapstone = ItemUtils.simpleMetaStack(mGenericChemItem1, 8, 1);
+
}
-
+
public void registerOreDict() {
ItemUtils.addItemToOreDictionary(mRedCatalyst, "catalystIronCopper");
@@ -138,7 +161,9 @@ public class GenericChem extends ItemPackage {
ItemUtils.addItemToOreDictionary(mPurpleCatalyst, "catalystIridiumRuthenium");
ItemUtils.addItemToOreDictionary(mBrownCatalyst, "catalystNickelAluminium");
ItemUtils.addItemToOreDictionary(mPinkCatalyst, "catalystPlatinumRhodium");
-
+ ItemUtils.addItemToOreDictionary(mMillingBallAlumina, "millingballAlumina");
+ ItemUtils.addItemToOreDictionary(mMillingBallSoapstone, "millingballSoapstone");
+
}
@Override
@@ -146,33 +171,43 @@ public class GenericChem extends ItemPackage {
@Override
public void fluids() {
-
+
if (!FluidRegistry.isFluidRegistered("benzene")) {
Benzene = FluidUtils.generateFluidNoPrefix("benzene", "Benzene", 278, new short[] { 100, 70, 30, 100 }, true);
}
else {
Benzene = FluidRegistry.getFluid("benzene");
}
-
+
NitroBenzene = FluidUtils.generateFluidNoPrefix("nitrobenzene", "NitroBenzene", 278, new short[] { 70, 50, 40, 100 }, true);
-
+
Aniline = FluidUtils.generateFluidNoPrefix("aniline", "Aniline", 266, new short[] { 100, 100, 30, 100 }, true);
-
+
+ BoricAcid = FluidUtils.generateFluidNoPrefix("boricacid", "Boric Acid", 278, new short[] { 90, 30, 120, 100 }, true);
+
Polyurethane = FluidUtils.generateFluidNoPrefix("polyurethane", "Polyurethane", 350, new short[] { 100, 70, 100, 100 }, true);
-
+
if (!FluidRegistry.isFluidRegistered("phenol")) {
Phenol = FluidUtils.generateFluidNoPrefix("phenol", "Phenol", 313, new short[] { 100, 70, 30, 100 }, true);
}
else {
Phenol = FluidRegistry.getFluid("phenol");
- }
-
+ }
+
+ // Use GT's if it exists, else make our own.
+ if (FluidRegistry.isFluidRegistered("hydrochloricacid_gt5u")) {
+ HydrochloricAcid = FluidRegistry.getFluid("hydrochloricacid_gt5u");
+ }
+ else {
+ HydrochloricAcid = FluidUtils.generateFluidNoPrefix("hydrochloricacid", "Hydrochloric Acid", 285, new short[] { 183, 200, 196, 100 }, true);
+ }
+
Cyclohexane = FluidUtils.generateFluidNoPrefix("cyclohexane", "Cyclohexane", 32 + 175, new short[] { 100, 70, 30, 100 }, true);
Cyclohexanone = FluidUtils.generateFluidNoPrefix("cyclohexanone", "Cyclohexanone", 32 + 175, new short[] { 100, 70, 30, 100 }, true);
-
+
Cadaverine = FluidUtils.generateFluidNoPrefix("cadaverine", "Cadaverine", 32 + 175, new short[] { 100, 70, 30, 100 }, true);
Putrescine = FluidUtils.generateFluidNoPrefix("putrescine", "Putrescine", 32 + 175, new short[] { 100, 70, 30, 100 }, true);
-
+
//Create 2-Ethylanthraquinone
//2-Ethylanthraquinone is prepared from the reaction of phthalic anhydride and ethylbenzene
Ethylanthraquinone2 = FluidUtils.generateFluidNonMolten("2Ethylanthraquinone", "2-Ethylanthraquinone", 415, new short[]{227, 255, 159, 100}, null, null);
@@ -183,6 +218,21 @@ public class GenericChem extends ItemPackage {
//Compressed Air(1500) + Ethylanthrahydroquinone(500) + Anthracene(5) = 450 Ethylanthraquinone && 200 Peroxide
Hydrogen_Peroxide = FluidUtils.generateFluidNonMolten("HydrogenPeroxide", "Hydrogen Peroxide", 150, new short[]{210, 255, 255, 100}, null, null);
+ if (FluidRegistry.isFluidRegistered("nitricoxide")) {
+ Nitric_Oxide = FluidRegistry.getFluid("nitricoxide");
+ usingGregtechNitricOxide = true;
+ }
+ else {
+ Nitric_Oxide = FluidUtils.generateFluidNoPrefix("nitricoxide", "Nitric Oxide", 200, new short[] {125, 200, 240, 100});
+ }
+ if (FluidRegistry.isFluidRegistered("nitrogendioxide")) {
+ Nitrogen_Dioxide = FluidRegistry.getFluid("nitrogendioxide");
+ usingGregtechNitrogenDioxide = true;
+ }
+ else {
+ Nitrogen_Dioxide = FluidUtils.generateFluidNoPrefix("nitrogendioxide", "Nitrogen Dioxide", 200, new short[] {100, 175, 255, 100});
+ }
+
//Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O
@@ -191,8 +241,8 @@ public class GenericChem extends ItemPackage {
//Lithium Peroxide - 2 LiOOH → Li2O2 + H2O2 + 2 H2O
Lithium_Peroxide = FluidUtils.generateFluidNonMolten("LithiumPeroxide", "Lithium Peroxide", 446, new short[]{135, 135, 135, 100}, null, null);
-
-
+
+
}
@Override
@@ -202,7 +252,7 @@ public class GenericChem extends ItemPackage {
@Override
public boolean generateRecipes() {
-
+
recipeCatalystRed();
recipeCatalystYellow();
recipeCatalystBlue();
@@ -210,24 +260,165 @@ public class GenericChem extends ItemPackage {
recipeCatalystPurple();
recipeCatalystBrown();
recipeCatalystPink();
-
+
+ recipeGrindingBallAlumina();
+ recipeGrindingBallSoapstone();
+
recipeNitroBenzene();
recipeAniline();
recipeCadaverineAndPutrescine();
recipeCyclohexane();
recipeCyclohexanone();
-
+
recipe2Ethylanthraquinone();
recipe2Ethylanthrahydroquinone();
recipeHydrogenPeroxide();
recipeLithiumHydroperoxide();
- recipeLithiumPeroxide();
-
+ recipeLithiumPeroxide();
+ if (!usingGregtechNitricOxide) {
+ recipeNitricOxide();
+ }
+ if (!usingGregtechNitrogenDioxide) {
+ recipeNitrogenDioxide();
+ }
+
+ // Add recipes if we are not using GT's fluid.
+ if (!FluidRegistry.isFluidRegistered("hydrochloricacid_gt5u")) {
+ recipeHydrochloricAcid();
+ }
+ registerFuels();
+
return true;
+ }
+
+
+ private static void registerFuels() {
+
+ // Burnables
+
+ // Gas Fuels
+ GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellNitroBenzene", 1), null, 1250, 1);
+
+ }
+
+ private void recipeGrindingBallAlumina() {
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ CI.getNumberedCircuit(10),
+ ItemUtils.getSimpleStack(AgriculturalChem.mAlumina, 64)
+ },
+ FluidUtils.getFluidStack(GenericChem.Aniline, 4000),
+ ItemUtils.getSimpleStack(mMillingBallAlumina, 8),
+ 180 * 20,
+ 480);
+ }
+ private void recipeGrindingBallSoapstone() {
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ CI.getNumberedCircuit(10),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSoapstone", 32)
+ },
+ FluidUtils.getFluidStack(AgrichemFluids.mLiquidResin, 2500),
+ ItemUtils.getSimpleStack(mMillingBallSoapstone, 8),
+ 120 * 20,
+ 480);
+ }
+
+ private void recipeNitrogenDioxide() {
+ ItemStack aNitricOxideCell = ItemUtils.getItemStackOfAmountFromOreDict("cellNitricOxide", 1);
+ ItemStack aNitrogenDioxideCell = ItemUtils.getItemStackOfAmountFromOreDict("cellNitrogenDioxide", 1);
+ GT_Values.RA.addChemicalRecipe( ItemUtils.getSimpleStack(aNitricOxideCell, 2), GT_Utility.getIntegratedCircuit(1), ELEMENT.getInstance().OXYGEN.getFluid(1000), FluidUtils.getFluidStack(Nitrogen_Dioxide, 3000), CI.emptyCells(2), 160);
+ GT_Values.RA.addChemicalRecipe( ELEMENT.getInstance().OXYGEN.getCell(1), GT_Utility.getIntegratedCircuit(1), FluidUtils.getFluidStack(Nitric_Oxide, 2000), FluidUtils.getFluidStack(Nitrogen_Dioxide, 3000), CI.emptyCells(1), 160);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(ItemUtils.getSimpleStack(aNitricOxideCell, 2), CI.emptyCells(1), ELEMENT.getInstance().OXYGEN.getFluid(1000), GT_Values.NF, ItemUtils.getSimpleStack(aNitrogenDioxideCell, 3), GT_Values.NI, 160, 30);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(ELEMENT.getInstance().OXYGEN.getCell(1), CI.emptyCells(2), FluidUtils.getFluidStack(Nitric_Oxide, 2000), GT_Values.NF, ItemUtils.getSimpleStack(aNitrogenDioxideCell, 3), GT_Values.NI, 160, 30);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(ItemUtils.getSimpleStack(aNitricOxideCell, 2), ELEMENT.getInstance().OXYGEN.getCell(1), GT_Values.NF, GT_Values.NF, ItemUtils.getSimpleStack(aNitrogenDioxideCell, 3), GT_Values.NI, 160, 30);
+ }
+
+
+ private void recipeNitricOxide() {
+ ItemStack aWaterCell = ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 1);
+ ItemStack aNitricOxideCell = ItemUtils.getItemStackOfAmountFromOreDict("cellNitricOxide", 1);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(MISC_MATERIALS.AMMONIA.getCell(8), CI.emptyCells(1), ELEMENT.getInstance().OXYGEN.getFluid(5000), FluidUtils.getFluidStack(Nitric_Oxide, 4000), ItemUtils.getSimpleStack(aWaterCell, 9), GT_Values.NI, 160, 30);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(ELEMENT.getInstance().OXYGEN.getCell(5), CI.emptyCells(4), MISC_MATERIALS.AMMONIA.getFluid(8000), FluidUtils.getFluidStack(Nitric_Oxide, 4000), ItemUtils.getSimpleStack(aWaterCell, 9), GT_Values.NI, 160, 30);
+ GT_Values.RA.addChemicalRecipe( MISC_MATERIALS.AMMONIA.getCell(8), GT_Utility.getIntegratedCircuit(11), ELEMENT.getInstance().OXYGEN.getFluid(5000), FluidUtils.getWater(9000), ItemUtils.getSimpleStack(aNitricOxideCell, 4), CI.emptyCells(4), 160);
+ GT_Values.RA.addChemicalRecipe( ELEMENT.getInstance().OXYGEN.getCell(5), GT_Utility.getIntegratedCircuit(11), MISC_MATERIALS.AMMONIA.getFluid(8000), FluidUtils.getWater(9000), ItemUtils.getSimpleStack(aNitricOxideCell, 4), CI.emptyCells(1), 160);
+ GT_Values.RA.addChemicalRecipe( MISC_MATERIALS.AMMONIA.getCell(8), GT_Utility.getIntegratedCircuit(2), ELEMENT.getInstance().OXYGEN.getFluid(5000), FluidUtils.getFluidStack(Nitric_Oxide, 4000), CI.emptyCells(8), 320);
+ GT_Values.RA.addChemicalRecipe( ELEMENT.getInstance().OXYGEN.getCell(5), GT_Utility.getIntegratedCircuit(2), MISC_MATERIALS.AMMONIA.getFluid(8000), FluidUtils.getFluidStack(Nitric_Oxide, 4000), CI.emptyCells(5), 320);
+ GT_Values.RA.addChemicalRecipe( MISC_MATERIALS.AMMONIA.getCell(8), GT_Utility.getIntegratedCircuit(12), ELEMENT.getInstance().OXYGEN.getFluid(5000), GT_Values.NF, ItemUtils.getSimpleStack(aNitricOxideCell, 4), CI.emptyCells(4), 160);
+ GT_Values.RA.addChemicalRecipe( ELEMENT.getInstance().OXYGEN.getCell(5), GT_Utility.getIntegratedCircuit(12), MISC_MATERIALS.AMMONIA.getFluid(8000), GT_Values.NF, ItemUtils.getSimpleStack(aNitricOxideCell, 4), CI.emptyCells(1), 160);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(MISC_MATERIALS.AMMONIA.getCell(8), ELEMENT.getInstance().OXYGEN.getCell(5), GT_Values.NF, GT_Values.NF, ItemUtils.getSimpleStack(aNitricOxideCell, 4), ItemUtils.getSimpleStack(aWaterCell, 9), 160, 30);
+ GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(1)}, new FluidStack[]{MISC_MATERIALS.AMMONIA.getFluid(8000), ELEMENT.getInstance().OXYGEN.getFluid(5000)}, new FluidStack[]{FluidUtils.getFluidStack(Nitric_Oxide, 4000), FluidUtils.getWater(9000)}, null, 160, 30);
+ }
+
+
+ private void recipeHydrochloricAcid() {
+
+ ItemStack aAcidCell = ItemUtils.getItemStackOfAmountFromOreDict("cellHydrochloricAcid", 1);
+
+ CORE.RA.addChemicalRecipe(
+ ELEMENT.getInstance().CHLORINE.getCell(1),
+ GT_Utility.getIntegratedCircuit(1),
+ ELEMENT.getInstance().HYDROGEN.getFluid(1000),
+ FluidUtils.getFluidStack(HydrochloricAcid, 2000),
+ CI.emptyCells(1),
+ 60,
+ 8);
+
+ CORE.RA.addChemicalRecipe(
+ ELEMENT.getInstance().HYDROGEN.getCell(1),
+ GT_Utility.getIntegratedCircuit(1),
+ ELEMENT.getInstance().CHLORINE.getFluid(1000),
+ FluidUtils.getFluidStack(HydrochloricAcid, 2000),
+ CI.emptyCells(1),
+ 60,
+ 8);
+
+ GT_Values.RA.addElectrolyzerRecipe(
+ CI.emptyCells(1),
+ GT_Utility.getIntegratedCircuit(1),
+ FluidUtils.getFluidStack(HydrochloricAcid, 2000),
+ ELEMENT.getInstance().CHLORINE.getFluid(1000),
+ ELEMENT.getInstance().HYDROGEN.getCell(1),
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ null,
+ 720,
+ 30);
+
+ GT_Values.RA.addElectrolyzerRecipe(
+ CI.emptyCells(1),
+ GT_Utility.getIntegratedCircuit(11),
+ FluidUtils.getFluidStack(HydrochloricAcid, 2000),
+ ELEMENT.getInstance().HYDROGEN.getFluid(1000),
+ ELEMENT.getInstance().CHLORINE.getCell(1),
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ null,
+ 720,
+ 30);
+
+ GT_Values.RA.addElectrolyzerRecipe(
+ ItemUtils.getSimpleStack(aAcidCell, 2),
+ GT_Values.NI,
+ GT_Values.NF,
+ GT_Values.NF,
+ ELEMENT.getInstance().HYDROGEN.getCell(1),
+ ELEMENT.getInstance().CHLORINE.getCell(1),
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ null,
+ 720,
+ 30);
}
private void recipeCyclohexane() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
@@ -238,7 +429,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("hydrogen", 10000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cyclohexane, 1000),
@@ -246,11 +437,11 @@ public class GenericChem extends ItemPackage {
20 * 120,
120,
2);
-
+
}
private void recipeCyclohexanone() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
@@ -261,7 +452,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("air", 10000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cyclohexanone, 2000),
@@ -269,7 +460,7 @@ public class GenericChem extends ItemPackage {
20 * 120,
120,
2);
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
@@ -279,7 +470,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("oxygen", 5000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cyclohexanone, 2000),
@@ -287,10 +478,10 @@ public class GenericChem extends ItemPackage {
20 * 120,
120,
2);
-
-
-
-
+
+
+
+
}
private void recipeCatalystRed() {
@@ -305,7 +496,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mRedCatalyst, 10),
20 * 20,
30);
-
+
}
private void recipeCatalystYellow() {
@@ -320,7 +511,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mYellowCatalyst, 10),
60 * 20,
2000);
-
+
}
private void recipeCatalystBlue() {
@@ -335,7 +526,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mBlueCatalyst, 10),
40 * 20,
500);
-
+
}
private void recipeCatalystOrange() {
@@ -350,7 +541,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mOrangeCatalyst, 10),
40 * 20,
500);
-
+
}
private void recipeCatalystPurple() {
@@ -365,7 +556,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mPurpleCatalyst, 10),
120 * 20,
8000);
-
+
}
private void recipeCatalystBrown() {
@@ -380,7 +571,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mBrownCatalyst, 10),
15 * 20,
30);
-
+
}
private void recipeCatalystPink() {
@@ -395,11 +586,11 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mPinkCatalyst, 10),
30 * 20,
2000);
-
+
}
private void recipeCadaverineAndPutrescine() {
-
+
// Basic Recipe
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
@@ -410,7 +601,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getHotWater(2000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cadaverine, 250),
@@ -431,7 +622,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getHotWater(3000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cadaverine, 750),
@@ -440,11 +631,11 @@ public class GenericChem extends ItemPackage {
20 * 120,
240,
2);
-
+
}
private void recipeAniline() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierThreeChip(),
@@ -455,7 +646,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("hydrogen", 10000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Aniline, 2000),
@@ -463,11 +654,11 @@ public class GenericChem extends ItemPackage {
20 * 30,
500,
3);
-
+
}
private void recipeNitroBenzene() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierThreeChip(),
@@ -479,7 +670,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getDistilledWater(10000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack("dilutedsulfuricacid", 3000),
@@ -488,11 +679,11 @@ public class GenericChem extends ItemPackage {
20 * 30,
500,
3);
-
+
}
private void recipe2Ethylanthraquinone() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
@@ -502,7 +693,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack(CoalTar.Ethylbenzene, 2000),
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Ethylanthraquinone2, 2000+(144*4)),
@@ -510,7 +701,7 @@ public class GenericChem extends ItemPackage {
20 * 15,
120,
1);
-
+
/*GT_Values.RA.addChemicalRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 4),
ItemUtils.getItemStackOfAmountFromOreDict("cellEthylbenzene", 2),
@@ -518,11 +709,11 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("fluid.2ethylanthraquinone", 2000+(144*4)),
ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2),
20*16);*/
-
+
}
private void recipe2Ethylanthrahydroquinone() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
@@ -533,7 +724,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("hydrogen", 2000),
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000),
@@ -541,7 +732,7 @@ public class GenericChem extends ItemPackage {
20 * 40,
120,
1);
-
+
/*GT_Values.RA.addChemicalRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("platePalladium", 0),
ItemUtils.getItemStackOfAmountFromOreDict("cell2Ethylanthraquinone", 1),
@@ -549,7 +740,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("fluid.2ethylanthrahydroquinone", 1200),
ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1),
20*40);*/
-
+
}
private void recipeLithiumPeroxide() {
@@ -571,7 +762,7 @@ public class GenericChem extends ItemPackage {
}
private void recipeLithiumHydroperoxide() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
@@ -584,14 +775,14 @@ public class GenericChem extends ItemPackage {
ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroperoxide", 14),
},
new FluidStack[] {
-
+
},
20 * 30,
240,
1);
-
-
-
+
+
+
/*CORE.RA.addChemicalRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 7),
ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogenPeroxide", 1),
@@ -605,7 +796,7 @@ public class GenericChem extends ItemPackage {
}
private void recipeHydrogenPeroxide() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
@@ -624,7 +815,7 @@ public class GenericChem extends ItemPackage {
20 * 30,
240,
1);
-
+
/* CORE.RA.addChemicalRecipe(
GT_ModHandler.getAirCell(15),
ItemUtils.getItemStackOfAmountFromOreDict("cell2Ethylanthrahydroquinone", 5),
@@ -635,38 +826,38 @@ public class GenericChem extends ItemPackage {
CI.emptyCells(18),
20*30,
240);*/
-
+
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
private static final ItemStack getTierOneChip() {
return CI.getNumberedBioCircuit(4);
}
@@ -679,7 +870,7 @@ public class GenericChem extends ItemPackage {
private static final ItemStack getTierFourChip() {
return CI.getNumberedBioCircuit(16);
}
-
-
-
+
+
+
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java b/src/Java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java
new file mode 100644
index 0000000000..426f48ecf9
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java
@@ -0,0 +1,113 @@
+package gtPlusPlus.core.item.chemistry;
+
+import gregtech.api.enums.Materials;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.ItemPackage;
+import gtPlusPlus.core.item.base.ore.BaseItemMilledOre;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import net.minecraft.item.Item;
+import net.minecraftforge.fluids.Fluid;
+
+public class MilledOreProcessing extends ItemPackage {
+
+ /**
+ * Fluids
+ */
+
+ public static Fluid ZincFlotationFroth;
+ public static Fluid CopperFlotationFroth;
+ public static Fluid NickelFlotationFroth;
+ public static Fluid PlatinumFlotationFroth;
+ public static Fluid PentlanditeFlotationFroth;
+
+
+ /**
+ * Items
+ */
+
+ // Zinc, Iron, Indium, Germanium
+ public static Item milledSphalerite;
+
+ // Copper, Iron, Cadmium, Indium
+ public static Item milledChalcopyrite;
+
+ // Nickel, Cobalt, Rhodium, Ruthenium
+ public static Item milledNickel;
+
+ // Platinum, Rhodium, Selenium, Tellurium
+ public static Item milledPlatinum;
+
+ // Iron, Nickel, Promethium, Hafnium
+ public static Item milledPentlandite;
+
+
+ @Override
+ public void items() {
+
+ milledSphalerite = BaseItemMilledOre.generate(Materials.Sphalerite, MaterialUtils.getVoltageForTier(5));
+ milledChalcopyrite = BaseItemMilledOre.generate(Materials.Chalcopyrite, MaterialUtils.getVoltageForTier(4));
+ milledNickel = BaseItemMilledOre.generate(Materials.Nickel, MaterialUtils.getVoltageForTier(4));
+ milledPlatinum = BaseItemMilledOre.generate(Materials.Platinum, MaterialUtils.getVoltageForTier(5));
+ milledPentlandite = BaseItemMilledOre.generate(Materials.Pentlandite, MaterialUtils.getVoltageForTier(5));
+
+ }
+
+ @Override
+ public void blocks() {
+ // None yet
+ }
+
+ @Override
+ public void fluids() {
+
+ short[] aZincFrothRGB = Materials.Sphalerite.mRGBa;
+ ZincFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.zincflotation", "Zinc Froth", 32 + 175, new short[] { aZincFrothRGB[0], aZincFrothRGB[1], aZincFrothRGB[2], 100 }, true);
+ short[] aCopperFrothRGB = Materials.Chalcopyrite.mRGBa;
+ CopperFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.copperflotation", "Copper Froth", 32 + 175, new short[] { aCopperFrothRGB[0], aCopperFrothRGB[1], aCopperFrothRGB[2], 100 }, true);
+ short[] aNickelFrothRGB = Materials.Nickel.mRGBa;
+ NickelFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.nickelflotation", "Nickel Froth", 32 + 175, new short[] { aNickelFrothRGB[0], aNickelFrothRGB[1], aNickelFrothRGB[2], 100 }, true);
+ short[] aPlatinumFrothRGB = Materials.Platinum.mRGBa;
+ PlatinumFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.platinumflotation", "Platinum Froth", 32 + 175, new short[] { aPlatinumFrothRGB[0], aPlatinumFrothRGB[1], aPlatinumFrothRGB[2], 100 }, true);
+ short[] aPentlanditeFrothRGB = Materials.Pentlandite.mRGBa;
+ PentlanditeFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.pentlanditeflotation", "Pentlandite Froth", 32 + 175, new short[] { aPentlanditeFrothRGB[0], aPentlanditeFrothRGB[1], aPentlanditeFrothRGB[2], 100 }, true);
+
+ }
+
+
+
+ public MilledOreProcessing() {
+ super();
+ Logger.INFO("Adding Ore Milling content");
+ }
+
+ private static void addMiscRecipes() {
+
+ /*GT_Values.RA.addCentrifugeRecipe(
+ CI.getNumberedBioCircuit(10),
+ GT_Values.NI,
+ FluidUtils.getFluidStack(MilledOreProcessing.ZincFlotationFroth, 1000),
+ FluidUtils.getWater(500),
+ ELEMENT.getInstance().IRON.getSmallDust(1),
+ ELEMENT.getInstance().COPPER.getSmallDust(1),
+ ELEMENT.getInstance().TIN.getSmallDust(1),
+ ELEMENT.getInstance().SULFUR.getSmallDust(1),
+ ELEMENT.getInstance().NICKEL.getTinyDust(1),
+ ELEMENT.getInstance().LEAD.getTinyDust(1),
+ new int[] { 3000, 3000, 2000, 2000, 1000, 1000 },
+ 30 * 20,
+ 30);*/
+
+ }
+
+ @Override
+ public String errorMessage() {
+ return "Failed to generate recipes for OreMillingProc.";
+ }
+
+ @Override
+ public boolean generateRecipes() {
+ addMiscRecipes();
+ return true;
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
index e6426dd6df..459acb31b9 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
@@ -6,19 +6,21 @@ import java.util.LinkedHashMap;
import cpw.mods.fml.common.event.FMLLoadCompleteEvent;
import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.util.GT_Utility;
import gregtech.api.util.Recipe_GT;
-import gtPlusPlus.api.helpers.MaterialHelper;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.xmod.gregtech.common.StaticFields59;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
@@ -53,36 +55,36 @@ public class RocketFuels extends ItemPackage {
public static Item Ammonium_Nitrate_Dust;
public static Item Formaldehyde_Catalyst;
+ public static ItemStack Formaldehyde_Catalyst_Stack;
+
+ public RocketFuels() {
+ super(true);
+ }
public static void createKerosene(){
-
-
- FluidStack fuelA = FluidUtils.getFluidStack("diesel", 300);
- FluidStack fuelB = FluidUtils.getFluidStack("fuel", 300);
-
-
+ FluidStack fuelA = FluidUtils.getFluidStack("diesel", 3000);
+ FluidStack fuelB = FluidUtils.getFluidStack("fuel", 3000);
if (fuelA != null){
//GT_Values.RA.addDistilleryRecipe(23, fuelA, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false);
- GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(Kerosene, 100), 200, 64, false);
+ GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(Kerosene, 1800), 200, 64, false);
}
if (fuelA == null && fuelB != null){
//GT_Values.RA.addDistilleryRecipe(23, fuelB, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false);
- GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelB, FluidUtils.getFluidStack(Kerosene, 100), 200, 64, false);
+ GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelB, FluidUtils.getFluidStack(Kerosene, 1800), 200, 64, false);
}
}
public static void createRP1(){
- FluidStack fuelA = FluidUtils.getFluidStack(Kerosene, 100);
+ FluidStack fuelA = FluidUtils.getFluidStack(Kerosene, 1000);
if (fuelA != null){
- //GT_Values.RA.addDistilleryRecipe(23, fuelA, FluidUtils.getFluidStack(RP1, 25), 400, 120, false);
- GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(RP1, 50), 400, 120, false);
+ GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(RP1, 750), 20 * 40, 120, false);
}
}
public static void createNitrogenTetroxide(){
- CORE.RA.addDehydratorRecipe(
+ /*CORE.RA.addDehydratorRecipe(
new ItemStack[]{
ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 4)
},
@@ -94,42 +96,78 @@ public class RocketFuels extends ItemPackage {
},
new int[]{100, 50},
20*16,
- 500);
+ 500);*/
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 16),
+ ItemUtils.getSimpleStack(GenericChem.mOrangeCatalyst, 0),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("nitricacid", 4000)
+ },
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallAsh", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Nitrogen_Tetroxide, 3000),
+ },
+ new int[]{100, 100, 50, 50},
+ 20*30,
+ MaterialUtils.getVoltageForTier(3),
+ 2);
+
+
}
- public static void createHydrazine(){
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 2),
- CI.getNumberedCircuit(23),
- FluidUtils.getFluidStack("fluid.hydrogenperoxide", 2000),
- FluidUtils.getFluidStack(Hydrazine, 2000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2),
- 20*32);
-
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogenPeroxide", 2),
- CI.getNumberedCircuit(23),
- FluidUtils.getFluidStack("ammonia", 2000),
- FluidUtils.getFluidStack(Hydrazine, 2000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2),
- 20*32);
+ public static void createHydrazine(){
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(21)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("fluid.hydrogenperoxide", 2000),
+ FluidUtils.getFluidStack("ammonia", 2000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Hydrazine, 4000),
+
+ },
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(2),
+ 1);
+
}
public static void createMonomethylhydrazine(){
- CORE.RA.addDehydratorRecipe(
+
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrazine", 2),
+ CI.getNumberedCircuit(21),
ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 2)
},
- FluidUtils.getFluidStack("hydrogen", 2000),
- FluidUtils.getFluidStack(Monomethylhydrazine, 3000),
+ new FluidStack[] {
+ FluidUtils.getFluidStack("hydrogen", 2000),
+ FluidUtils.getFluidStack(Hydrazine, 2000),
+ },
new ItemStack[] {
- CI.emptyCells(2)
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Monomethylhydrazine, 4000),
+
},
- new int[] {10000},
- 20*48,
- 240);
+ 20 * 48,
+ 240,
+ 2);
}
@@ -143,14 +181,26 @@ public class RocketFuels extends ItemPackage {
CORE.RA.addAdvancedFreezerRecipe(new ItemStack[] {}, new FluidStack[] {FluidUtils.getFluidStack("hydrogen", 300)}, new FluidStack[] {FluidUtils.getFluidStack(Liquid_Hydrogen, 300)}, new ItemStack[] {}, new int[] {}, 20*4, 540, 0);
}
- private static void createHydratedAmmoniumNitrateSlurry() {
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 8),
- ItemUtils.getItemStackOfAmountFromOreDict("cellNitricAcid", 8),
- null,
- FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 22*144),
- null,
- 48*16);
+ private static void createHydratedAmmoniumNitrateSlurry() {
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(21),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("ammonia", 4000),
+ FluidUtils.getFluidStack("nitricacid", 4000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 8000),
+
+ },
+ 20 * 60,
+ 120,
+ 1);
}
@@ -162,22 +212,32 @@ public class RocketFuels extends ItemPackage {
new ItemStack[] {ItemUtils.getSimpleStack(Ammonium_Nitrate_Dust, 8)},
new int[] {10000},
90*20,
- 500);
+ 480);
}
- private static void createFormaldehyde() {
- CORE.RA.addDehydratorRecipe(
+ private static void createFormaldehyde() {
+
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
- ItemUtils.getSimpleStack(Formaldehyde_Catalyst, 1),
- ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 16)
+ CI.getNumberedBioCircuit(21),
+ ItemUtils.getSimpleStack(Formaldehyde_Catalyst, 0),
},
- FluidUtils.getFluidStack("methanol", 32000),
- FluidUtils.getFluidStack(Formaldehyde, 8000),
- new ItemStack[] {ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 16)},
- new int[] {10000},
- 90*20,
- 120);
+ new FluidStack[] {
+ FluidUtils.getFluidStack("oxygen", 16000),
+ FluidUtils.getFluidStack("methanol", 32000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Formaldehyde, 8000),
+
+ },
+ 20 * 90,
+ 120,
+ 1);
+
}
private static void createFormaldehydeCatalyst() {
@@ -194,15 +254,29 @@ public class RocketFuels extends ItemPackage {
}
- private static void createUnsymmetricalDimethylhydrazine() {
- CORE.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrazine", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("cellFormaldehyde", 2),
- FluidUtils.getFluidStack("hydrogen", 4000),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 1000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2),
- 20*60);
+ private static void createUnsymmetricalDimethylhydrazine() {
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(21),
+ ItemUtils.getSimpleStack(Formaldehyde_Catalyst, 0),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("fluid.hydrazine", 2000),
+ FluidUtils.getFluidStack(Formaldehyde, 2000),
+ FluidUtils.getFluidStack("hydrogen", 4000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000),
+ FluidUtils.getWater(2000)
+
+ },
+ 20 * 60,
+ 120,
+ 2);
}
@@ -275,152 +349,93 @@ public class RocketFuels extends ItemPackage {
private static void createRocketFuels() {
- //Done
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellLiquidOxygen", 2),
- FluidUtils.getFluidStack(RP1, 500),
- FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 100),
- CI.emptyCells(2),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*32,
- 480);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellRP1", 1),
- FluidUtils.getFluidStack(Liquid_Oxygen, 4000),
- FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 200),
- CI.emptyCells(1),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*64,
- 480);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellNitrogenTetroxide", 2),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 1750),
- CI.emptyCells(2),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*48,
- 480);
-
- ItemStack aCell11dimethylhydrazine = ItemUtils.getItemStackOfAmountFromOreDict("cell1,1Dimethylhydrazine", 2);
- if (ItemUtils.checkForInvalidItems(aCell11dimethylhydrazine)) {
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- aCell11dimethylhydrazine,
- FluidUtils.getFluidStack(Nitrogen_Tetroxide, 2000),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 1750),
- CI.emptyCells(2),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*48,
- 480);
- }
- else {
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellUnsymmetricalDimethylhydrazine", 2),
- FluidUtils.getFluidStack(Nitrogen_Tetroxide, 2000),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 1750),
- CI.emptyCells(2),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*48,
- 480);
- }
+ // RP1_Plus_Liquid_Oxygen
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Liquid_Oxygen, 2000),
+ FluidUtils.getFluidStack(RP1, 500),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 1500),
+ },
+ 20 * 15,
+ 240,
+ 3);
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrazine", 4),
- FluidUtils.getFluidStack("methanol", 6000),
- FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 10000),
- CI.emptyCells(4),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*100,
- 240);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellMethanol", 6),
- FluidUtils.getFluidStack(Hydrazine, 4000),
- FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 10000),
- CI.emptyCells(6),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*100,
- 240);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellNitricAcid", 1),
- FluidUtils.getFluidStack(Monomethylhydrazine, 1000),
- FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 2000),
- CI.emptyCells(1),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*32,
- 240);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellMonomethylhydrazine", 1),
- FluidUtils.getFluidStack("nitricacid", 1000),
- FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 2000),
- CI.emptyCells(1),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*32,
- 240);
+
+ // Dense_Hydrazine_Mix
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(2),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Hydrazine, 4000),
+ FluidUtils.getFluidStack("methanol", 6000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 10000),
+
+ },
+ 20 * 30,
+ 240,
+ 3);
+
+
+ // Monomethylhydrazine_Plus_Nitric_Acid
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(3),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Monomethylhydrazine, 1000),
+ FluidUtils.getFluidStack("nitricacid", 1000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 3000),
+
+ },
+ 20 * 45,
+ 480,
+ 3);
+
+
+ // Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(4),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000),
+ FluidUtils.getFluidStack(Nitrogen_Tetroxide, 2000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 4000),
+
+ },
+ 20 * 60,
+ 480,
+ 3);
}
@Override
public String errorMessage() {
- // TODO Auto-generated method stub
return "Bad Rocket Fuel Science!";
}
@@ -451,218 +466,9 @@ public class RocketFuels extends ItemPackage {
}
@Override
- public boolean onLoadComplete(FMLLoadCompleteEvent event) {
-
-
- if (MathUtils.randInt(1, 2) > 0) {
- return false;
- }
-
-
- Materials aMaterial_Chloramine = MaterialUtils.getMaterial("Chloramine");
- Materials aMaterial_Dimethylamine = MaterialUtils.getMaterial("Dimethylamine");
- Materials aMaterial_DilutedHydrochloricAcid = MaterialUtils.getMaterial("DilutedHydrochloricAcid");
- Materials aMaterial_NitrogenDioxide = MaterialUtils.getMaterial("NitrogenDioxide");
- Materials aMaterial_DinitrogenTetroxide = MaterialUtils.getMaterial("DinitrogenTetroxide");
- Materials aMaterial_Dimethylhydrazine = MaterialUtils.getMaterial("Dimethylhydrazine");
-
- Materials aMaterial_Oxygen = Materials.Oxygen;
- Materials aMaterial_Water = Materials.Water;
- Materials aMaterial_HypochlorousAcid = MaterialUtils.getMaterial("HypochlorousAcid");
- Materials aMaterial_Ammonia = MaterialUtils.getMaterial("Ammonia");
- Materials aMaterial_Methanol = MaterialUtils.getMaterial("Methanol");
-
- if (aMaterial_Chloramine == null || aMaterial_Dimethylamine == null || aMaterial_DilutedHydrochloricAcid == null
- || aMaterial_Dimethylhydrazine == null || aMaterial_NitrogenDioxide == null || aMaterial_DinitrogenTetroxide == null
- || aMaterial_HypochlorousAcid == null || aMaterial_Ammonia == null || aMaterial_Methanol == null) {
- return false;
- }
-
-
- MaterialHelper.getCells(aMaterial_Water, 1);
-
- ItemStack aCellEmpty = CI.emptyCells(1);
- ItemStack aCellWater = MaterialHelper.getCells(aMaterial_Water, 1);
- ItemStack aCellOxygen = MaterialHelper.getCells(aMaterial_Oxygen, 1);
- ItemStack aCellChloramine = MaterialHelper.getCells(aMaterial_Chloramine, 1);
- ItemStack aCellDimethylamine = MaterialHelper.getCells(aMaterial_Dimethylamine, 1);
- ItemStack aCellDilutedHydrochloricAcid = MaterialHelper.getCells(aMaterial_DilutedHydrochloricAcid, 1);
- ItemStack aCellNitrogenDioxide = MaterialHelper.getCells(aMaterial_NitrogenDioxide, 1);
- ItemStack aCellDinitrogenTetroxide = MaterialHelper.getCells(aMaterial_DinitrogenTetroxide, 1);
- ItemStack aCellDimethylhydrazine = MaterialHelper.getCells(aMaterial_Dimethylhydrazine, 1);
-
-
-
-
-
-
- GT_Recipe aChemReactor_1 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_2 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
-
-
-
- GT_Recipe aChemReactor_Basic_1 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_Basic_2 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_Basic_3 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_Basic_4 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
-
-
-
-
-
-
-
-
-
-
-
-
- GT_Recipe aChemReactor_Adv_1 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_Adv_2 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
-
-
-
- //RecipeUtils.removeGtRecipe(aChemReactor_Basic_1, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
- //RecipeUtils.removeGtRecipe(aChemReactor_Basic_1, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
- //RecipeUtils.removeGtRecipe(aChemReactor_Basic_1, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
- //RecipeUtils.removeGtRecipe(aChemReactor_Basic_1, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
-
-
-
-
-
-
- /* GT_Values.RA.addChemicalRecipe( Materials.Chloramine.getCells(2), GT_Utility.getIntegratedCircuit(1), Materials.Dimethylamine.getGas(5000), Materials.Dimethylhydrazine.getFluid(6000), Materials.DilutedHydrochloricAcid.getCells(1), Materials.Empty.getCells(1), 960, 480);
- GT_Values.RA.addChemicalRecipe( Materials.Dimethylamine.getCells(5), GT_Utility.getIntegratedCircuit(1), Materials.Chloramine.getFluid(2000), Materials.Dimethylhydrazine.getFluid(6000), Materials.DilutedHydrochloricAcid.getCells(1), Materials.Empty.getCells(4), 960, 480);
- GT_Values.RA.addChemicalRecipeForBasicMachineOnly(Materials.Chloramine.getCells(2), Materials.Empty.getCells(4), Materials.Dimethylamine.getGas(5000), Materials.DilutedHydrochloricAcid.getFluid(1000), Materials.Dimethylhydrazine.getCells(6), GT_Values.NI, 960, 480);
- GT_Values.RA.addChemicalRecipeForBasicMachineOnly(Materials.Dimethylamine.getCells(5), Materials.Empty.getCells(1), Materials.Chloramine.getFluid(2000), Materials.DilutedHydrochloricAcid.getFluid(1000), Materials.Dimethylhydrazine.getCells(6), GT_Values.NI, 960, 480);
- GT_Values.RA.addChemicalRecipeForBasicMachineOnly(Materials.Dimethylamine.getCells(5), Materials.Chloramine.getCells(2), Materials.Chloramine.getFluid(2000), Materials.DilutedHydrochloricAcid.getFluid(1000), Materials.Dimethylhydrazine.getCells(6), Materials.DilutedHydrochloricAcid.getCells(1), 960, 480);
- GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(24)}, new FluidStack[]{Materials.HypochlorousAcid.getFluid(3000), Materials.Ammonia.getGas(8000), Materials.Methanol.getFluid(12000)}, new FluidStack[]{Materials.Dimethylhydrazine.getFluid(12000), Materials.DilutedHydrochloricAcid.getFluid(2000), Materials.Water.getFluid(9000)}, null, 1040, 480);
-
- GT_Values.RA.addChemicalRecipe(GT_Utility.getIntegratedCircuit(2), GT_Values.NI, Materials.NitrogenDioxide.getGas(1000), Materials.DinitrogenTetroxide.getGas(1000), GT_Values.NI, 640);
- GT_Values.RA.addChemicalRecipe(Materials.NitrogenDioxide.getCells(1), GT_Utility.getIntegratedCircuit(2), GT_Values.NF, Materials.DinitrogenTetroxide.getGas(1000), Materials.Empty.getCells(1), 640);
- GT_Values.RA.addChemicalRecipe(Materials.NitrogenDioxide.getCells(1), GT_Utility.getIntegratedCircuit(12), GT_Values.NF, GT_Values.NF, Materials.DinitrogenTetroxide.getCells(1), 640);
- GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(23)}, new FluidStack[]{Materials.Ammonia.getGas(8000), Materials.Oxygen.getGas(7000)}, new FluidStack[]{Materials.DinitrogenTetroxide.getGas(6000), Materials.Water.getFluid(9000)}, null, 480, 30);
- GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(23)}, new FluidStack[]{Materials.Nitrogen.getGas(2000), Materials.Hydrogen.getGas(6000), Materials.Oxygen.getGas(7000)}, new FluidStack[]{Materials.DinitrogenTetroxide.getGas(6000), Materials.Water.getFluid(9000)}, null, 1100, 480);
-
- GT_Values.RA.addMixerRecipe(Materials.Dimethylhydrazine.getCells(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, Materials.DinitrogenTetroxide.getGas(1000), new FluidStack(ItemList.sRocketFuel, 2000), Materials.Empty.getCells(1), 60, 16);
- GT_Values.RA.addMixerRecipe(Materials.DinitrogenTetroxide.getCells(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, Materials.Dimethylhydrazine.getFluid(1000), new FluidStack(ItemList.sRocketFuel, 2000), Materials.Empty.getCells(1), 60, 16);
- GT_Values.RA.addMixerRecipe(Materials.Dimethylhydrazine.getCells(2), GT_Values.NI, GT_Values.NI, GT_Values.NI, Materials.Oxygen.getGas(1000), new FluidStack(ItemList.sRocketFuel, 3000), Materials.Empty.getCells(2), 60, 16);
- GT_Values.RA.addMixerRecipe(Materials.Oxygen.getCells(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, Materials.Dimethylhydrazine.getFluid(2000), new FluidStack(ItemList.sRocketFuel, 3000), Materials.Empty.getCells(1), 60, 16);
-
-
- */
-
-
-
-
-
-
-
-
-
- //Get Rocket Fuel
-
- //Find recipes using default values
-
- //Remove
-
- //Rebake map
-
- return true;
- };
-
- @Override
public void items() {
Formaldehyde_Catalyst = ItemUtils.generateSpecialUseDusts("FormaldehydeCatalyst", "Formaldehyde Catalyst", "Fe16V1", Utils.rgbtoHexValue(25, 5, 25))[0];
+ Formaldehyde_Catalyst_Stack = ItemUtils.getSimpleStack(Formaldehyde_Catalyst);
}
@Override
@@ -674,7 +480,7 @@ public class RocketFuels extends ItemPackage {
//Register default fluids
Diesel = MaterialUtils.getMaterial("Fuel", "Diesel").getFluid(1).getFluid();
-
+
// 5.08 Compat
if (!FluidUtils.doesFluidExist("liquid_heavy_oil")){
Oil_Heavy = FluidUtils.generateFluidNoPrefix("liquid_heavy_oil", "Heavy Oil", 200, new short[]{10, 10, 10, 100});
@@ -763,7 +569,7 @@ public class RocketFuels extends ItemPackage {
}
}
- Formaldehyde = FluidUtils.generateFluidNonMolten("Formaldehyde", "Formaldehyde", -92, new short[]{150, 75, 150, 100}, null, null);
+ Formaldehyde = FluidUtils.generateFluidNonMolten("Formaldehyde", "Formaldehyde", 185, new short[]{150, 75, 150, 100}, null, null);
Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide = FluidUtils.generateFluidNonMolten("RocketFuelMixA", "H8N4C2O4 Rocket Fuel", -185, new short[]{50, 220, 50, 100}, null, null);
RP1_Plus_Liquid_Oxygen = FluidUtils.generateFluidNonMolten("RocketFuelMixB", "Rp-1 Rocket Fuel", -250, new short[]{250, 50, 50, 100}, null, null);
@@ -773,6 +579,469 @@ public class RocketFuels extends ItemPackage {
}
+ @Override
+ public boolean onLoadComplete(FMLLoadCompleteEvent event) {
+
+ Logger.INFO("Trying to remove GT recipes for '1,1dimethylhydrazine' && 'rocket_fuel' if they exist.");
+ /*if (FluidRegistry.isFluidRegistered("1,1dimethylhydrazine")) {
+
+ // Try Remove recipes for GT/EIO Rocket Fuel Cells
+ if (FluidRegistry.isFluidRegistered("rocket_fuel")) {
+
+ // Old Recipe
+ if (MaterialUtils.doesMaterialExist("NitrogenDioxide")) {
+ GT_Recipe aOldRecipe = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellNitrogenDioxide", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 3),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("air", 500)
+ },
+ 388);
+ boolean aDidRemove = removeRecipe(aOldRecipe, GT_Recipe_Map.sChemicalRecipes);
+ Logger.INFO("Removed Old Recipe for Rocket Fuel: "+aDidRemove);
+ }
+
+ // Simple Recipes
+ if (MaterialUtils.doesMaterialExist("Ammonia") && MaterialUtils.doesMaterialExist("Methanol")) {
+
+ GT_Recipe aSimpleRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellMethanol", 4),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chlorine", 1000)
+ },
+ 480);
+ GT_Recipe aSimpleRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChlorine", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellMethanol", 4),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("ammonia", 3000)
+ },
+ 480);
+ GT_Recipe aSimpleRecipe3 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChlorine", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("methanol", 4000)
+ },
+ 480);
+
+ boolean aDidRemove1 = removeRecipe(aSimpleRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove2 = removeRecipe(aSimpleRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove3 = removeRecipe(aSimpleRecipe3, GT_Recipe_Map.sChemicalRecipes);
+ Logger.INFO("Removed Simple Recipe 1 for Rocket Fuel: "+aDidRemove1);
+ Logger.INFO("Removed Simple Recipe 2 for Rocket Fuel: "+aDidRemove2);
+ Logger.INFO("Removed Simple Recipe 3 for Rocket Fuel: "+aDidRemove3);
+ }
+
+
+ // Complex Recipes I
+ if (MaterialUtils.doesMaterialExist("Dimethylhydrazine") && MaterialUtils.doesMaterialExist("DinitrogenTetroxide")) {
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylhydrazine", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dinitrogentetroxide", 1000)
+ },
+ 16);
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDinitrogenTetroxide", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylhydrazine", 1000)
+ },
+ 16);
+
+ GT_Recipe aAdvRecipe3 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylhydrazine", 2),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("oxygen", 1000)
+ },
+ 16);
+ GT_Recipe aAdvRecipe4 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylhydrazine", 2000)
+ },
+ 16);
+
+ boolean aDidRemove1 = removeRecipe(aAdvRecipe1, GT_Recipe_Map.sMixerRecipes);
+ boolean aDidRemove2 = removeRecipe(aAdvRecipe2, GT_Recipe_Map.sMixerRecipes);
+ boolean aDidRemove3 = removeRecipe(aAdvRecipe3, GT_Recipe_Map.sMixerRecipes);
+ boolean aDidRemove4 = removeRecipe(aAdvRecipe4, GT_Recipe_Map.sMixerRecipes);
+ Logger.INFO("Removed Complex Recipe 1 for Rocket Fuel: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 2 for Rocket Fuel: "+aDidRemove2);
+ Logger.INFO("Removed Complex Recipe 3 for Rocket Fuel: "+aDidRemove3);
+ Logger.INFO("Removed Complex Recipe 4 for Rocket Fuel: "+aDidRemove4);
+ }
+ }
+
+
+ // Complex Recipes II
+ if (MaterialUtils.doesMaterialExist("Dimethylhydrazine")) {
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylhydrazine", 2),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("oxygen", 1000)
+ },
+ 16);
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylhydrazine", 2000)
+ },
+ 16);
+
+ boolean aDidRemove1 = removeRecipe(aAdvRecipe1, GT_Recipe_Map.sMixerRecipes);
+ boolean aDidRemove2 = removeRecipe(aAdvRecipe2, GT_Recipe_Map.sMixerRecipes);
+ Logger.INFO("Removed Complex Recipe 5 for Rocket Fuel: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 6 for Rocket Fuel: "+aDidRemove2);
+ }
+
+ if (MaterialUtils.doesMaterialExist("Chloramine") && MaterialUtils.doesMaterialExist("Dimethylamine")) {
+ GT_Recipe aSimpleRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 2),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylamine", 5000)
+ },
+ 480);
+ GT_Recipe aSimpleRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 5),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 2000)
+ },
+ 16);
+
+
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 2),
+ CI.emptyCells(4)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylamine", 5000)
+ },
+ 480);
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 5),
+ CI.emptyCells(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 2000)
+ },
+ 16);
+ GT_Recipe aAdvRecipe3 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 5),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 2000)
+ },
+ 480);
+
+ boolean aDidRemove1 = removeRecipe(aSimpleRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove2 = removeRecipe(aSimpleRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove3 = removeRecipe(aAdvRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove4 = removeRecipe(aAdvRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove5 = removeRecipe(aAdvRecipe3, GT_Recipe_Map.sChemicalRecipes);
+ Logger.INFO("Removed Complex Recipe 1 for 1,1dimethylhydrazine: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 2 for 1,1dimethylhydrazine: "+aDidRemove2);
+ Logger.INFO("Removed Complex Recipe 3 for 1,1dimethylhydrazine: "+aDidRemove3);
+ Logger.INFO("Removed Complex Recipe 4 for 1,1dimethylhydrazine: "+aDidRemove4);
+ Logger.INFO("Removed Complex Recipe 5 for 1,1dimethylhydrazine: "+aDidRemove5);
+
+ }
+
+ if (MaterialUtils.doesMaterialExist("Chloramine") && MaterialUtils.doesMaterialExist("Dimethylamine")) {
+ GT_Recipe aSimpleRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 1),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylamine", 1000)
+ },
+ 480);
+ GT_Recipe aSimpleRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 1),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 1000)
+ },
+ 16);
+
+
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 1),
+ GT_Utility.getIntegratedCircuit(11)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylamine", 1000)
+ },
+ 480);
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 1),
+ GT_Utility.getIntegratedCircuit(11)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 1000)
+ },
+ 16);
+
+ boolean aDidRemove1 = removeRecipe(aSimpleRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove2 = removeRecipe(aSimpleRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove3 = removeRecipe(aAdvRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove4 = removeRecipe(aAdvRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ Logger.INFO("Removed Complex Recipe 5 for 1,1dimethylhydrazine: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 6 for 1,1dimethylhydrazine: "+aDidRemove2);
+ Logger.INFO("Removed Complex Recipe 7 for 1,1dimethylhydrazine: "+aDidRemove3);
+ Logger.INFO("Removed Complex Recipe 8 for 1,1dimethylhydrazine: "+aDidRemove4);
+
+ }
+
+ if (MaterialUtils.doesMaterialExist("HypochlorousAcid") && MaterialUtils.doesMaterialExist("Ammonia") && MaterialUtils.doesMaterialExist("Methanol")) {
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(24),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("hypochlorousacid", 3000),
+ FluidUtils.getFluidStack("ammonia", 8000),
+ FluidUtils.getFluidStack("methanol", 12000)
+ },
+ 480);
+
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(24),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("hypochlorousacid", 1000),
+ FluidUtils.getFluidStack("ammonia", 1000),
+ FluidUtils.getFluidStack("methanol", 2000)
+ },
+ 480);
+
+ boolean aDidRemove1 = removeRecipe(aAdvRecipe1, StaticFields59.getLargeChemicalReactorRecipeMap());
+ boolean aDidRemove2 = removeRecipe(aAdvRecipe2, StaticFields59.getLargeChemicalReactorRecipeMap());
+ Logger.INFO("Removed Complex Recipe 9 for 1,1dimethylhydrazine: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 10 for 1,1dimethylhydrazine: "+aDidRemove2);
+
+
+ }
+ }*/
+
+ // Try Butcher recipes manually
+
+ //1,1Dimethylhydrazine
+ if (FluidRegistry.isFluidRegistered("1,1dimethylhydrazine")) {
+ Logger.INFO("Making sure all Chemical Reactor recipes for 1,1dimethylhydrazine have been removed.");
+ AutoMap<GT_Recipe> aToRemoveSingle = new AutoMap<GT_Recipe>();
+ ItemStack aUnsymCell = ItemUtils.getItemStackOfAmountFromOreDict("cell1,1Dimethylhydrazine", 1);
+ FluidStack aUnsymFluid = FluidUtils.getFluidStack("1,1dimethylhydrazine", 1);
+ recipe : for (GT_Recipe aRecipeSingleBlock : GT_Recipe_Map.sChemicalRecipes.mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mOutputs != null && aRecipeSingleBlock.mOutputs.length > 0) {
+ for (ItemStack aOutputItem : aRecipeSingleBlock.mOutputs) {
+ ItemStack aTemp = aOutputItem.copy();
+ aTemp.stackSize = 1;
+ if (GT_Utility.areStacksEqual(aTemp, aUnsymCell)) {
+ aToRemoveSingle.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aUnsymFluid)) {
+ aToRemoveSingle.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ // Handle Multi Also
+ AutoMap<GT_Recipe> aToRemoveMulti = new AutoMap<GT_Recipe>();
+ recipe : for (GT_Recipe aRecipeSingleBlock : StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mOutputs != null && aRecipeSingleBlock.mOutputs.length > 0) {
+ for (ItemStack aOutputItem : aRecipeSingleBlock.mOutputs) {
+ ItemStack aTemp = aOutputItem.copy();
+ aTemp.stackSize = 1;
+ if (GT_Utility.areStacksEqual(aTemp, aUnsymCell)) {
+ aToRemoveMulti.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aUnsymFluid)) {
+ aToRemoveMulti.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ if (!aToRemoveSingle.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" single block recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveSingle) {
+ GT_Recipe_Map.sChemicalRecipes.mRecipeList.remove(remove);
+ }
+ }
+ if (!aToRemoveMulti.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" multiblock recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveMulti) {
+ StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList.remove(remove);
+ }
+ }
+ }
+
+
+ if (FluidRegistry.isFluidRegistered("rocket_fuel")) {
+ Logger.INFO("Making sure all Mixer recipes for rocket_fuel have been removed.");
+ AutoMap<GT_Recipe> aToRemoveSingle = new AutoMap<GT_Recipe>();
+ FluidStack aRocketFluid = FluidUtils.getFluidStack("rocket_fuel", 1);
+ recipe : for (GT_Recipe aRecipeSingleBlock : GT_Recipe_Map.sMixerRecipes.mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aRocketFluid)) {
+ aToRemoveSingle.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ if (!aToRemoveSingle.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveSingle) {
+ GT_Recipe_Map.sMixerRecipes.mRecipeList.remove(remove);
+ }
+ aToRemoveSingle.clear();
+ }
+
+ Logger.INFO("Making sure all Chemical Reactor recipes for rocket_fuel have been removed.");
+ recipe : for (GT_Recipe aRecipeSingleBlock : GT_Recipe_Map.sChemicalRecipes.mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aRocketFluid)) {
+ aToRemoveSingle.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ // Handle Multi Also
+ AutoMap<GT_Recipe> aToRemoveMulti = new AutoMap<GT_Recipe>();
+ recipe : for (GT_Recipe aRecipeSingleBlock : StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aRocketFluid)) {
+ aToRemoveMulti.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ if (!aToRemoveSingle.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" single block recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveSingle) {
+ GT_Recipe_Map.sChemicalRecipes.mRecipeList.remove(remove);
+ }
+ }
+ if (!aToRemoveMulti.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" multiblock recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveMulti) {
+ StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList.remove(remove);
+ }
+ }
+
+ }
+
+
+
+ Logger.INFO("Finished clean-up of GT Rocket Fuel Recipes.");
+ return true;
+ }
+
+ private static Recipe_GT getHalfBakedRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, int aEU) {
+ return new Recipe_GT(false, aInputs, null, null, null, aFluidInputs, null, 0, aEU, 0);
+
+ }
+
+ public static boolean removeRecipe(GT_Recipe aRecipe, GT_Recipe_Map aMap) {
+ if (aMap != GT_Recipe_Map.sChemicalRecipes) {
+ GT_Recipe aFoundRecipe = aMap.findRecipe(null, false, true, aRecipe.mEUt, aRecipe.mFluidInputs, aRecipe.mInputs);
+ boolean aSingle = false;
+ if (aFoundRecipe != null) {
+ Logger.INFO("Found Single Block Recipe, removing.");
+ aSingle = aMap.mRecipeList.remove(aFoundRecipe);
+ Logger.INFO("Success? "+aSingle);
+ }
+ return aSingle;
+ }
+ else {
+ GT_Recipe aFoundRecipe = aMap.findRecipe(null, false, true, aRecipe.mEUt, aRecipe.mFluidInputs, aRecipe.mInputs);
+ GT_Recipe aFoundRecipe2 = StaticFields59.getLargeChemicalReactorRecipeMap().findRecipe(null, false, true, aRecipe.mEUt, aRecipe.mFluidInputs, aRecipe.mInputs);
+ boolean aSingle = false;
+ boolean aMulti = false;
+ if (aFoundRecipe != null) {
+ Logger.INFO("Found Single Block Recipe, removing.");
+ aSingle = GT_Recipe_Map.sChemicalRecipes.mRecipeList.remove(aFoundRecipe);
+ Logger.INFO("Success? "+aSingle);
+ }
+ if (aFoundRecipe2 != null) {
+ Logger.INFO("Found Multiblock Recipe, removing.");
+ aMulti = StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList.remove(aFoundRecipe2);
+ Logger.INFO("Success? "+aSingle);
+ }
+ return aSingle && aMulti;
+ }
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java b/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java
index 208fecd57c..7fb5f207f6 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java
@@ -19,7 +19,7 @@ public class ItemGenericChemBase extends Item {
final protected IIcon base[];
- final private int aMetaSize = 7;
+ final private int aMetaSize = 9;
/*
* 0 - Red Metal Catalyst //FeCu
@@ -29,7 +29,8 @@ public class ItemGenericChemBase extends Item {
* 4 - Purple Metal Catalyst //IrIdium Ruthenium
* 5 - Brown Metal Catalyst //NiAl
* 6 - Pink Metal Catalyst //PtRh
- *
+ * 7 - Alumina Grinding Ball
+ * 8 - Soapstone Grinding Ball
*/
public ItemGenericChemBase() {
diff --git a/src/Java/gtPlusPlus/core/item/food/BaseItemMetaFood.java b/src/Java/gtPlusPlus/core/item/food/BaseItemMetaFood.java
new file mode 100644
index 0000000000..94d5a8e80f
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/food/BaseItemMetaFood.java
@@ -0,0 +1,431 @@
+package gtPlusPlus.core.item.food;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
+import net.minecraft.item.ItemStack;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+public class BaseItemMetaFood extends ItemFood {
+
+ private static final HashMap<Integer, IIcon> mIconMap = new HashMap<Integer, IIcon>();
+ private static int mTotalMetaItems = 0;
+
+ /*
+ * 0 - Raw Human Meat
+ * 1 - Cooked Human Meat
+ * 2 - Raw Horse Meat
+ * 3 - Cooked Horse Meat
+ * 4 - Raw Wolf Meat
+ * 5 - Cooked Wolf Meat
+ * 6 - Raw Ocelot Meat
+ * 7 - Cooked Ocelot Meat
+ * 8 - Blaze Flesh
+ */
+
+ //listAllmeatraw
+ //listAllmeatcooked
+
+ public static void registerMetaFoods() {
+ registerNewMetaFood(0, "I wouldn't eat this unless I was starving", 2, 0, 64, getPotionEffectPackage(new EffectWeaknessModerate(80), new EffectSlownessModerate(80)), getOreDictNamesAsArrayList("listAllmeatraw"));
+ registerNewMetaFood(1, "Doesn't look any better cooked", 4, 1, 64, getPotionEffectPackage(new EffectWeaknessBasic(50), new EffectSlownessBasic(50)), getOreDictNamesAsArrayList("listAllmeatcooked"));
+ registerNewMetaFood(2, "", 2, 0, 64, getPotionEffectPackage(new EffectWeaknessBasic(30), new EffectSlownessBasic(30)), getOreDictNamesAsArrayList("listAllmeatraw"));
+ registerNewMetaFood(3, "", 4, 1, 64, getOreDictNamesAsArrayList("listAllmeatcooked"));
+ registerNewMetaFood(4, "", 2, 0, 64, getPotionEffectPackage(new EffectWeaknessBasic(25), new EffectSlownessBasic(30)), getOreDictNamesAsArrayList("listAllmeatraw"));
+ registerNewMetaFood(5, "", 4, 1, 64, getOreDictNamesAsArrayList("listAllmeatcooked"));
+ registerNewMetaFood(6, "", 2, 0, 64, getPotionEffectPackage(new EffectWeaknessBasic(30), new EffectSlownessBasic(25)), getOreDictNamesAsArrayList("listAllmeatraw"));
+ registerNewMetaFood(7, "", 4, 1, 64, getOreDictNamesAsArrayList("listAllmeatcooked"));
+ registerNewMetaFood(8, "Warm to the touch", EnumRarity.uncommon, 4, 1, 64, new AutoMap<PotionEffectPackage>(), new setOnFire(), getOreDictNamesAsArrayList("listAllmeatcooked"));
+ }
+
+ private static final HashMap<Integer, Integer> mMaxStackSizeMap = new HashMap<Integer, Integer>();
+ private static final HashMap<Integer, String> mTooltipMap = new HashMap<Integer, String>();
+ private static final HashMap<Integer, EnumRarity> mRarityMap = new HashMap<Integer, EnumRarity>();
+ private static final HashMap<Integer, Integer> mHealAmountMap = new HashMap<Integer, Integer>();
+ private static final HashMap<Integer, Float> mSaturationAmountMap = new HashMap<Integer, Float>();
+ private static final HashMap<Integer, AutoMap<PotionEffectPackage>> mPotionEffectsMap = new HashMap<Integer, AutoMap<PotionEffectPackage>>();
+ private static final HashMap<Integer, Boolean> mHasSpecialBehaviourMap = new HashMap<Integer, Boolean>();
+ private static final HashMap<Integer, SpecialFoodBehaviour> mSpecialBehaviourMap = new HashMap<Integer, SpecialFoodBehaviour>();
+ private static final HashMap<Integer, ArrayList<String>> mOreDictNames = new HashMap<Integer, ArrayList<String>>();
+
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, new AutoMap<PotionEffectPackage>(), null, new ArrayList<String>());
+ }
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final ArrayList<String> aOreDictNames) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, new AutoMap<PotionEffectPackage>(), null, aOreDictNames);
+ }
+
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final AutoMap<PotionEffectPackage> aPotionEffects) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, new AutoMap<PotionEffectPackage>(), null, new ArrayList<String>());
+ }
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final AutoMap<PotionEffectPackage> aPotionEffects, final ArrayList<String> aOreDictNames) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, aPotionEffects, null, aOreDictNames);
+ }
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, EnumRarity aRarity, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final AutoMap<PotionEffectPackage> aPotionEffects, final SpecialFoodBehaviour aSpecialBehaviour) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, aPotionEffects, null, new ArrayList<String>());
+ }
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, EnumRarity aRarity, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final AutoMap<PotionEffectPackage> aPotionEffects, final SpecialFoodBehaviour aSpecialBehaviour, final ArrayList<String> aOreDictNames) {
+ mTotalMetaItems++;
+ mMaxStackSizeMap.put(aMetaID, aMaxStacksize);
+ mTooltipMap.put(aMetaID, aTooltip);
+ mRarityMap.put(aMetaID, aRarity);
+ mHealAmountMap.put(aMetaID, aHealAmount);
+ mSaturationAmountMap.put(aMetaID, aSaturationModifier);
+ mPotionEffectsMap.put(aMetaID, aPotionEffects);
+ mHasSpecialBehaviourMap.put(aMetaID, (aSpecialBehaviour != null));
+ if (aSpecialBehaviour != null) {
+ mSpecialBehaviourMap.put(aMetaID, aSpecialBehaviour);
+ }
+ mOreDictNames.put(aMetaID, aOreDictNames);
+ }
+
+ public static void registerFoodsToOreDict() {
+ for (int aMetaID=0; aMetaID < mTotalMetaItems; aMetaID++) {
+ ArrayList<String> aOreDictNames = mOreDictNames.get(aMetaID);
+ if (aOreDictNames != null && !aOreDictNames.isEmpty()) {
+ ItemStack aFoodStack = ItemUtils.simpleMetaStack(ModItems.itemMetaFood, aMetaID, 1);
+ for (String aOreName : aOreDictNames) {
+ ItemUtils.addItemToOreDictionary(aFoodStack, aOreName);
+ }
+ }
+ }
+ }
+
+
+ public BaseItemMetaFood() {
+ super(0, 0, false);
+ this.setHasSubtypes(true);
+ this.setNoRepair();
+ this.setMaxStackSize(64);
+ this.setMaxDamage(0);
+ this.setUnlocalizedName("BasicMetaFood");
+ this.setCreativeTab(AddToCreativeTab.tabMisc);
+ GameRegistry.registerItem(this, this.getUnlocalizedName());
+ BaseItemMetaFood.registerMetaFoods();
+ }
+
+ private static final int getMetaKey(ItemStack aStack) {
+ return aStack.getItemDamage();
+ }
+
+ // Heal Amount
+ public int func_150905_g(ItemStack aStack) {
+ return mHealAmountMap.get(getMetaKey(aStack));
+ }
+
+ // Saturation Amount
+ public float func_150906_h(ItemStack aStack) {
+ return mSaturationAmountMap.get(getMetaKey(aStack));
+ }
+
+ // Whether wolves like this food, sadly doesn't support meta items
+ public boolean isWolfsFavoriteMeat() {
+ return false;
+ }
+
+ @Override
+ protected void onFoodEaten(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) {
+ //super.onFoodEaten(stack, world, player);
+ AutoMap<PotionEffectPackage> aPotionEffects = mPotionEffectsMap.get(getMetaKey(aStack));
+ if (!aWorld.isRemote && aPotionEffects != null && aPotionEffects.size() > 0) {
+ for (PotionEffectPackage aFoodEffect : aPotionEffects) {
+ if (MathUtils.randInt(0, 100) <= aFoodEffect.getChance() || aFoodEffect.getChance() == 100) {
+ PotionEffect aEffect = aFoodEffect.getEffect();
+ if (aEffect != null && aEffect.getPotionID() > 0) {
+ aPlayer.addPotionEffect(new PotionEffect(aEffect.getPotionID(), aEffect.getDuration() * 20, aEffect.getAmplifier(), aEffect.getIsAmbient()));
+ }
+ }
+ }
+ }
+
+ boolean aHasEpcialBehaviour = mHasSpecialBehaviourMap.get(getMetaKey(aStack));
+ if (!aWorld.isRemote && aHasEpcialBehaviour) {
+ SpecialFoodBehaviour aBehaviour = mSpecialBehaviourMap.get(getMetaKey(aStack));
+ if (aBehaviour != null) {
+ aBehaviour.doBehaviour(aPlayer);
+ }
+ }
+ }
+
+ @Override
+ public ItemStack onEaten(ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
+ return super.onEaten(aStack, aWorld, aPlayer);
+ }
+
+
+ @Override
+ public int getItemStackLimit(ItemStack aStack) {
+ return mMaxStackSizeMap.get(getMetaKey(aStack));
+ }
+
+
+ @Override
+ public boolean isDamageable() {
+ return false;
+ }
+
+ @Override
+ public boolean shouldRotateAroundWhenRendering() {
+ return super.shouldRotateAroundWhenRendering();
+ }
+
+ @Override
+ public void onUpdate(ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, boolean p_77663_5_) {
+ super.onUpdate(p_77663_1_, p_77663_2_, p_77663_3_, p_77663_4_, p_77663_5_);
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack aStack) {
+ return super.getItemStackDisplayName(aStack);
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) {
+ try {
+ String aTooltip = mTooltipMap.get(getMetaKey(aStack));
+ if (aTooltip != null && aTooltip.length() > 0) {
+ aList.add(aTooltip);
+ }
+ }
+ catch (Throwable t) {
+ t.printStackTrace();
+ }
+ super.addInformation(aStack, p_77624_2_, aList, p_77624_4_);
+ }
+
+ @Override
+ public EnumRarity getRarity(ItemStack aStack) {
+ return mRarityMap.get(getMetaKey(aStack));
+ }
+
+ @Override
+ public boolean requiresMultipleRenderPasses() {
+ return false;
+ }
+
+ @Override
+ public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) {
+ for (int i=0;i<mIconMap.size();i++) {
+ aList.add(ItemUtils.simpleMetaStack(aItem, i, 1));
+ }
+ }
+
+ @Override
+ public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) {
+ return false;
+ }
+
+ @Override
+ public boolean isRepairable() {
+ return false;
+ }
+
+ @Override
+ public boolean isBookEnchantable(ItemStack stack, ItemStack book) {
+ return false;
+ }
+
+ @Override
+ public int getDisplayDamage(ItemStack stack) {
+ return stack.getItemDamage();
+ }
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return false;
+ }
+
+ @Override
+ public int getItemEnchantability() {
+ return 0;
+ }
+
+ @Override
+ public int getItemEnchantability(ItemStack stack) {
+ return 0;
+ }
+
+ @Override
+ public void registerIcons(final IIconRegister u) {
+ for (int i=0;i<mTotalMetaItems;i++) {
+ String aPath = CORE.MODID + ":" + "food/MetaItem1/"+i;
+ mIconMap.put(i, u.registerIcon(aPath));
+ }
+ }
+
+ @Override
+ public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) {
+ return mIconMap.get(damage);
+ }
+
+ @Override
+ public IIcon getIconFromDamage(int damage) {
+ return mIconMap.get(damage);
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack aStack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
+ return mIconMap.get(getMetaKey(aStack));
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack aStack, int pass) {
+ return mIconMap.get(getMetaKey(aStack));
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack) {
+ return super.getUnlocalizedName() + "." + stack.getItemDamage();
+ }
+
+ private static class PotionEffectPackage {
+
+ private final PotionEffect mEffect;
+ private final int mChance;
+
+ private PotionEffectPackage(PotionEffect aEffect, int aChance) {
+ mEffect = aEffect;
+ mChance = aChance;
+ }
+
+ public PotionEffect getEffect() {
+ return this.mEffect;
+ }
+
+ public int getChance() {
+ return this.mChance;
+ }
+
+ }
+
+ private static AutoMap<PotionEffectPackage> getPotionEffectPackage(PotionEffectPackage... aEffects){
+ AutoMap<PotionEffectPackage> aPackage = new AutoMap<PotionEffectPackage>();
+ if (aEffects != null && aEffects.length > 0) {
+ for (PotionEffectPackage aEffect : aEffects) {
+ aPackage.put(aEffect);
+ }
+ }
+ return aPackage;
+ }
+
+ private static ArrayList<String> getOreDictNamesAsArrayList(String... aOreDictNames){
+ ArrayList<String> aPackage = new ArrayList<String>();
+ if (aOreDictNames != null && aOreDictNames.length > 0) {
+ for (String aEffect : aOreDictNames) {
+ aPackage.add(aEffect);
+ }
+ }
+ return aPackage;
+ }
+
+ private static class EffectWeaknessBasic extends PotionEffectPackage {
+
+ protected EffectWeaknessBasic(int aChance) {
+ super(new PotionEffect(Potion.weakness.getId(), 1, 20), aChance);
+ }
+
+ }
+
+ private static class EffectWeaknessModerate extends PotionEffectPackage {
+
+ protected EffectWeaknessModerate(int aChance) {
+ super(new PotionEffect(Potion.weakness.getId(), 2, 40), aChance);
+ }
+
+ }
+
+ private static class EffectWeaknessSevere extends PotionEffectPackage {
+
+ protected EffectWeaknessSevere(int aChance) {
+ super(new PotionEffect(Potion.weakness.getId(), 3, 60), aChance);
+ }
+
+ }
+
+ private static class EffectSlownessBasic extends PotionEffectPackage {
+
+ protected EffectSlownessBasic(int aChance) {
+ super(new PotionEffect(Potion.moveSlowdown.getId(), 1, 20), aChance);
+ }
+
+ }
+
+ private static class EffectSlownessModerate extends PotionEffectPackage {
+
+ protected EffectSlownessModerate(int aChance) {
+ super(new PotionEffect(Potion.moveSlowdown.getId(), 2, 40), aChance);
+ }
+
+ }
+
+ private static class EffectSlownessSevere extends PotionEffectPackage {
+
+ protected EffectSlownessSevere(int aChance) {
+ super(new PotionEffect(Potion.moveSlowdown.getId(), 3, 60), aChance);
+ }
+
+ }
+
+
+
+
+ private static abstract class SpecialFoodBehaviour {
+
+ protected final int mChance;
+
+ public SpecialFoodBehaviour(int aChance) {
+ mChance = aChance;
+ }
+
+ public final void doBehaviour(EntityPlayer aPlayer) {
+ if (aPlayer != null && !aPlayer.worldObj.isRemote) {
+ if (MathUtils.randInt(0, 100) < mChance || mChance == 100) {
+ behaviour(aPlayer);
+ }
+ }
+ }
+
+ protected abstract void behaviour(EntityPlayer aPlayer);
+
+ }
+
+
+ private static class setOnFire extends SpecialFoodBehaviour {
+
+ public setOnFire() {
+ super(100);
+ }
+
+ @Override
+ public void behaviour(EntityPlayer aPlayer) {
+ EntityUtils.setEntityOnFire(aPlayer, 5);
+ }
+
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java b/src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java
index 4abb84a33c..d98b27d163 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java
@@ -4,6 +4,14 @@ import static gtPlusPlus.core.lib.CORE.RANDOM;
import java.util.List;
+import gregtech.api.enums.ItemList;
+import gtPlusPlus.core.entity.item.ItemEntityGiantEgg;
+import gtPlusPlus.core.item.base.BaseItemBurnable;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
@@ -14,16 +22,6 @@ import net.minecraft.util.MathHelper;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
-import gregtech.api.enums.ItemList;
-
-import gtPlusPlus.core.entity.item.ItemEntityGiantEgg;
-import gtPlusPlus.core.item.base.BaseItemBurnable;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.core.util.minecraft.NBTUtils;
-
public class ItemGiantEgg extends BaseItemBurnable {
public ItemGiantEgg(String unlocalizedName, String displayName, CreativeTabs creativeTab, int stackSize, int maxDmg,
@@ -138,7 +136,7 @@ public class ItemGiantEgg extends BaseItemBurnable {
if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && Utils.getGregtechSubVersion() > 28) {
- ItemList xl = Utils.getValueOfItemList("Circuit_Chip_Stemcell", ItemList.Circuit_Elite);
+ ItemList xl = ItemUtils.getValueOfItemList("Circuit_Chip_Stemcell", ItemList.Circuit_Elite);
if (xl != null && xl.hasBeenSet()) {
mCorrectStemCells = xl.get(1);
}
diff --git a/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java b/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
index 94ebb3ffcb..e5c403c503 100644
--- a/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
+++ b/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
@@ -1,15 +1,22 @@
package gtPlusPlus.core.item.init;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-
import gregtech.api.util.GT_OreDictUnificator;
-
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.base.foods.BaseItemFood;
import gtPlusPlus.core.item.base.foods.BaseItemHotFood;
+import gtPlusPlus.core.item.food.BaseItemMetaFood;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import net.minecraft.entity.monster.EntityBlaze;
+import net.minecraft.entity.passive.EntityHorse;
+import net.minecraft.entity.passive.EntityOcelot;
+import net.minecraft.entity.passive.EntityVillager;
+import net.minecraft.entity.passive.EntityWolf;
+import net.minecraft.item.ItemStack;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
public class ItemsFoods {
@@ -40,6 +47,34 @@ public class ItemsFoods {
ModItems.itemHotFoodCurriedSausages = new BaseItemHotFood("itemHotFoodCurriedSausages", 1, 0.5f, "Curried Sausages", 240, ModItems.itemFoodCurriedSausages);
GT_OreDictUnificator.registerOre("foodHotCurriedSausages", ItemUtils.getItemStackFromFQRN(CORE.MODID+":itemHotFoodCurriedSausages", 1));
+ ModItems.itemMetaFood = new BaseItemMetaFood();
+ BaseItemMetaFood.registerFoodsToOreDict();
+ addCookingRecipes();
+ addFoodDropsToMobs();
+
+ }
+
+ private static ItemStack getMetaFoodStack(int aID) {
+ return ItemUtils.simpleMetaStack(ModItems.itemMetaFood, aID, 1);
+ }
+
+ private static void addCookingRecipes() {
+
+ RecipeUtils.addSmeltingRecipe(getMetaFoodStack(0), getMetaFoodStack(1), 0.4F);
+ RecipeUtils.addSmeltingRecipe(getMetaFoodStack(2), getMetaFoodStack(3), 0.35F);
+ RecipeUtils.addSmeltingRecipe(getMetaFoodStack(4), getMetaFoodStack(5), 0.35F);
+ RecipeUtils.addSmeltingRecipe(getMetaFoodStack(6), getMetaFoodStack(7), 0.35F);
+
+ }
+
+ private static void addFoodDropsToMobs() {
+
+ EntityUtils.registerDropsForMob(EntityVillager.class, getMetaFoodStack(0), 2, 1500);
+ EntityUtils.registerDropsForMob(EntityHorse.class, getMetaFoodStack(2), 4, 4000);
+ EntityUtils.registerDropsForMob(EntityWolf.class, getMetaFoodStack(4), 2, 4000);
+ EntityUtils.registerDropsForMob(EntityOcelot.class, getMetaFoodStack(6), 2, 4000);
+ EntityUtils.registerDropsForMob(EntityBlaze.class, getMetaFoodStack(8), 1, 500);
+
}
}
diff --git a/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java b/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java
index a48573888e..e43dc8546b 100644
--- a/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java
+++ b/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java
@@ -19,7 +19,6 @@ import gregtech.api.interfaces.IItemBehaviour;
import gregtech.api.interfaces.IItemContainer;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.objects.ItemData;
import gregtech.api.util.GT_LanguageManager;
@@ -200,7 +199,7 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
if (aOffsetMeta <= 3) {
FluidStack f = getFluid(aStack);
- aList.add("Can also drain any other standard fluid container block");
+ aList.add("Cannot drain any other standard fluid container block");
aList.add("Cannot be emptied via RMB, use inside a tank with GUI");
aList.add(EnumChatFormatting.DARK_GRAY+"This is technically just a fancy fluid cell");
aList.add(EnumChatFormatting.BLUE + (f != null ? f.getLocalizedName() : "No Fluids Contained"));
@@ -973,7 +972,8 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
}
//Try support Standard Fluid Tanks too (May disable if dupes appear again)
else if ((tTileEntity instanceof IFluidTank || tTileEntity instanceof IFluidHandler)) {
- return this.drainIFluidTank(tTileEntity, aStack, aWorld, aPlayer, aX, aY, aZ);
+ //return this.drainIFluidTank(tTileEntity, aStack, aWorld, aPlayer, aX, aY, aZ);
+ return false;
}
}
}