aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java18
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java2
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_OpenBlocks.java2
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java12
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java24
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java439
-rw-r--r--src/Java/gtPlusPlus/core/item/init/ItemsFoods.java12
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java34
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_General.java10
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java48
-rw-r--r--src/Java/gtPlusPlus/core/recipe/common/CI.java20
-rw-r--r--src/Java/gtPlusPlus/core/util/data/StringUtils.java40
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java12
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java2
16 files changed, 596 insertions, 89 deletions
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java
index a5d0768e72..cd5d36b653 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java
@@ -40,17 +40,17 @@ public class COMPAT_CompactWindmills {
public static ItemStack evWindmill = ItemUtils.simpleMetaStack("CompactWindmills:blockCompactWindmill", 4, 1);
//Compact Rotors
- public static ItemStack rotor2 = ItemUtils.getItemStack("CompactWindmills:WOOL", 1);
- public static ItemStack rotor1 = ItemUtils.getItemStack("CompactWindmills:WOOD", 1);
- public static ItemStack rotor3 = ItemUtils.getItemStack("CompactWindmills:ALLOY", 1);
- public static ItemStack rotor4 = ItemUtils.getItemStack("CompactWindmills:CARBON", 1);
- public static ItemStack rotor5 = ItemUtils.getItemStack("CompactWindmills:IRIDIUM", 1);
+ public static ItemStack rotor2 = ItemUtils.getItemStackFromFQRN("CompactWindmills:WOOL", 1);
+ public static ItemStack rotor1 = ItemUtils.getItemStackFromFQRN("CompactWindmills:WOOD", 1);
+ public static ItemStack rotor3 = ItemUtils.getItemStackFromFQRN("CompactWindmills:ALLOY", 1);
+ public static ItemStack rotor4 = ItemUtils.getItemStackFromFQRN("CompactWindmills:CARBON", 1);
+ public static ItemStack rotor5 = ItemUtils.getItemStackFromFQRN("CompactWindmills:IRIDIUM", 1);
//IC2 Rotors
- public static ItemStack rotorIC1 = ItemUtils.getItemStack("IC2:itemwoodrotor", 1);
- public static ItemStack rotorIC2 = ItemUtils.getItemStack("IC2:itemironrotor", 1);
- public static ItemStack rotorIC3 = ItemUtils.getItemStack("IC2:itemsteelrotor", 1);
- public static ItemStack rotorIC4 = ItemUtils.getItemStack("IC2:itemwcarbonrotor", 1);
+ public static ItemStack rotorIC1 = ItemUtils.getItemStackFromFQRN("IC2:itemwoodrotor", 1);
+ public static ItemStack rotorIC2 = ItemUtils.getItemStackFromFQRN("IC2:itemironrotor", 1);
+ public static ItemStack rotorIC3 = ItemUtils.getItemStackFromFQRN("IC2:itemsteelrotor", 1);
+ public static ItemStack rotorIC4 = ItemUtils.getItemStackFromFQRN("IC2:itemwcarbonrotor", 1);
public static ItemStack rotorBlade1 = ItemUtils.simpleMetaStack("IC2:itemRecipePart", 7, 1);
public static ItemStack rotorBlade2 = ItemUtils.simpleMetaStack("IC2:itemRecipePart", 8, 1);
public static ItemStack rotorBlade3 = ItemUtils.simpleMetaStack("IC2:itemRecipePart", 10, 1);
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java
index 45a70997e4..4d736e1362 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java
@@ -10,7 +10,7 @@ import gtPlusPlus.core.util.minecraft.RecipeUtils;
public class COMPAT_ExtraUtils {
public static void OreDict(){
- RECIPES_Tools.RECIPE_DivisionSigil = new ItemStack(ItemUtils.getItem("ExtraUtilities:divisionSigil"));
+ RECIPES_Tools.RECIPE_DivisionSigil = new ItemStack(ItemUtils.getItemFromFQRN("ExtraUtilities:divisionSigil"));
run();
}
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_OpenBlocks.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_OpenBlocks.java
index c7b90b780c..6381a6705e 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_OpenBlocks.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_OpenBlocks.java
@@ -13,7 +13,7 @@ public class COMPAT_OpenBlocks {
private static final void run(){
- Item aGraveItem = ItemUtils.getItem("OpenBlocks:grave");
+ Item aGraveItem = ItemUtils.getItemFromFQRN("OpenBlocks:grave");
if (aGraveItem == null) {
return;
}
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java
index 6247face1d..b78c10c8ce 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java
@@ -20,9 +20,9 @@ public class COMPAT_Thaumcraft {
for(int i=0; i<=6; i++){
//Utils.LOG_INFO(""+i);
ItemUtils.getItemForOreDict("Thaumcraft:ItemShard", "shardAny", "TC Shard "+i, i);
- GT_OreDictUnificator.registerOre("shardAny", ItemUtils.getItemStack("Thaumcraft:ItemShard:"+i, 1));
+ GT_OreDictUnificator.registerOre("shardAny", ItemUtils.getItemStackFromFQRN("Thaumcraft:ItemShard:"+i, 1));
ItemUtils.getItemForOreDict("Thaumcraft:ItemShard", "gemInfusedAnything", "TC Shard "+i, i);
- GT_OreDictUnificator.registerOre("gemInfusedAnything", ItemUtils.getItemStack("Thaumcraft:ItemShard:"+i, 1));
+ GT_OreDictUnificator.registerOre("gemInfusedAnything", ItemUtils.getItemStackFromFQRN("Thaumcraft:ItemShard:"+i, 1));
//System.out.println("TC Shard registration count is: "+i);
}
@@ -30,15 +30,15 @@ public class COMPAT_Thaumcraft {
for(int i=0; i<=6; i++){
//Utils.LOG_INFO(""+i);
ItemUtils.getItemForOreDict("ForbiddenMagic:NetherShard", "shardAny", "FM Shard "+i, i);
- GT_OreDictUnificator.registerOre("shardAny", ItemUtils.getItemStack("ForbiddenMagic:NetherShard:"+i, 1));
+ GT_OreDictUnificator.registerOre("shardAny", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:NetherShard:"+i, 1));
ItemUtils.getItemForOreDict("ForbiddenMagic:NetherShard", "gemInfusedAnything", "FM Shard "+i, i);
- GT_OreDictUnificator.registerOre("gemInfusedAnything", ItemUtils.getItemStack("ForbiddenMagic:NetherShard:"+i, 1));
+ GT_OreDictUnificator.registerOre("gemInfusedAnything", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:NetherShard:"+i, 1));
//System.out.println("TC Shard registration count is: "+i);
}
ItemUtils.getItemForOreDict("ForbiddenMagic:GluttonyShard", "shardAny", "FM Gluttony Shard", 0);
- GT_OreDictUnificator.registerOre("shardAny", ItemUtils.getItemStack("ForbiddenMagic:GluttonyShard", 1));
+ GT_OreDictUnificator.registerOre("shardAny", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:GluttonyShard", 1));
ItemUtils.getItemForOreDict("ForbiddenMagic:GluttonyShard", "gemInfusedAnything", "FM Gluttony Shard", 0);
- GT_OreDictUnificator.registerOre("gemInfusedAnything", ItemUtils.getItemStack("ForbiddenMagic:GluttonyShard", 1));
+ GT_OreDictUnificator.registerOre("gemInfusedAnything", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:GluttonyShard", 1));
}
}
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
index f6735de8e4..1af7c05d64 100644
--- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
+++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
@@ -39,7 +39,7 @@ public class COMPAT_HANDLER {
GT_OreDictUnificator.registerOre("craftingToolSandHammer", new ItemStack(ModItems.itemSandstoneHammer));
for(int i=1; i<=10; i++){
- GT_OreDictUnificator.registerOre("bufferCore_"+GT_Values.VN[i-1], new ItemStack(ItemUtils.getItem("miscutils:item.itemBufferCore"+i)));
+ GT_OreDictUnificator.registerOre("bufferCore_"+GT_Values.VN[i-1], new ItemStack(ItemUtils.getItemFromFQRN("miscutils:item.itemBufferCore"+i)));
}
}
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 8057f6bbe1..2a7bae629e 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -32,6 +32,7 @@ import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble;
import gtPlusPlus.core.item.bauble.BatteryPackBaseBauble;
import gtPlusPlus.core.item.bauble.HealthBoostBauble;
import gtPlusPlus.core.item.bauble.ModularBauble;
+import gtPlusPlus.core.item.chemistry.AgriculturalChem;
import gtPlusPlus.core.item.chemistry.CoalTar;
import gtPlusPlus.core.item.chemistry.IonParticles;
import gtPlusPlus.core.item.chemistry.NuclearChem;
@@ -366,7 +367,7 @@ public final class ModItems {
//Some Simple forms of materials
itemStickyRubber = new Item().setUnlocalizedName("itemStickyRubber").setCreativeTab(tabMachines).setTextureName(CORE.MODID + ":itemStickyRubber");
GameRegistry.registerItem(itemStickyRubber, "itemStickyRubber");
- GT_OreDictUnificator.registerOre("ingotRubber", ItemUtils.getItemStack(CORE.MODID+":itemStickyRubber", 1));
+ GT_OreDictUnificator.registerOre("ingotRubber", ItemUtils.getItemStackFromFQRN(CORE.MODID+":itemStickyRubber", 1));
itemCoalCoke = new BaseItemBurnable("itemCoalCoke", "Coking Coal", tabMisc, 64, 0, "Used for metallurgy.", "fuelCoke", 3200, 0).setTextureName(CORE.MODID + ":itemCoalCoke");
@@ -884,7 +885,10 @@ public final class ModItems {
//Nuclear Processing
NuclearChem.run();
-
+
+ //Farm Animal Fun
+ AgriculturalChem.run();
+
//Only used for debugging.
/*if (CORE.DEVENV) {
new ConnectedBlockFinder();
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
index 522b7e900e..fd69c97ff5 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
@@ -18,6 +18,7 @@ import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.data.StringUtils;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.EntityUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
@@ -77,18 +78,33 @@ public class BaseItemComponent extends Item{
//For Cell Generation
public BaseItemComponent(final String unlocalName, final String localName, final short[] RGBA) {
+
+ // Handles .'s from fluid internal names.
+ String aFormattedNameForFluids;
+ if (unlocalName.contains(".")) {
+ if (StringUtils.characterCount(unlocalName, '.') > 1) {
+ aFormattedNameForFluids = StringUtils.splitAndUppercase(unlocalName, ".");
+ }
+ else {
+ aFormattedNameForFluids = unlocalName.replace(".", "");
+ }
+ }
+ else {
+ aFormattedNameForFluids = unlocalName;
+ }
+
this.componentMaterial = null;
- this.unlocalName = "itemCell"+unlocalName;
+ this.unlocalName = "itemCell"+aFormattedNameForFluids;
this.materialName = localName;
this.componentType = ComponentTypes.CELL;
this.setCreativeTab(AddToCreativeTab.tabMisc);
- this.setUnlocalizedName(unlocalName);
+ this.setUnlocalizedName(aFormattedNameForFluids);
this.setMaxStackSize(64);
this.componentColour = MathUtils.getRgbAsHex(RGBA);
this.extraData = RGBA;
this.setTextureName(CORE.MODID + ":" + "item"+ComponentTypes.CELL.COMPONENT_NAME);
- GameRegistry.registerItem(this, unlocalName);
- GT_OreDictUnificator.registerOre(ComponentTypes.CELL.getOreDictName()+unlocalName, ItemUtils.getSimpleStack(this));
+ GameRegistry.registerItem(this, aFormattedNameForFluids);
+ GT_OreDictUnificator.registerOre(ComponentTypes.CELL.getOreDictName()+aFormattedNameForFluids, ItemUtils.getSimpleStack(this));
registerComponent();
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
new file mode 100644
index 0000000000..bd8630da69
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
@@ -0,0 +1,439 @@
+package gtPlusPlus.core.item.chemistry;
+
+import java.util.ArrayList;
+
+import forestry.plugins.PluginCore;
+import gregtech.api.enums.GT_Values;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+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;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+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;
+
+public class AgriculturalChem {
+
+
+ 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;
+
+
+ /**
+ * Items
+ */
+
+ //Manure Byproducts
+ public static Item dustManureByproducts;
+ //Organic Fertilizer
+ public static Item dustOrganicFertilizer;
+ //Dirt
+ public static Item dustDirt;
+
+
+
+
+ // Poop Juice
+ // vv - Centrifuge
+ // Manure Slurry && Manure Byproducts -> (Elements) Centrifuge to several tiny piles
+ // vv - Chem Reactor - Add Peat, Meat
+ // Organic Fertilizer
+ // vv - Dehydrate
+ // Fertilizer
+
+ // Poop Juice
+ // vv - Mixer - Add Blood, Bone, Meat (1000L Poo, 200L Blood, x2 Bone, x3 Meat)
+ // Fertile Manure Slurry
+ // vv - Chem Reactor - Add Peat x1.5
+ // Organic Fertilizer x3
+ // vv - Dehydrate
+ // Fertilizer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public static void run(){
+
+ aBOP = LoadedMods.BiomesOPlenty;
+ aTiCon = LoadedMods.TiCon;
+
+ Logger.INFO("Adding Agrochemical content");
+
+ FluidStack aBlood;
+ if (aBOP) {
+ aBlood = FluidUtils.getFluidStack("hell_blood", 100);
+ if (aBlood != null) {
+ Logger.INFO("Found Biome's o Plenty, enabled Blood support.");
+ CustomBlood = aBlood.getFluid();
+ mBloodFluids.put(aBlood);
+ }
+ }
+
+ 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.");
+ FluidStack aTempBlood = FluidUtils.getWildcardFluidStack("blood", 100);
+ if (aTempBlood != null) {
+ CustomBlood = aTempBlood.getFluid();
+ }
+ else {
+ aTempBlood = FluidUtils.getWildcardFluidStack("hell_blood", 100);
+ if (aTempBlood == null) {
+ CustomBlood = FluidUtils.generateFluidNoPrefix("blood", "Blood", 32+175, new short[]{175, 25, 25, 100}, true);
+ }
+ else {
+ CustomBlood = aTempBlood.getFluid();
+ }
+ }
+ 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);
+
+
+
+ //Ca5(PO4)3(OH)
+
+
+ // 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>();
+ private static AutoMap<ItemStack> mVege = new AutoMap<ItemStack>();
+ private static AutoMap<ItemStack> mNuts = new AutoMap<ItemStack>();
+ private static AutoMap<ItemStack> mSeeds = new AutoMap<ItemStack>();
+ private static AutoMap<ItemStack> mPeat = new AutoMap<ItemStack>();
+ private static AutoMap<ItemStack> mBones = new AutoMap<ItemStack>();
+ private static AutoMap<ItemStack> mBoneMeal = new AutoMap<ItemStack>();
+
+ private static AutoMap<ItemStack> mList_Master_Meats = new AutoMap<ItemStack>();
+ 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);
+ processOreDict("listAllfruit", mFruits);
+ processOreDict("listAllVeggie", mVege);
+ processOreDict("listAllnut", mNuts);
+ processOreDict("listAllSeed", mSeeds);
+ processOreDict("brickPeat", mPeat);
+ processOreDict("bone", mBones);
+ processOreDict("dustBone", mBoneMeal);
+ //Just make a mega list, makes life easier.
+ if (!mMeats.isEmpty()) {
+ for (ItemStack g : mMeats) {
+ mList_Master_Meats.put(g);
+ }
+ }
+ if (!mFish.isEmpty()) {
+ 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);
+ }
+ }
+ if (!mNuts.isEmpty()) {
+ 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);
+ }
+ }
+ if (!mBones.isEmpty()) {
+ for (ItemStack g : mBones) {
+ mList_Master_Bones.put(g);
+ }
+ }
+ }
+
+ 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 aManureByprod = ItemUtils.getSimpleStack(dustManureByproducts, 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,
+ aManureByprod,
+ aManureByprod,
+ aManureByprod,
+ aManureByprod,
+ 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,
+ aManureByprod,
+ aManureByprod,
+ aManureByprod,
+ aManureByprod,
+ new int[]{4000, 3000, 1250, 1250, 675, 675}, //Chances
+ 20*20, //Time
+ 60); //EU
+
+ }
+
+ private static void addAdvancedSlurryRecipes() {
+
+ ItemStack aCircuit = CI.getNumberedCircuit(10);
+ ItemStack aBone;
+ ItemStack aMeat;
+ 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);
+ // Poop Juice to Fertile Slurry
+ GT_Values.RA.addMixerRecipe(aCircuit, aBone, aMeat, aInputCells,
+ aBloodStack, // Input Fluid
+ aOutput, // Output Fluid
+ aEmptyCells, // Output Item
+ 20 * 8, // Time?
+ 60 // Eu?
+ );
+ }
+ }
+ }
+ }
+
+ private static void addBasicOrganiseFertRecipes() {
+ FluidStack aInputFluid = FluidUtils.getFluidStack(ManureSlurry, 1000);
+ ItemStack aOutputDust = ItemUtils.getSimpleStack(dustOrganicFertilizer, 3);
+ ItemStack aPeat;
+ ItemStack aMeat;
+ for (ItemStack aPeatStack : mPeat) {
+ aPeat = ItemUtils.getSimpleStack(aPeatStack, 3);
+ for (ItemStack aMeatStack : mList_Master_Meats) {
+ aMeat = ItemUtils.getSimpleStack(aMeatStack, 5);
+ CORE.RA.addChemicalRecipe(aPeat, aMeat, aInputFluid, null, aOutputDust, 20 * 20, 120);
+ }
+
+ aPeat = ItemUtils.getSimpleStack(aPeatStack, 2);
+ for (ItemStack aMeatStack : mList_Master_FruitVege) {
+ aMeat = ItemUtils.getSimpleStack(aMeatStack, 9);
+ CORE.RA.addChemicalRecipe(aPeat, aMeat, aInputFluid, null, aOutputDust, 10 * 20, 120);
+ }
+ }
+ }
+
+ private static void addAdvancedOrganiseFertRecipes() {
+ FluidStack aInputFluid = FluidUtils.getFluidStack(FertileManureSlurry, 1000);
+ ItemStack aOutputDust = ItemUtils.getSimpleStack(dustOrganicFertilizer, 7);
+ ItemStack aPeat;
+ ItemStack aMeat;
+ for (ItemStack aPeatStack : mPeat) {
+ aPeat = ItemUtils.getSimpleStack(aPeatStack, 5);
+ for (ItemStack aMeatStack : mList_Master_Meats) {
+ aMeat = ItemUtils.getSimpleStack(aMeatStack, 7);
+ CORE.RA.addChemicalRecipe(aPeat, aMeat, aInputFluid, null, aOutputDust, 10 * 20, 140);
+ }
+ aPeat = ItemUtils.getSimpleStack(aPeatStack, 3);
+ for (ItemStack aMeatStack : mList_Master_FruitVege) {
+ aMeat = ItemUtils.getSimpleStack(aMeatStack, 12);
+ CORE.RA.addChemicalRecipe(aPeat, aMeat, aInputFluid, null, aOutputDust, 5 * 20, 140);
+ }
+ }
+ }
+
+ private static void addMiscRecipes() {
+
+ ItemStack aDustOrganicFert = ItemUtils.getSimpleStack(dustOrganicFertilizer, 1);
+ 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);
+ }
+
+ /**
+ * 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);
+ }
+
+
+ // Dirt Production
+ CORE.RA.addCompressorRecipe(ItemUtils.getSimpleStack(dustDirt, 9), ItemUtils.getSimpleStack(Blocks.dirt), 20 * 2, 8);
+
+ // Add Fuel Usages
+ CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(PoopJuice, 1000), 12000);
+ CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(ManureSlurry, 1000), 24000);
+ CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(FertileManureSlurry, 1000), 32000);
+
+
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java b/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
index 77a06edac2..94ebb3ffcb 100644
--- a/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
+++ b/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
@@ -21,24 +21,24 @@ public class ItemsFoods {
//Raisin Bread
ModItems.itemIngotRaisinBread = new BaseItemFood("itemIngotRaisinBread", "Raisin Bread", 3, 1.5f, false, new PotionEffect(Potion.weakness.id, 40, 1)).setAlwaysEdible();
- GT_OreDictUnificator.registerOre("foodRaisinBread", ItemUtils.getItemStack(CORE.MODID+":itemIngotRaisinBread", 1));
+ GT_OreDictUnificator.registerOre("foodRaisinBread", ItemUtils.getItemStackFromFQRN(CORE.MODID+":itemIngotRaisinBread", 1));
//Hot Raisin Bread
ModItems.itemHotIngotRaisinBread = new BaseItemHotFood("itemHotIngotRaisinBread", 1, 0.5f, "Raisin Bread", 120, ModItems.itemIngotRaisinBread);
- GT_OreDictUnificator.registerOre("foodHotRaisinBread", ItemUtils.getItemStack(CORE.MODID+":itemHotIngotRaisinBread", 1));
+ GT_OreDictUnificator.registerOre("foodHotRaisinBread", ItemUtils.getItemStackFromFQRN(CORE.MODID+":itemHotIngotRaisinBread", 1));
//Raisin Bread
ModItems.itemFoodRaisinToast = new BaseItemFood("itemFoodRaisinToast", "Raisin Toast", 1, 0.5f, false).setAlwaysEdible();
- GT_OreDictUnificator.registerOre("foodRaisinToast", ItemUtils.getItemStack(CORE.MODID+":itemFoodRaisinToast", 1));
+ GT_OreDictUnificator.registerOre("foodRaisinToast", ItemUtils.getItemStackFromFQRN(CORE.MODID+":itemFoodRaisinToast", 1));
//Hot Raisin Bread
ModItems.itemHotFoodRaisinToast = new BaseItemHotFood("itemHotFoodRaisinToast", 1, 0.5f, "Raisin Toast", 20, ModItems.itemFoodRaisinToast);
- GT_OreDictUnificator.registerOre("foodHotRaisinToast", ItemUtils.getItemStack(CORE.MODID+":itemHotFoodRaisinToast", 1));
+ GT_OreDictUnificator.registerOre("foodHotRaisinToast", ItemUtils.getItemStackFromFQRN(CORE.MODID+":itemHotFoodRaisinToast", 1));
//Raisin Bread
ModItems.itemFoodCurriedSausages = new BaseItemFood("itemFoodCurriedSausages", "Curried Sausages", 5, 2f, false);
- GT_OreDictUnificator.registerOre("foodCurriedSausages", ItemUtils.getItemStack(CORE.MODID+":itemFoodCurriedSausages", 1));
+ GT_OreDictUnificator.registerOre("foodCurriedSausages", ItemUtils.getItemStackFromFQRN(CORE.MODID+":itemFoodCurriedSausages", 1));
//Hot Raisin Bread
ModItems.itemHotFoodCurriedSausages = new BaseItemHotFood("itemHotFoodCurriedSausages", 1, 0.5f, "Curried Sausages", 240, ModItems.itemFoodCurriedSausages);
- GT_OreDictUnificator.registerOre("foodHotCurriedSausages", ItemUtils.getItemStack(CORE.MODID+":itemHotFoodCurriedSausages", 1));
+ GT_OreDictUnificator.registerOre("foodHotCurriedSausages", ItemUtils.getItemStackFromFQRN(CORE.MODID+":itemHotFoodCurriedSausages", 1));
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index 37c7fef1db..7164bc20f7 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -326,7 +326,7 @@ public class RECIPES_GREGTECH {
CI.getAlternativeTieredFluid(7, 144 * 18 * (GTNH ? 16 : 8)),
},
- ItemUtils.getItemStack("miscutils:personalHealingDevice", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:personalHealingDevice", 1),
20 * 60 * 30 * (GTNH ? 2 : 1),
(int) GT_Values.V[7]);
@@ -335,7 +335,7 @@ public class RECIPES_GREGTECH {
//Charge Pack LuV-UV
ItemStack[] aChargeResearch = new ItemStack[] {
- ItemUtils.getItemStack("miscutils:item.itemBufferCore7", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore7", 1),
ItemUtils.getSimpleStack(ModItems.itemChargePack1, 1),
ItemUtils.getSimpleStack(ModItems.itemChargePack2, 1),
ItemUtils.getSimpleStack(ModItems.itemChargePack3, 1),
@@ -349,10 +349,10 @@ public class RECIPES_GREGTECH {
};
ItemStack[] aBufferCoreInputs = new ItemStack[] {
- ItemUtils.getItemStack("miscutils:item.itemBufferCore7", GTNH ? 8 : 4),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore8", GTNH ? 8 : 4),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore9", GTNH ? 8 : 4),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore10", GTNH ? 8 : 4),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore7", GTNH ? 8 : 4),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore8", GTNH ? 8 : 4),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore9", GTNH ? 8 : 4),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore10", GTNH ? 8 : 4),
};
int aCurrSlot = 0;
@@ -696,21 +696,29 @@ public class RECIPES_GREGTECH {
GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemSulfuricPotion),
ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("sulfuricacid", 250));
- // Hydrofluoric Acid
- GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle),
- ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
- FluidUtils.getFluidStack("hydrofluoricacid", 250), null);
- GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
- ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("hydrofluoricacid", 250));
+
+ // Hydrofluoric Acid
+ boolean addedGtExtraction = false;
+ // Try use Internal GT Fluid first
if (Utils.getGregtechVersionAsInt() >= 50929) {
// Hydrofluoric Acid
GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle),
ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 250), null);
- GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
+ addedGtExtraction = GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 250));
}
+ //Add a Fill recipe for GT++ Acid
+ GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle),
+ ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
+ FluidUtils.getFluidStack("hydrofluoricacid", 125), null);
+ //Add an empty recipe, but only if we didn't for the standard GT HF. Prevents Fluid transformation exploits.
+ if (!addedGtExtraction)
+ GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
+ ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("hydrofluoricacid", 125));
+
+
}
private static void cokeOvenRecipes() {
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
index 54380306cc..1c0f3f8a28 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
@@ -50,7 +50,7 @@ public class RECIPES_General {
RECIPE_Obsidian = ItemUtils.getSimpleStack(Blocks.obsidian);
RECIPE_CraftingTable = ItemUtils.getSimpleStack(Blocks.crafting_table);
RECIPE_HydrogenDust = ItemUtils.getSimpleStack(ModItems.itemHydrogenBlob);
- RECIPE_BasicCasingIC2 = ItemUtils.getItemStack("IC2:blockMachine", 1);
+ RECIPE_BasicCasingIC2 = ItemUtils.getItemStackFromFQRN("IC2:blockMachine", 1);
OUTPUT_Workbench_Bronze = ItemUtils.getSimpleStack(ModBlocks.blockWorkbench);
OUTPUT_Blueprint = ItemUtils.getSimpleStack(ModItems.itemBlueprintBase);
run();
@@ -127,9 +127,9 @@ public class RECIPES_General {
//Iron bars
final ItemStack ironBars;
if (CORE.GTNH) {
- ironBars = ItemUtils.getItemStack("dreamcraft:item.SteelBars", 1);
+ ironBars = ItemUtils.getItemStackFromFQRN("dreamcraft:item.SteelBars", 1);
} else {
- ironBars = ItemUtils.getItemStack("minecraft:iron_bars", 1);
+ ironBars = ItemUtils.getItemStackFromFQRN("minecraft:iron_bars", 1);
}
//Fish Trap
@@ -154,7 +154,7 @@ public class RECIPES_General {
null, CI.craftingToolWrench, null,
ironRecipe, ironRecipe, ironRecipe,
ironRecipe, ironRecipe, ironRecipe,
- ItemUtils.getItemStack("minecraft:iron_bars", 8))) {
+ ItemUtils.getItemStackFromFQRN("minecraft:iron_bars", 8))) {
Logger.INFO("Re-added old GT recipe for Iron Bars.");
}
}
@@ -287,7 +287,7 @@ public class RECIPES_General {
ItemUtils.getSimpleStack(ModBlocks.blockNet, 8), ItemUtils.getSimpleStack(Blocks.vine, 8),
ALLOY.TUMBAGA.getRing(1), },
FluidUtils.getWater(1000), // Fluid
- ItemUtils.getItemStack("miscutils:SlowBuildingRing", 1), // Output
+ ItemUtils.getItemStackFromFQRN("miscutils:SlowBuildingRing", 1), // Output
20 * 30, // Dur
16); // Eu
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index a7c0655f89..91ceb30911 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -97,16 +97,16 @@ public class RECIPES_Machines {
//Buffer Cores
- public static ItemStack RECIPE_BufferCore_ULV = ItemUtils.getItemStack("miscutils:item.itemBufferCore1", 1);
- public static ItemStack RECIPE_BufferCore_LV = ItemUtils.getItemStack("miscutils:item.itemBufferCore2", 1);
- public static ItemStack RECIPE_BufferCore_MV = ItemUtils.getItemStack("miscutils:item.itemBufferCore3", 1);
- public static ItemStack RECIPE_BufferCore_HV = ItemUtils.getItemStack("miscutils:item.itemBufferCore4", 1);
- public static ItemStack RECIPE_BufferCore_EV = ItemUtils.getItemStack("miscutils:item.itemBufferCore5", 1);
- public static ItemStack RECIPE_BufferCore_IV = ItemUtils.getItemStack("miscutils:item.itemBufferCore6", 1);
- public static ItemStack RECIPE_BufferCore_LuV = ItemUtils.getItemStack("miscutils:item.itemBufferCore7", 1);
- public static ItemStack RECIPE_BufferCore_ZPM = ItemUtils.getItemStack("miscutils:item.itemBufferCore8", 1);
- public static ItemStack RECIPE_BufferCore_UV = ItemUtils.getItemStack("miscutils:item.itemBufferCore9", 1);
- public static ItemStack RECIPE_BufferCore_MAX = ItemUtils.getItemStack("miscutils:item.itemBufferCore10", 1);
+ public static ItemStack RECIPE_BufferCore_ULV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore1", 1);
+ public static ItemStack RECIPE_BufferCore_LV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore2", 1);
+ public static ItemStack RECIPE_BufferCore_MV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore3", 1);
+ public static ItemStack RECIPE_BufferCore_HV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore4", 1);
+ public static ItemStack RECIPE_BufferCore_EV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore5", 1);
+ public static ItemStack RECIPE_BufferCore_IV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore6", 1);
+ public static ItemStack RECIPE_BufferCore_LuV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore7", 1);
+ public static ItemStack RECIPE_BufferCore_ZPM = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore8", 1);
+ public static ItemStack RECIPE_BufferCore_UV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore9", 1);
+ public static ItemStack RECIPE_BufferCore_MAX = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore10", 1);
//Wire
@@ -181,7 +181,7 @@ public class RECIPES_Machines {
//Lava Boiler
public static ItemStack boiler_Coal;
- public static ItemStack blockBricks = ItemUtils.getItemStack("minecraft:brick_block", 1);
+ public static ItemStack blockBricks = ItemUtils.getItemStackFromFQRN("minecraft:brick_block", 1);
//Batteries
public static String batteryBasic = "batteryBasic";
@@ -990,7 +990,7 @@ public class RECIPES_Machines {
"plateDoubleZeron100", CI.craftingToolHammer_Hard, "plateDoubleZeron100",
RECIPE_LFTRInnerCasing);
- ItemStack IC2HeatPlate = ItemUtils.getItemStack("IC2:reactorPlatingHeat", 1);
+ ItemStack IC2HeatPlate = ItemUtils.getItemStackFromFQRN("IC2:reactorPlatingHeat", 1);
RecipeUtils.addShapedGregtechRecipe(
"plateDoubleHastelloyN", IC2HeatPlate, "plateDoubleHastelloyN",
IC2HeatPlate, "frameGtHastelloyC276", IC2HeatPlate,
@@ -1605,7 +1605,7 @@ public class RECIPES_Machines {
Item aBaseCore = ModItems.itemControlCore;
ItemStack[] aInputPrevTier = new ItemStack[] {
- GTNH ? ItemUtils.getItemStack("miscutils:item.itemBufferCore3", 1) : ItemUtils.getItemStack("miscutils:item.itemBufferCore2", 1),
+ GTNH ? ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore3", 1) : ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore2", 1),
ItemUtils.simpleMetaStack(aBaseCore, 0, 1),
ItemUtils.simpleMetaStack(aBaseCore, 1, 1),
ItemUtils.simpleMetaStack(aBaseCore, 2, 1),
@@ -1636,7 +1636,7 @@ public class RECIPES_Machines {
aOutput[1],
aMat_A[1].getGear(GTNH ? 4 : 2),
aMat_B[2].getPlateDouble(GTNH ? 16 : 8),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+(GTNH ? "2" : "1"), GTNH ? 4 : 2),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+(GTNH ? "2" : "1"), GTNH ? 4 : 2),
ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(GTNH ? 3 : 2), GTNH ? 10 : 5)
},
aMat_B[3].getFluid(144 * 8), //Input Fluid
@@ -1806,16 +1806,16 @@ public class RECIPES_Machines {
ItemStack[] aOutput = new ItemStack[] {
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"1", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"2", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"3", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"4", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"5", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"6", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"7", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"8", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"9", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"10", 1)
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"1", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"2", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"3", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"4", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"5", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"6", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"7", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"8", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"9", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"10", 1)
};
int aCostMultiplier = GTNH ? 4 : 1;
diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java
index 28fa12ac1a..42cb075400 100644
--- a/src/Java/gtPlusPlus/core/recipe/common/CI.java
+++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java
@@ -631,16 +631,16 @@ public class CI {
public static ItemStack getEnergyCore(int aTier, int aAmount) {
ItemStack[] aOutput = new ItemStack[] {
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"1", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"2", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"3", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"4", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"5", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"6", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"7", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"8", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"9", 1),
- ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"10", 1)
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"1", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"2", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"3", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"4", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"5", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"6", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"7", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"8", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"9", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"10", 1)
};
return ItemUtils.getSimpleStack(aOutput[MathUtils.balance(aTier, 0, 9)], aAmount);
}
diff --git a/src/Java/gtPlusPlus/core/util/data/StringUtils.java b/src/Java/gtPlusPlus/core/util/data/StringUtils.java
index b64266b5d4..2821a0c1c9 100644
--- a/src/Java/gtPlusPlus/core/util/data/StringUtils.java
+++ b/src/Java/gtPlusPlus/core/util/data/StringUtils.java
@@ -1,5 +1,7 @@
package gtPlusPlus.core.util.data;
+import gtPlusPlus.api.objects.data.AutoMap;
+
public class StringUtils {
public static String superscript(String str) {
@@ -131,4 +133,42 @@ public class StringUtils {
return aData;
}
}
+
+ public static String splitAndUppercase(String aInput, String aDelim) {
+ String[] aSplit = aInput.split(aDelim);
+ if (aSplit == null || aSplit.length == 0) {
+ return aInput;
+ }
+ else {
+ AutoMap<String> aTemp = new AutoMap<String>();
+ for (String s : aSplit) {
+ aTemp.put(firstLetterCaps(s));
+ }
+ String aReturn = "";
+ for (String s : aTemp) {
+ aReturn += s;
+ }
+ return aReturn;
+ }
+ }
+
+ public static int characterCount(String aString, char aChar) {
+ return characterCount(aString, ""+aChar);
+ }
+
+ public static int characterCount(String aString, String aChar) {
+ int aLength = aString.length();
+ int aFound = 0;
+ if (aLength == 0 || !aString.contains(aChar)) {
+ return 0;
+ }
+ else {
+ for (int index = 0; index < aLength; index++) {
+ if (aString.substring(index, index+1).equals(aChar)) {
+ aFound++;
+ }
+ }
+ return aFound;
+ }
+ }
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
index 2522ba56da..50778e1285 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
@@ -124,7 +124,7 @@ public class ItemUtils {
final int meta) {
try {
Item em = null;
- final Item em1 = getItem(FQRN);
+ final Item em1 = getItemFromFQRN(FQRN);
// Utils.LOG_WARNING("Found: "+em1.getUnlocalizedName()+":"+meta);
if (em1 != null) {
em = em1;
@@ -158,7 +158,7 @@ public class ItemUtils {
if (MOD) {
try {
Item em = null;
- final Item em1 = getItem(FQRN);
+ final Item em1 = getItemFromFQRN(FQRN);
// Utils.LOG_WARNING("Found: "+em1.getUnlocalizedName()+":"+meta);
if (em1 != null) {
if (null == em) {
@@ -181,7 +181,7 @@ public class ItemUtils {
public static ItemStack simpleMetaStack(final String FQRN, final int meta, final int itemstackSize) {
try {
Item em = null;
- final Item em1 = getItem(FQRN);
+ final Item em1 = getItemFromFQRN(FQRN);
// Utils.LOG_WARNING("Found: "+em1.getUnlocalizedName()+":"+meta);
if (em1 != null) {
if (null == em) {
@@ -233,7 +233,7 @@ public class ItemUtils {
ItemStack temp;
if (fqrn.toLowerCase().contains(oreDict.toLowerCase())) {
final String sanitizedName = fqrn.replace(oreDict, "");
- temp = ItemUtils.getItemStack(sanitizedName, stackSize);
+ temp = ItemUtils.getItemStackFromFQRN(sanitizedName, stackSize);
return temp;
}
final String[] fqrnSplit = fqrn.split(":");
@@ -258,13 +258,13 @@ public class ItemUtils {
return null;
}
- public static Item getItem(final String fqrn) // fqrn = fully qualified resource name
+ public static Item getItemFromFQRN(final String fqrn) // fqrn = fully qualified resource name
{
final String[] fqrnSplit = fqrn.split(":");
return GameRegistry.findItem(fqrnSplit[0], fqrnSplit[1]);
}
- public static ItemStack getItemStack(final String fqrn, final int Size) // fqrn = fully qualified resource name
+ public static ItemStack getItemStackFromFQRN(final String fqrn, final int Size) // fqrn = fully qualified resource name
{
final String[] fqrnSplit = fqrn.split(":");
return GameRegistry.findItemStack(fqrnSplit[0], fqrnSplit[1], Size);
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
index a5f5c778bf..664ab40e6f 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
@@ -212,7 +212,7 @@ public static int mInvalidID = 1;
public static boolean removeCraftingRecipe(Object x){
if (null == x){return false;}
if (x instanceof String){
- final Item R = ItemUtils.getItem((String) x);
+ final Item R = ItemUtils.getItemFromFQRN((String) x);
if (R != null){
x = R;
}