aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-03-08 04:56:49 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-03-08 04:56:49 +0000
commit40644c9f57ce7a931d9d955529583cc1cba623a5 (patch)
treead213db533bacc76cef7a07d9874bd21cb87ede4 /src/Java
parent86c8b91b00624c7b1824b6b75290ed383338e48f (diff)
downloadGT5-Unofficial-40644c9f57ce7a931d9d955529583cc1cba623a5.tar.gz
GT5-Unofficial-40644c9f57ce7a931d9d955529583cc1cba623a5.tar.bz2
GT5-Unofficial-40644c9f57ce7a931d9d955529583cc1cba623a5.zip
+ Added ItemPackage.java. Allows better load control of item/recipe groupings.
$ Improved load handling of Chemistry Packages. $ Fixed bug in StringUtils.java.
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/api/objects/minecraft/ItemPackage.java41
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java17
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java365
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java252
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java44
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java217
-rw-r--r--src/Java/gtPlusPlus/core/util/data/StringUtils.java47
8 files changed, 546 insertions, 445 deletions
diff --git a/src/Java/gtPlusPlus/api/objects/minecraft/ItemPackage.java b/src/Java/gtPlusPlus/api/objects/minecraft/ItemPackage.java
new file mode 100644
index 0000000000..e725d250cc
--- /dev/null
+++ b/src/Java/gtPlusPlus/api/objects/minecraft/ItemPackage.java
@@ -0,0 +1,41 @@
+package gtPlusPlus.api.objects.minecraft;
+
+import gtPlusPlus.api.interfaces.RunnableWithInfo;
+import gtPlusPlus.core.handler.COMPAT_HANDLER;
+
+public abstract class ItemPackage implements RunnableWithInfo<String> {
+
+ public ItemPackage() {
+ // Register for late run
+ COMPAT_HANDLER.mObjectsToRunInPostInit.put(this);
+ init();
+ }
+
+ @Override
+ public final void run() {
+ generateRecipes();
+ }
+
+ @Override
+ public final String getInfoData() {
+ return errorMessage();
+ }
+
+ public abstract String errorMessage();
+
+ public abstract boolean generateRecipes();
+
+ private final void init() {
+ items();
+ blocks();
+ fluids();
+ }
+
+ public abstract void items();
+
+ public abstract void blocks();
+
+ public abstract void fluids();
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
index 1af7c05d64..d8d43ebbd3 100644
--- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
+++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
@@ -208,7 +208,9 @@ public class COMPAT_HANDLER {
}
public static final AutoMap<RunnableWithInfo<String>> mRecipesToGenerate = new AutoMap<RunnableWithInfo<String>>();
- public static final AutoMap<RunnableWithInfo<String>> mGtRecipesToGenerate = new AutoMap<RunnableWithInfo<String>>();
+ public static final AutoMap<RunnableWithInfo<String>> mGtRecipesToGenerate = new AutoMap<RunnableWithInfo<String>>();
+
+ public static final AutoMap<RunnableWithInfo<String>> mObjectsToRunInPostInit = new AutoMap<RunnableWithInfo<String>>();
public static void runQueuedRecipes() {
//Add autogenerated Recipes from Item Components
@@ -233,4 +235,17 @@ public class COMPAT_HANDLER {
}
}
+
+ public static void runQueuedMisc() {
+ for (RunnableWithInfo<String> m : mObjectsToRunInPostInit) {
+ try {
+ m.run();
+ }
+ catch (Throwable t) {
+ t.printStackTrace();
+ Logger.INFO("[ERROR] "+m.getInfoData());
+ }
+
+ }
+ }
}
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 2a7bae629e..ed1df1f333 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -880,14 +880,14 @@ public final class ModItems {
itemControlCore = new ItemControlCore();
//Chemistry
- CoalTar.run();
- RocketFuels.run();
+ new CoalTar();
+ new RocketFuels();
//Nuclear Processing
- NuclearChem.run();
+ new NuclearChem();
//Farm Animal Fun
- AgriculturalChem.run();
+ new AgriculturalChem();
//Only used for debugging.
/*if (CORE.DEVENV) {
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
index a8753677be..0c2bdaa3ef 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
@@ -7,9 +7,9 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gtPlusPlus.api.objects.Logger;
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.nuclear.FLUORIDES;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
@@ -18,51 +18,44 @@ import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
-import scala.xml.dtd.ELEMENTS;
-public class AgriculturalChem {
+public class AgriculturalChem extends ItemPackage {
-
private static boolean aBOP;
private static boolean aTiCon;
-
+
private static AutoMap<FluidStack> mBloodFluids = new AutoMap<FluidStack>();
-
/**
* Fluids
*/
- //Poop Juice
- public static Fluid PoopJuice;
- //Manure Slurry
- public static Fluid ManureSlurry;
- //Fertile Manure Slurry
- public static Fluid FertileManureSlurry;
- //Blood
- public static Fluid CustomBlood;
-
+ // Poop Juice
+ public static Fluid PoopJuice;
+ // Manure Slurry
+ public static Fluid ManureSlurry;
+ // Fertile Manure Slurry
+ public static Fluid FertileManureSlurry;
+ // Blood
+ public static Fluid CustomBlood;
/**
* Items
*/
- //Manure Byproducts
+ // Manure Byproducts
public static Item dustManureByproducts;
- //Organic Fertilizer
+ // Organic Fertilizer
public static Item dustOrganicFertilizer;
- //Dirt
+ // Dirt
public static Item dustDirt;
-
-
-
// Poop Juice
// vv - Centrifuge
- // Manure Slurry && Manure Byproducts -> (Elements) Centrifuge to several tiny piles
+ // Manure Slurry && Manure Byproducts -> (Elements) Centrifuge to several tiny
+ // piles
// vv - Chem Reactor - Add Peat, Meat
// Organic Fertilizer
// vv - Dehydrate
@@ -77,24 +70,48 @@ public class AgriculturalChem {
// Fertilizer
+ @Override
+ public void items() {
+ // Nitrogen, Ammonium Nitrate, Phosphates, Calcium, Copper, Carbon
+ dustManureByproducts = ItemUtils.generateSpecialUseDusts("ManureByproducts", "Manure Byproduct",
+ "(N2H4O3)N2P2Ca3CuC8", Utils.rgbtoHexValue(110, 75, 25))[0];
+ // Basically Guano
+ dustOrganicFertilizer = ItemUtils.generateSpecialUseDusts("OrganicFertilizer", "Organic Fertilizer",
+ "Ca5(PO4)3(OH)", Utils.rgbtoHexValue(240, 240, 240))[0];
+ // Dirt Dust :)
+ dustDirt = ItemUtils.generateSpecialUseDusts("Dirt", "Dried Earth", Utils.rgbtoHexValue(65, 50, 15))[0];
+ }
+ @Override
+ public void blocks() {
+ // None yet
+ }
+ @Override
+ public void fluids() {
+ // Sewage
+ PoopJuice = FluidUtils.generateFluidNonMolten("raw.waste", "Raw Animal Waste", 32 + 175,
+ new short[] { 100, 70, 30, 100 }, null, null, 0, true);
+ // Sewage
+ ManureSlurry = FluidUtils.generateFluidNonMolten("manure.slurry", "Manure Slurry", 39 + 175,
+ new short[] { 75, 45, 15, 100 }, null, null, 0, true);
+ // Sewage
+ FertileManureSlurry = FluidUtils.generateFluidNonMolten("fertile.manure.slurry", "Fertile Manure Slurry",
+ 45 + 175, new short[] { 65, 50, 15, 100 }, null, null, 0, true);
+ }
+
+
-
-
-
-
-
-
- public static void run(){
-
+ public AgriculturalChem() {
+ super();
+
aBOP = LoadedMods.BiomesOPlenty;
aTiCon = LoadedMods.TiCon;
-
+
Logger.INFO("Adding Agrochemical content");
FluidStack aBlood;
@@ -102,78 +119,42 @@ public class AgriculturalChem {
aBlood = FluidUtils.getFluidStack("hell_blood", 100);
if (aBlood != null) {
Logger.INFO("Found Biome's o Plenty, enabled Blood support.");
- CustomBlood = aBlood.getFluid();
+ CustomBlood = aBlood.getFluid();
mBloodFluids.put(aBlood);
- }
+ }
}
-
- if (aTiCon) {
+
+ if (aTiCon) {
aBlood = FluidUtils.getFluidStack("hell_blood", 100);
if (aBlood != null) {
Logger.INFO("Found Tinker's Construct, enabled Blood support.");
CustomBlood = aBlood.getFluid();
mBloodFluids.put(FluidUtils.getFluidStack("blood", 100));
- }
+ }
}
-
+
// Handle Blood Internally, Create if required.
if (mBloodFluids.isEmpty() || CustomBlood == null) {
- Logger.INFO("Did not find any existing Blood fluids. Trying to wildcard search the fluid registry, then generate our own if that fails.");
+ Logger.INFO(
+ "Did not find any existing Blood fluids. Trying to wildcard search the fluid registry, then generate our own if that fails.");
FluidStack aTempBlood = FluidUtils.getWildcardFluidStack("blood", 100);
if (aTempBlood != null) {
CustomBlood = aTempBlood.getFluid();
- }
- else {
+ } else {
aTempBlood = FluidUtils.getWildcardFluidStack("hell_blood", 100);
if (aTempBlood == null) {
- CustomBlood = FluidUtils.generateFluidNoPrefix("blood", "Blood", 32+175, new short[]{175, 25, 25, 100}, true);
+ CustomBlood = FluidUtils.generateFluidNoPrefix("blood", "Blood", 32 + 175,
+ new short[] { 175, 25, 25, 100 }, true);
+ } else {
+ CustomBlood = aTempBlood.getFluid();
}
- else {
- CustomBlood = aTempBlood.getFluid();
- }
}
- Logger.INFO("Using "+CustomBlood.getName());
+ Logger.INFO("Using " + CustomBlood.getName());
mBloodFluids.put(FluidUtils.getFluidStack(CustomBlood, 100));
- }
-
-
-
- //Sewage
- PoopJuice = FluidUtils.generateFluidNonMolten("raw.waste", "Raw Animal Waste", 32+175, new short[]{100, 70, 30, 100}, null, null, 0, true);
-
- //Sewage
- ManureSlurry = FluidUtils.generateFluidNonMolten("manure.slurry", "Manure Slurry", 39+175, new short[]{75, 45, 15, 100}, null, null, 0, true);
-
- //Sewage
- FertileManureSlurry = FluidUtils.generateFluidNonMolten("fertile.manure.slurry", "Fertile Manure Slurry", 45+175, new short[]{65, 50, 15, 100}, null, null, 0, true);
-
-
-
- // Nitrogen, Ammonium Nitrate, Phosphates, Calcium, Copper, Carbon
- dustManureByproducts = ItemUtils.generateSpecialUseDusts("ManureByproducts", "Manure Byproduct", "(N2H4O3)N2P2Ca3CuC8", Utils.rgbtoHexValue(110, 75, 25))[0];
-
- // Basically Guano
- dustOrganicFertilizer = ItemUtils.generateSpecialUseDusts("OrganicFertilizer", "Organic Fertilizer", "Ca5(PO4)3(OH)", Utils.rgbtoHexValue(240, 240, 240))[0];
-
- // Dirt Dust :)
- dustDirt = ItemUtils.generateSpecialUseDusts("Dirt", "Dried Earth", Utils.rgbtoHexValue(65, 50, 15))[0];
-
-
-
-
-
-
-
-
+ }
- createRecipes();
}
-
-
-
-
-
-
+
private static AutoMap<ItemStack> mMeats = new AutoMap<ItemStack>();
private static AutoMap<ItemStack> mFish = new AutoMap<ItemStack>();
private static AutoMap<ItemStack> mFruits = new AutoMap<ItemStack>();
@@ -188,7 +169,7 @@ public class AgriculturalChem {
private static AutoMap<ItemStack> mList_Master_FruitVege = new AutoMap<ItemStack>();
private static AutoMap<ItemStack> mList_Master_Bones = new AutoMap<ItemStack>();
private static AutoMap<ItemStack> mList_Master_Seeds = new AutoMap<ItemStack>();
-
+
private static void processAllOreDict() {
processOreDict("listAllmeatraw", mMeats);
processOreDict("listAllfishraw", mFish);
@@ -198,8 +179,8 @@ public class AgriculturalChem {
processOreDict("listAllSeed", mSeeds);
processOreDict("brickPeat", mPeat);
processOreDict("bone", mBones);
- processOreDict("dustBone", mBoneMeal);
- //Just make a mega list, makes life easier.
+ processOreDict("dustBone", mBoneMeal);
+ // Just make a mega list, makes life easier.
if (!mMeats.isEmpty()) {
for (ItemStack g : mMeats) {
mList_Master_Meats.put(g);
@@ -209,12 +190,12 @@ public class AgriculturalChem {
for (ItemStack g : mFish) {
mList_Master_Meats.put(g);
}
- }
+ }
if (!mFruits.isEmpty()) {
for (ItemStack g : mFruits) {
mList_Master_FruitVege.put(g);
}
- }
+ }
if (!mVege.isEmpty()) {
for (ItemStack g : mVege) {
mList_Master_FruitVege.put(g);
@@ -224,12 +205,12 @@ public class AgriculturalChem {
for (ItemStack g : mNuts) {
mList_Master_FruitVege.put(g);
}
- }
+ }
if (!mSeeds.isEmpty()) {
for (ItemStack g : mSeeds) {
mList_Master_Seeds.put(g);
}
- }
+ }
if (!mBoneMeal.isEmpty()) {
for (ItemStack g : mBoneMeal) {
mList_Master_Bones.put(g);
@@ -241,79 +222,42 @@ public class AgriculturalChem {
}
}
}
-
+
private static void processOreDict(String aOreName, AutoMap<ItemStack> aMap) {
ArrayList<ItemStack> aTemp = OreDictionary.getOres(aOreName);
if (!aTemp.isEmpty()) {
for (ItemStack stack : aTemp) {
aMap.put(stack);
}
- }
- }
-
-
- private static void createRecipes() {
-
- if (mBloodFluids.isEmpty()) {
- Logger.INFO("Could not find, nor create Blood fluid. Unable to add recipes.");
- return;
}
-
- // Organise OreDict
- processAllOreDict();
-
- // Slurry Production
- addBasicSlurryRecipes();
- addAdvancedSlurryRecipes();
-
- // Organic Fert. Production
- addBasicOrganiseFertRecipes();
- addAdvancedOrganiseFertRecipes();
-
- addMiscRecipes();
}
-
-
+
private static void addBasicSlurryRecipes() {
ItemStack aManureByprod1 = ItemUtils.getItemStackOfAmountFromOreDict("dustTinyManureByproducts", 1);
- ItemStack aManureByprod2 = ItemUtils.getItemStackOfAmountFromOreDict("dustSmallManureByproducts", 1);
+ ItemStack aManureByprod2 = ItemUtils.getItemStackOfAmountFromOreDict("dustSmallManureByproducts", 1);
ItemStack aDirtDust = ItemUtils.getSimpleStack(dustDirt, 1);
-
- //Poop Juice to Basic Slurry
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(10),
- null,
- FluidUtils.getFluidStack(PoopJuice, 1000), //In Fluid
- FluidUtils.getFluidStack(ManureSlurry, 250), //Out Fluid
- aDirtDust,
- aDirtDust,
- aManureByprod1,
- aManureByprod1,
- aManureByprod1,
- aManureByprod1,
- new int[]{2000, 2000, 500, 500, 250, 250}, //Chances
- 10*20, //Time
- 30); //EU
-
+
+ // Poop Juice to Basic Slurry
+ GT_Values.RA.addCentrifugeRecipe(CI.getNumberedCircuit(10), null, FluidUtils.getFluidStack(PoopJuice, 1000), // In
+ // Fluid
+ FluidUtils.getFluidStack(ManureSlurry, 250), // Out Fluid
+ aDirtDust, aDirtDust, aManureByprod1, aManureByprod1, aManureByprod1, aManureByprod1,
+ new int[] { 2000, 2000, 500, 500, 250, 250 }, // Chances
+ 10 * 20, // Time
+ 30); // EU
+
// More Efficient way to get byproducts, less Slurry
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(20),
- null,
- FluidUtils.getFluidStack(PoopJuice, 1000), //In Fluid
- FluidUtils.getFluidStack(ManureSlurry, 50), //Out Fluid
- aDirtDust,
- aDirtDust,
- aManureByprod1,
- aManureByprod1,
- aManureByprod2,
- aManureByprod2,
- new int[]{4000, 3000, 1250, 1250, 675, 675}, //Chances
- 20*20, //Time
- 60); //EU
-
+ GT_Values.RA.addCentrifugeRecipe(CI.getNumberedCircuit(20), null, FluidUtils.getFluidStack(PoopJuice, 1000), // In
+ // Fluid
+ FluidUtils.getFluidStack(ManureSlurry, 50), // Out Fluid
+ aDirtDust, aDirtDust, aManureByprod1, aManureByprod1, aManureByprod2, aManureByprod2,
+ new int[] { 4000, 3000, 1250, 1250, 675, 675 }, // Chances
+ 20 * 20, // Time
+ 60); // EU
+
}
-
+
private static void addAdvancedSlurryRecipes() {
ItemStack aCircuit = CI.getNumberedCircuit(10);
@@ -322,25 +266,24 @@ public class AgriculturalChem {
ItemStack aEmptyCells = CI.emptyCells(2);
ItemStack aInputCells = ItemUtils.getItemStackOfAmountFromOreDict("cellRawWaste", 2);
FluidStack aOutput = FluidUtils.getFluidStack(FertileManureSlurry, 1000);
-
+
for (FluidStack aBloodStack : mBloodFluids) {
for (ItemStack aBoneStack : mList_Master_Bones) {
aBone = ItemUtils.getSimpleStack(aBoneStack, 2);
for (ItemStack aMeatStack : mList_Master_Meats) {
- aMeat = ItemUtils.getSimpleStack(aMeatStack, 5);
+ aMeat = ItemUtils.getSimpleStack(aMeatStack, 5);
// Poop Juice to Fertile Slurry
- GT_Values.RA.addMixerRecipe(aCircuit, aBone, aMeat, aInputCells,
- aBloodStack, // Input Fluid
+ GT_Values.RA.addMixerRecipe(aCircuit, aBone, aMeat, aInputCells, aBloodStack, // Input Fluid
aOutput, // Output Fluid
aEmptyCells, // Output Item
20 * 8, // Time?
- 60 // Eu?
- );
+ 60 // Eu?
+ );
}
}
}
}
-
+
private static void addBasicOrganiseFertRecipes() {
FluidStack aInputFluid = FluidUtils.getFluidStack(ManureSlurry, 1000);
ItemStack aOutputDust = ItemUtils.getSimpleStack(dustOrganicFertilizer, 3);
@@ -360,7 +303,7 @@ public class AgriculturalChem {
}
}
}
-
+
private static void addAdvancedOrganiseFertRecipes() {
FluidStack aInputFluid = FluidUtils.getFluidStack(FertileManureSlurry, 1000);
ItemStack aOutputDust = ItemUtils.getSimpleStack(dustOrganicFertilizer, 7);
@@ -379,81 +322,87 @@ public class AgriculturalChem {
}
}
}
-
+
private static void addMiscRecipes() {
ItemStack aDustOrganicFert = ItemUtils.getSimpleStack(dustOrganicFertilizer, 1);
- ItemStack aManureByprod = ItemUtils.getSimpleStack(dustManureByproducts, 1);
-
-
- //Dehydrate Organise Fert to Normal Fert.
-
+ ItemStack aManureByprod = ItemUtils.getSimpleStack(dustManureByproducts, 1);
+
+ // Dehydrate Organise Fert to Normal Fert.
+
/**
* Forestry Support
*/
if (LoadedMods.Forestry) {
-
+
Item aForestryFert = PluginCore.items.fertilizerCompound;
-
+
CORE.RA.addDehydratorRecipe(
- new ItemStack[] {
- CI.getNumberedCircuit(11),
- ItemUtils.getSimpleStack(aDustOrganicFert, 4)
- },
- null,
- null,
- new ItemStack[] {ItemUtils.getSimpleStack(aForestryFert, 3), aManureByprod, aManureByprod},
- new int[] {10000, 2000, 2000},
- 20 * 20,
- 240);
+ new ItemStack[] { CI.getNumberedCircuit(11), ItemUtils.getSimpleStack(aDustOrganicFert, 4) }, null,
+ null, new ItemStack[] { ItemUtils.getSimpleStack(aForestryFert, 3), aManureByprod, aManureByprod },
+ new int[] { 10000, 2000, 2000 }, 20 * 20, 240);
}
-
+
/**
* IC2 Support
*/
if (LoadedMods.IndustrialCraft2) {
CORE.RA.addDehydratorRecipe(
- new ItemStack[] {
- CI.getNumberedCircuit(12),
- ItemUtils.getSimpleStack(aDustOrganicFert, 4)
- },
- null,
- null,
- new ItemStack[] {ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 3), aManureByprod, aManureByprod},
- new int[] {10000, 2000, 2000},
- 20 * 20,
- 240);
+ new ItemStack[] { CI.getNumberedCircuit(12), ItemUtils.getSimpleStack(aDustOrganicFert, 4) }, null,
+ null, new ItemStack[] { ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 3), aManureByprod,
+ aManureByprod },
+ new int[] { 10000, 2000, 2000 }, 20 * 20, 240);
}
-
// Dirt Production
- CORE.RA.addCompressorRecipe(ItemUtils.getSimpleStack(dustDirt, 9), ItemUtils.getSimpleStack(Blocks.dirt), 20 * 2, 8);
-
- //Centrifuge Byproducts
+ CORE.RA.addCompressorRecipe(ItemUtils.getSimpleStack(dustDirt, 9), ItemUtils.getSimpleStack(Blocks.dirt),
+ 20 * 2, 8);
+ // Centrifuge Byproducts
// Ammonium Nitrate, Phosphates, Calcium, Copper, Carbon
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(20),
- ItemUtils.getSimpleStack(aManureByprod, 4),
- FluidUtils.getFluidStack("sulfuricacid", 250), //In Fluid
- FluidUtils.getFluidStack("sulfuricapatite", 50), //Out Fluid
- Materials.Phosphorus.getDustSmall(2),
- Materials.Calcium.getDustSmall(2),
- Materials.Copper.getDustTiny(1),
- Materials.Carbon.getDust(1),
- ItemUtils.getSimpleStack(dustDirt, 1),
+ GT_Values.RA.addCentrifugeRecipe(CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(aManureByprod, 4),
+ FluidUtils.getFluidStack("sulfuricacid", 250), // In Fluid
+ FluidUtils.getFluidStack("sulfuricapatite", 50), // Out Fluid
+ Materials.Phosphorus.getDustSmall(2), Materials.Calcium.getDustSmall(2),
+ Materials.Copper.getDustTiny(1), Materials.Carbon.getDust(1), ItemUtils.getSimpleStack(dustDirt, 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAmmoniumNitrate", 1),
- new int[]{2500, 2500, 750, 1000, 5000, 250}, //Chances
- 20*20, //Time
- 60); //EU
-
-
+ new int[] { 2500, 2500, 750, 1000, 5000, 250 }, // Chances
+ 20 * 20, // Time
+ 60); // EU
+
// Add Fuel Usages
CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(PoopJuice, 1000), 12);
CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(ManureSlurry, 1000), 24);
CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(FertileManureSlurry, 1000), 32);
-
-
+
+ }
+
+ @Override
+ public String errorMessage() {
+ // TODO Auto-generated method stub
+ return "Failed to generate recipes for AgroChem.";
+ }
+
+ @Override
+ public boolean generateRecipes() {
+ if (mBloodFluids.isEmpty()) {
+ Logger.INFO("Could not find, nor create Blood fluid. Unable to add recipes.");
+ return false;
+ }
+
+ // Organise OreDict
+ processAllOreDict();
+
+ // Slurry Production
+ addBasicSlurryRecipes();
+ addAdvancedSlurryRecipes();
+
+ // Organic Fert. Production
+ addBasicOrganiseFertRecipes();
+ addAdvancedOrganiseFertRecipes();
+
+ addMiscRecipes();
+ return true;
}
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
index eea1aed49f..76827b32d1 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
@@ -8,7 +8,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
-
+import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.lib.CORE;
@@ -21,7 +21,7 @@ import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
-public class CoalTar {
+public class CoalTar extends ItemPackage {
public static Fluid Coal_Gas;
public static Fluid Ethylene;
@@ -39,116 +39,6 @@ public class CoalTar {
public static Fluid Hydrogen_Peroxide;
public static Fluid Lithium_Peroxide;
- public static void run(){
-
- //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
- // v - Dehydrate cells to remove water
-
-
- //Create Ethylene
- if (!FluidUtils.doesFluidExist("Ethylene")){
- Ethylene = FluidUtils.generateFluidNonMolten("Ethylene", "Ethylene", -103, new short[]{255, 255, 255, 100}, null, null);
- }
- else {
- Ethylene = FluidUtils.getWildcardFluidStack("Ethylene", 1).getFluid();
- }
-
- //Create Benzene - (Toluene + Hydrogen | 95% Benzene / 5% methane)
- if (!FluidUtils.doesFluidExist("NitrousOxide")){
- Benzene = FluidUtils.generateFluidNonMolten("Benzene", "Benzene", 81, new short[]{150, 75, 0, 100}, null, null);
- }
- else {
- Benzene = FluidUtils.getWildcardFluidStack("Benzene", 1).getFluid();
- }
-
- //Create Ethylbenzene - Ethylbenzene is produced in on a large scale by combining benzene and ethylene in an acid-catalyzed chemical reaction
- //Use Chemical Reactor
- Ethylbenzene = FluidUtils.generateFluidNonMolten("Ethylbenzene", "Ethylbenzene", 136, new short[]{255, 255, 255, 100}, null, null);
- //Create Anthracene
- Anthracene = FluidUtils.generateFluidNonMolten("Anthracene", "Anthracene", 340, new short[]{255, 255, 255, 100}, null, null);
- //Toluene
- if (!FluidUtils.doesFluidExist("Toluene")){
- Toluene = FluidUtils.generateFluidNonMolten("Toluene", "Toluene", -95, new short[]{140, 70, 20, 100}, null, null);
- }
- else {
- Toluene = FluidUtils.getWildcardFluidStack("Toluene", 1).getFluid();
- Item itemCellToluene = new BaseItemComponent("Toluene", "Toluene", new short[]{140, 70, 20, 100});
- MaterialGenerator.addFluidCannerRecipe(ItemUtils.getEmptyCell(), ItemUtils.getSimpleStack(itemCellToluene), FluidUtils.getFluidStack(Toluene, 1000), null);
- }
-
- //Create Coal Tar
- Coal_Tar = FluidUtils.generateFluidNonMolten("CoalTar", "Coal Tar", 450, new short[]{32, 32, 32, 100}, null, null);
- // v - Distill (60% Tar oil/15% Naphtha/20% Ethylbenzene/5% Anthracene)
- //Create Coal Tar Oil
- Coal_Tar_Oil = FluidUtils.generateFluidNonMolten("CoalTarOil", "Coal Tar Oil", 240, new short[]{240, 240, 150, 100}, null, null);
- // v - Wash With Sulfuric Acid
- //Create Sulfuric Coal Tar Oil
- Sulfuric_Coal_Tar_Oil = FluidUtils.generateFluidNonMolten("SulfuricCoalTarOil", "Sulfuric Coal Tar Oil", 240, new short[]{250, 170, 12, 100}, null, null);
- // v - Distill (No loss, just time consuming)
- //Create Naphthalene
- Naphthalene = FluidUtils.generateFluidNonMolten("Naphthalene", "Naphthalene", 115, new short[]{210, 185, 135, 100}, null, null);
- // v - Oxidize with mercury and nitric acid
- //Create Phthalic Acid
- Phthalic_Acid = FluidUtils.generateFluidNonMolten("PhthalicAcid", "Phthalic Acid", 207, new short[]{210, 220, 210, 100}, null, null);
- // v - Dehydrate at 180C+
- //Create Phthalic Anhydride
- ItemUtils.generateSpecialUseDusts("PhthalicAnhydride", "Phthalic Anhydride", "C6H4(CO)2O", Utils.rgbtoHexValue(175, 175, 175));
-
-
-
- //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);
- //Create 2-Ethylanthrahydroquinone
- //Palladium plate + Hydrogen(250) + 2-Ethylanthraquinone(500) = 600 Ethylanthrahydroquinone
- Ethylanthrahydroquinone2 = FluidUtils.generateFluidNonMolten("2Ethylanthrahydroquinone", "2-Ethylanthrahydroquinone", 415, new short[]{207, 225, 129, 100}, null, null);
- //Create Hydrogen Peroxide
- //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);
-
-
-
- //Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O
- ItemUtils.generateSpecialUseDusts("LithiumHydroperoxide", "Lithium Hydroperoxide", "HLiO2", Utils.rgbtoHexValue(125, 125, 125));
- // v - Dehydrate
- //Lithium Peroxide - 2 LiOOH → Li2O2 + H2O2 + 2 H2O
- Lithium_Peroxide = FluidUtils.generateFluidNonMolten("LithiumPeroxide", "Lithium Peroxide", 446, new short[]{135, 135, 135, 100}, null, null);
-
- //Burn the coal gas!
- GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalGas", 1), null, 96, 1);
- GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 1), null, 32, 3);
- GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 1), null, 64, 3);
- GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTar", 1), null, 128, 3);
- createRecipes();
-
-
- }
-
- private static void createRecipes() {
- recipeCreateEthylene();
- recipeCreateBenzene();
- recipeCreateEthylbenzene();
-
- recipeCoalToCoalTar();
- recipeCoalTarToCoalTarOil();
- recipeCoalTarOilToSulfuricOilToNaphthalene();
- recipeNaphthaleneToPhthalicAcid();
- recipePhthalicAcidToPhthalicAnhydride();
- recipe2Ethylanthraquinone();
- recipe2Ethylanthrahydroquinone();
- recipeHydrogenPeroxide();
- recipeLithiumHydroperoxide();
- recipeLithiumPeroxide();
-
- recipeEthylBenzineFuelsIntoHeavyFuel();
- }
-
-
-
private static void recipeEthylBenzineFuelsIntoHeavyFuel() {
CORE.RA.addChemicalRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("cellFuel", 9),
@@ -430,4 +320,142 @@ public class CoalTar {
240);
}
+ @Override
+ public String errorMessage() {
+ // TODO Auto-generated method stub
+ return "Bad Coal Science!";
+ }
+
+ @Override
+ public boolean generateRecipes() {
+ recipeCreateEthylene();
+ recipeCreateBenzene();
+ recipeCreateEthylbenzene();
+
+ recipeCoalToCoalTar();
+ recipeCoalTarToCoalTarOil();
+ recipeCoalTarOilToSulfuricOilToNaphthalene();
+ recipeNaphthaleneToPhthalicAcid();
+ recipePhthalicAcidToPhthalicAnhydride();
+ recipe2Ethylanthraquinone();
+ recipe2Ethylanthrahydroquinone();
+ recipeHydrogenPeroxide();
+ recipeLithiumHydroperoxide();
+ recipeLithiumPeroxide();
+
+ recipeEthylBenzineFuelsIntoHeavyFuel();
+
+
+ //Burn the coal gas!
+ GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalGas", 1), null, 96, 1);
+ GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 1), null, 32, 3);
+ GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 1), null, 64, 3);
+ GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTar", 1), null, 128, 3);
+
+ return true;
+ }
+
+ @Override
+ public void items() {
+ //Phthalic_Acid = FluidUtils.generateFluidNonMolten("PhthalicAcid", "Phthalic Acid", 207, new short[]{210, 220, 210, 100}, null, null);
+ // v - Dehydrate at 180C+
+ //Create Phthalic Anhydride
+ ItemUtils.generateSpecialUseDusts("PhthalicAnhydride", "Phthalic Anhydride", "C6H4(CO)2O", Utils.rgbtoHexValue(175, 175, 175));
+
+ //Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O
+ ItemUtils.generateSpecialUseDusts("LithiumHydroperoxide", "Lithium Hydroperoxide", "HLiO2", Utils.rgbtoHexValue(125, 125, 125));
+ // v - Dehydrate
+ //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
+ public void blocks() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @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
+ // v - Dehydrate cells to remove water
+
+
+ //Create Ethylene
+ if (!FluidUtils.doesFluidExist("Ethylene")){
+ Ethylene = FluidUtils.generateFluidNonMolten("Ethylene", "Ethylene", -103, new short[]{255, 255, 255, 100}, null, null);
+ }
+ else {
+ Ethylene = FluidUtils.getWildcardFluidStack("Ethylene", 1).getFluid();
+ }
+
+ //Create Benzene - (Toluene + Hydrogen | 95% Benzene / 5% methane)
+ if (!FluidUtils.doesFluidExist("NitrousOxide")){
+ Benzene = FluidUtils.generateFluidNonMolten("Benzene", "Benzene", 81, new short[]{150, 75, 0, 100}, null, null);
+ }
+ else {
+ Benzene = FluidUtils.getWildcardFluidStack("Benzene", 1).getFluid();
+ }
+
+ //Create Ethylbenzene - Ethylbenzene is produced in on a large scale by combining benzene and ethylene in an acid-catalyzed chemical reaction
+ //Use Chemical Reactor
+ Ethylbenzene = FluidUtils.generateFluidNonMolten("Ethylbenzene", "Ethylbenzene", 136, new short[]{255, 255, 255, 100}, null, null);
+ //Create Anthracene
+ Anthracene = FluidUtils.generateFluidNonMolten("Anthracene", "Anthracene", 340, new short[]{255, 255, 255, 100}, null, null);
+ //Toluene
+ if (!FluidUtils.doesFluidExist("Toluene")){
+ Toluene = FluidUtils.generateFluidNonMolten("Toluene", "Toluene", -95, new short[]{140, 70, 20, 100}, null, null);
+ }
+ else {
+ Toluene = FluidUtils.getWildcardFluidStack("Toluene", 1).getFluid();
+ Item itemCellToluene = new BaseItemComponent("Toluene", "Toluene", new short[]{140, 70, 20, 100});
+ MaterialGenerator.addFluidCannerRecipe(ItemUtils.getEmptyCell(), ItemUtils.getSimpleStack(itemCellToluene), FluidUtils.getFluidStack(Toluene, 1000), null);
+ }
+
+ //Create Coal Tar
+ Coal_Tar = FluidUtils.generateFluidNonMolten("CoalTar", "Coal Tar", 450, new short[]{32, 32, 32, 100}, null, null);
+ // v - Distill (60% Tar oil/15% Naphtha/20% Ethylbenzene/5% Anthracene)
+ //Create Coal Tar Oil
+ Coal_Tar_Oil = FluidUtils.generateFluidNonMolten("CoalTarOil", "Coal Tar Oil", 240, new short[]{240, 240, 150, 100}, null, null);
+ // v - Wash With Sulfuric Acid
+ //Create Sulfuric Coal Tar Oil
+ Sulfuric_Coal_Tar_Oil = FluidUtils.generateFluidNonMolten("SulfuricCoalTarOil", "Sulfuric Coal Tar Oil", 240, new short[]{250, 170, 12, 100}, null, null);
+ // v - Distill (No loss, just time consuming)
+ //Create Naphthalene
+ Naphthalene = FluidUtils.generateFluidNonMolten("Naphthalene", "Naphthalene", 115, new short[]{210, 185, 135, 100}, null, null);
+ // v - Oxidize with mercury and nitric acid
+ //Create Phthalic Acid
+ Phthalic_Acid = FluidUtils.generateFluidNonMolten("PhthalicAcid", "Phthalic Acid", 207, new short[]{210, 220, 210, 100}, null, null);
+ // v - Dehydrate at 180C+
+ //Create Phthalic Anhydride
+ //ItemUtils.generateSpecialUseDusts("PhthalicAnhydride", "Phthalic Anhydride", "C6H4(CO)2O", Utils.rgbtoHexValue(175, 175, 175));
+
+
+
+ //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);
+ //Create 2-Ethylanthrahydroquinone
+ //Palladium plate + Hydrogen(250) + 2-Ethylanthraquinone(500) = 600 Ethylanthrahydroquinone
+ Ethylanthrahydroquinone2 = FluidUtils.generateFluidNonMolten("2Ethylanthrahydroquinone", "2-Ethylanthrahydroquinone", 415, new short[]{207, 225, 129, 100}, null, null);
+ //Create Hydrogen Peroxide
+ //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);
+
+
+
+ //Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O
+ //ItemUtils.generateSpecialUseDusts("LithiumHydroperoxide", "Lithium Hydroperoxide", "HLiO2", Utils.rgbtoHexValue(125, 125, 125));
+ // v - Dehydrate
+ //Lithium Peroxide - 2 LiOOH → Li2O2 + H2O2 + 2 H2O
+ Lithium_Peroxide = FluidUtils.generateFluidNonMolten("LithiumPeroxide", "Lithium Peroxide", 446, new short[]{135, 135, 135, 100}, null, null);
+
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java b/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java
index 1d45dec183..25beb6d9b5 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java
@@ -3,7 +3,7 @@ package gtPlusPlus.core.item.chemistry;
import net.minecraft.init.Items;
import gregtech.api.enums.GT_Values;
-
+import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
@@ -11,18 +11,40 @@ import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.Fluid;
-public class NuclearChem {
+public class NuclearChem extends ItemPackage {
public static Fluid Burnt_LiFBeF2ThF4UF4;
public static Fluid Burnt_LiFBeF2ZrF4UF4;
public static Fluid Burnt_LiFBeF2ZrF4U235;
public static Fluid GeneticMutagen;
- private static boolean generateMutagenRecipe = false;
+ private static boolean generateMutagenRecipe = false;
+
+ @Override
+ public String errorMessage() {
+ return "bad Nuclear Chemistry Recipes.";
+ }
- public static void run(){
+ @Override
+ public boolean generateRecipes() {
+ if (generateMutagenRecipe) {
+ chemReator_CreateMutagen();
+ }
+ chemReactor_MutagenWithEggs();
+ return true;
+ }
+
+ @Override
+ public void items() {
+ }
+
+ @Override
+ public void blocks() {
+ }
- //Create Coal Gas
+ @Override
+ public void fluids() {
+ //Create Used Nuclear Fuels
Burnt_LiFBeF2ThF4UF4 = FluidUtils.generateFluidNonMolten("BurntLiFBeF2ThF4UF4", "Burnt LiFBeF2ThF4UF4 Salt", 545, new short[]{48, 175, 48, 100}, null, null);
Burnt_LiFBeF2ZrF4UF4 = FluidUtils.generateFluidNonMolten("BurntLiFBeF2ZrF4UF4", "Burnt LiFBeF2ZrF4UF4 Salt", 520, new short[]{48, 168, 68, 100}, null, null);
Burnt_LiFBeF2ZrF4U235 = FluidUtils.generateFluidNonMolten("BurntLiFBeF2ZrF4U235", "Burnt LiFBeF2ZrF4U235 Salt", 533, new short[]{68, 185, 48, 100}, null, null);
@@ -34,18 +56,6 @@ public class NuclearChem {
else {
GeneticMutagen = FluidUtils.getFluidStack("fluid.Mutagen", 1).getFluid();
}
-
- createRecipes();
-
-
- }
-
- private static void createRecipes() {
-
- if (generateMutagenRecipe)
- chemReator_CreateMutagen();
-
- chemReactor_MutagenWithEggs();
}
private static void chemReator_CreateMutagen() {
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
index a516cb0639..789371c9e4 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
@@ -10,6 +10,7 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.util.Recipe_GT;
import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.lib.CORE;
@@ -20,7 +21,7 @@ import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
-public class RocketFuels {
+public class RocketFuels extends ItemPackage {
public static HashSet<String> mValidRocketFuelNames = new HashSet<String>();
public static HashMap<Integer, Fluid> mValidRocketFuels = new HashMap<Integer, Fluid>();
@@ -45,107 +46,7 @@ public class RocketFuels {
public static Item Ammonium_Nitrate_Dust;
public static Item Formaldehyde_Catalyst;
-
- public static void run(){
-
- //Create Kerosene
- Kerosene = FluidUtils.generateFluidNonMolten("Kerosene", "Kerosene", 500, new short[]{150, 40, 150, 100}, null, null);
-
- //RP! Focket Fuel
- RP1 = FluidUtils.generateFluidNonMolten("RP1Fuel", "RP-1 Rocket Fuel", 500, new short[]{210, 50, 50, 100}, null, null);
-
- //Create Nitrogen Tetroxide
- Nitrogen_Tetroxide = FluidUtils.generateFluidNonMolten("NitrogenTetroxide", "Nitrogen Tetroxide", -11, new short[]{170, 170, 0, 100}, null, null);
-
- //Create Hydrazine
- Hydrazine = FluidUtils.generateFluidNonMolten("Hydrazine", "Hydrazine", 2, new short[]{250, 250, 250, 100}, null, null);
-
- //Create Monomethylhydrazine
- Monomethylhydrazine = FluidUtils.generateFluidNonMolten("Monomethylhydrazine", "Monomethylhydrazine", -52, new short[]{125, 125, 125, 100}, null, null);
-
- //Create Anthracene
- Nitrous_Oxide = FluidUtils.generateFluidNonMolten("NitrousOxide", "Nitrous Oxide", -91, new short[]{255, 255, 255, 100}, null, null);
-
- //Nos
- if (!FluidUtils.doesFluidExist("NitrousOxide")){
- Nitrous_Oxide = FluidUtils.generateFluidNoPrefix("NitrousOxide", "Nitrous Oxide", -91, new short[]{255, 255, 255, 100});
- }
- else {
- Nitrous_Oxide = FluidUtils.getWildcardFluidStack("NitrousOxide", 1).getFluid();
- if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellNitrousOxide", 1) == null){
- new BaseItemComponent("NitrousOxide", "Nitrous Oxide", new short[] {10, 10, 175});
- }
- }
-
- //Unsymmetrical_Dimethylhydrazine
- if (FluidUtils.getFluidStack("1,1dimethylhydrazine", 1) == null){
- Unsymmetrical_Dimethylhydrazine = FluidUtils.generateFluidNonMolten("UnsymmetricalDimethylhydrazine", "Unsymmetrical Dimethylhydrazine", -57, new short[]{70, 210, 20, 100}, null, null);
- }
- else {
- Unsymmetrical_Dimethylhydrazine = FluidUtils.getFluidStack("1,1dimethylhydrazine", 1000).getFluid();
- }
-
- //Create Hydrated_Ammonium_Nitrate_Slurry
- Hydrated_Ammonium_Nitrate_Slurry = FluidUtils.generateFluidNonMolten("AmmoniumNitrateSlurry", "Hydrated Ammonium Nitrate Slurry", 450, new short[]{150, 75, 150, 100}, null, null);
-
- //Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O
- Ammonium_Nitrate_Dust = ItemUtils.generateSpecialUseDusts("AmmoniumNitrate", "Ammonium Nitrate", "N2H4O3", Utils.rgbtoHexValue(150, 75, 150))[0];
-
- //Create Liquid_Oxygen
- if (FluidUtils.getFluidStack("LiquidOxygen", 1) == null && FluidUtils.getFluidStack("liquidoxygen", 1) == null){
- Liquid_Oxygen = FluidUtils.generateFluidNonMolten("LiquidOxygen", "Liquid Oxygen", -240, new short[]{75, 75, 220, 100}, null, null);
- }
- else {
- if (FluidUtils.getFluidStack("LiquidOxygen", 1) != null ) {
- Liquid_Oxygen = FluidUtils.getFluidStack("LiquidOxygen", 1).getFluid();
- }
- else {
- Liquid_Oxygen = FluidUtils.getFluidStack("liquidoxygen", 1).getFluid();
- }
- if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellLiquidOxygen", 1) == null){
- new BaseItemComponent("LiquidOxygen", "Liquid Oxygen", new short[] {10, 10, 175});
- }
- }
-
- Formaldehyde = FluidUtils.generateFluidNonMolten("Formaldehyde", "Formaldehyde", -92, new short[]{150, 75, 150, 100}, null, null);
- Formaldehyde_Catalyst = ItemUtils.generateSpecialUseDusts("FormaldehydeCatalyst", "Formaldehyde Catalyst", "Fe16V1", Utils.rgbtoHexValue(25, 5, 25))[0];
-
-
- 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 Fuel Mixture", -250, new short[]{250, 50, 50, 100}, null, null);
- Monomethylhydrazine_Plus_Nitric_Acid = FluidUtils.generateFluidNonMolten("RocketFuelMixC", "CN3H7O3 Rocket Fuel", -300, new short[]{125, 75, 180, 100}, null, null);
- Dense_Hydrazine_Mix = FluidUtils.generateFluidNonMolten("RocketFuelMixD", "Dense Hydrazine Fuel Mixture", -250, new short[]{175, 80, 120, 100}, null, null);
-
-
-
- createRecipes();
-
-
- }
-
- private static void createRecipes() {
- createKerosene();
- createRP1();
- createNitrogenTetroxide();
- createHydrazine();
- createMonomethylhydrazine();
-
- if (!CORE.GTNH) {
- createLOX();
- }
-
-
- createHydratedAmmoniumNitrateSlurry();
- createAmmoniumNitrateDust();
- createFormaldehyde();
- createFormaldehydeCatalyst();
- createUnsymmetricalDimethylhydrazine();
-
- createRocketFuels();
- addRocketFuelsToMap();
-
- }
-
+
public static void createKerosene(){
FluidStack fuelA = FluidUtils.getFluidStack("diesel", 400);
FluidStack fuelB = FluidUtils.getFluidStack("fuel", 400);
@@ -500,6 +401,118 @@ public class RocketFuels {
}
+ @Override
+ public String errorMessage() {
+ // TODO Auto-generated method stub
+ return "Bad Rocket Fuel Science!";
+ }
+
+ @Override
+ public boolean generateRecipes() {
+ createKerosene();
+ createRP1();
+ createNitrogenTetroxide();
+ createHydrazine();
+ createMonomethylhydrazine();
+
+ if (!CORE.GTNH) {
+ createLOX();
+ }
+
+
+ createHydratedAmmoniumNitrateSlurry();
+ createAmmoniumNitrateDust();
+ createFormaldehyde();
+ createFormaldehydeCatalyst();
+ createUnsymmetricalDimethylhydrazine();
+
+ createRocketFuels();
+ addRocketFuelsToMap();
+
+ return true;
+ }
+
+ @Override
+ public void items() {
+ Formaldehyde_Catalyst = ItemUtils.generateSpecialUseDusts("FormaldehydeCatalyst", "Formaldehyde Catalyst", "Fe16V1", Utils.rgbtoHexValue(25, 5, 25))[0];
+ }
+
+ @Override
+ public void blocks() {
+ }
+
+ @Override
+ public void fluids() {
+ //Create Kerosene
+ Kerosene = FluidUtils.generateFluidNonMolten("Kerosene", "Kerosene", 500, new short[]{150, 40, 150, 100}, null, null);
+
+ //RP! Focket Fuel
+ RP1 = FluidUtils.generateFluidNonMolten("RP1Fuel", "RP-1 Rocket Fuel", 500, new short[]{210, 50, 50, 100}, null, null);
+
+ //Create Nitrogen Tetroxide
+ Nitrogen_Tetroxide = FluidUtils.generateFluidNonMolten("NitrogenTetroxide", "Nitrogen Tetroxide", -11, new short[]{170, 170, 0, 100}, null, null);
+
+ //Create Hydrazine
+ Hydrazine = FluidUtils.generateFluidNonMolten("Hydrazine", "Hydrazine", 2, new short[]{250, 250, 250, 100}, null, null);
+
+ //Create Monomethylhydrazine
+ Monomethylhydrazine = FluidUtils.generateFluidNonMolten("Monomethylhydrazine", "Monomethylhydrazine", -52, new short[]{125, 125, 125, 100}, null, null);
+
+ //Create Anthracene
+ Nitrous_Oxide = FluidUtils.generateFluidNonMolten("NitrousOxide", "Nitrous Oxide", -91, new short[]{255, 255, 255, 100}, null, null);
+
+ //Nos
+ if (!FluidUtils.doesFluidExist("NitrousOxide")){
+ Nitrous_Oxide = FluidUtils.generateFluidNoPrefix("NitrousOxide", "Nitrous Oxide", -91, new short[]{255, 255, 255, 100});
+ }
+ else {
+ Nitrous_Oxide = FluidUtils.getWildcardFluidStack("NitrousOxide", 1).getFluid();
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellNitrousOxide", 1) == null){
+ new BaseItemComponent("NitrousOxide", "Nitrous Oxide", new short[] {10, 10, 175});
+ }
+ }
+
+ //Unsymmetrical_Dimethylhydrazine
+ if (FluidUtils.getFluidStack("1,1dimethylhydrazine", 1) == null){
+ Unsymmetrical_Dimethylhydrazine = FluidUtils.generateFluidNonMolten("UnsymmetricalDimethylhydrazine", "Unsymmetrical Dimethylhydrazine", -57, new short[]{70, 210, 20, 100}, null, null);
+ }
+ else {
+ Unsymmetrical_Dimethylhydrazine = FluidUtils.getFluidStack("1,1dimethylhydrazine", 1000).getFluid();
+ }
+
+ //Create Hydrated_Ammonium_Nitrate_Slurry
+ Hydrated_Ammonium_Nitrate_Slurry = FluidUtils.generateFluidNonMolten("AmmoniumNitrateSlurry", "Hydrated Ammonium Nitrate Slurry", 450, new short[]{150, 75, 150, 100}, null, null);
+
+ //Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O
+ Ammonium_Nitrate_Dust = ItemUtils.generateSpecialUseDusts("AmmoniumNitrate", "Ammonium Nitrate", "N2H4O3", Utils.rgbtoHexValue(150, 75, 150))[0];
+
+ //Create Liquid_Oxygen
+ if (FluidUtils.getFluidStack("LiquidOxygen", 1) == null && FluidUtils.getFluidStack("liquidoxygen", 1) == null){
+ Liquid_Oxygen = FluidUtils.generateFluidNonMolten("LiquidOxygen", "Liquid Oxygen", -240, new short[]{75, 75, 220, 100}, null, null);
+ }
+ else {
+ if (FluidUtils.getFluidStack("LiquidOxygen", 1) != null ) {
+ Liquid_Oxygen = FluidUtils.getFluidStack("LiquidOxygen", 1).getFluid();
+ }
+ else {
+ Liquid_Oxygen = FluidUtils.getFluidStack("liquidoxygen", 1).getFluid();
+ }
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellLiquidOxygen", 1) == null){
+ new BaseItemComponent("LiquidOxygen", "Liquid Oxygen", new short[] {10, 10, 175});
+ }
+ }
+
+
+ Formaldehyde = FluidUtils.generateFluidNonMolten("Formaldehyde", "Formaldehyde", -92, 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 Fuel Mixture", -250, new short[]{250, 50, 50, 100}, null, null);
+ Monomethylhydrazine_Plus_Nitric_Acid = FluidUtils.generateFluidNonMolten("RocketFuelMixC", "CN3H7O3 Rocket Fuel", -300, new short[]{125, 75, 180, 100}, null, null);
+ Dense_Hydrazine_Mix = FluidUtils.generateFluidNonMolten("RocketFuelMixD", "Dense Hydrazine Fuel Mixture", -250, new short[]{175, 80, 120, 100}, null, null);
+
+
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/util/data/StringUtils.java b/src/Java/gtPlusPlus/core/util/data/StringUtils.java
index 2821a0c1c9..2372d04c15 100644
--- a/src/Java/gtPlusPlus/core/util/data/StringUtils.java
+++ b/src/Java/gtPlusPlus/core/util/data/StringUtils.java
@@ -1,6 +1,8 @@
package gtPlusPlus.core.util.data;
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.util.Utils;
public class StringUtils {
@@ -134,19 +136,62 @@ public class StringUtils {
}
}
+
+
+ /**
+ * Is this a special regex character for delimination? (.$|()[]{}^?*+\\)
+ * @param aChar - The char to test
+ * @return - Is this a special character?
+ */
+ public static boolean isSpecialCharacter(char aChar) {
+ if (aChar == '"' || aChar == '.' || aChar == '$' || aChar == '|' || aChar == '(' || aChar == ')' || aChar == '['
+ || aChar == ']' || aChar == '{' || aChar == '}' || aChar == '^' || aChar == '?' || aChar == '*'
+ || aChar == '+' || aChar == '\\') {
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean isEscaped(String aString) {
+ return aString.substring(0, 1).equals("\\");
+ }
+
public static String splitAndUppercase(String aInput, String aDelim) {
+
+ if (!isEscaped(aDelim)) {
+ boolean isSpecial = false;
+ for (int o=0;o<aInput.length();o++) {
+ if (isSpecialCharacter(aInput.charAt(o))) {
+ isSpecial = true;
+ }
+ }
+ if (isSpecial) {
+ aDelim = "\\"+aDelim;
+ }
+ }
+
+
+ Logger.INFO("Splitting "+aInput);
String[] aSplit = aInput.split(aDelim);
+ Logger.INFO("Split into "+aSplit == null ? ""+0 : aSplit.length+" parts.");
if (aSplit == null || aSplit.length == 0) {
return aInput;
}
else {
AutoMap<String> aTemp = new AutoMap<String>();
for (String s : aSplit) {
- aTemp.put(firstLetterCaps(s));
+ Logger.INFO("Found: "+s);
+ s = s.replace(".", "");
+ s = Utils.sanitizeString(s);
+ s = firstLetterCaps(s);
+ Logger.INFO("Formatted & Captilized: "+s);
+ aTemp.put(s);
}
+ Logger.INFO("Rebuilding");
String aReturn = "";
for (String s : aTemp) {
aReturn += s;
+ Logger.INFO("Step: "+aReturn);
}
return aReturn;
}