aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/miscutil')
-rw-r--r--src/Java/miscutil/core/util/Utils.java19
-rw-r--r--src/Java/miscutil/core/util/item/UtilsItems.java8
-rw-r--r--src/Java/miscutil/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java31
3 files changed, 34 insertions, 24 deletions
diff --git a/src/Java/miscutil/core/util/Utils.java b/src/Java/miscutil/core/util/Utils.java
index d28598affc..02363927a1 100644
--- a/src/Java/miscutil/core/util/Utils.java
+++ b/src/Java/miscutil/core/util/Utils.java
@@ -22,6 +22,8 @@ import java.util.UUID;
import miscutil.MiscUtils;
import miscutil.core.lib.CORE;
+import miscutil.core.util.fluid.FluidUtils;
+import miscutil.core.util.item.UtilsItems;
import miscutil.core.util.math.MathUtils;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
@@ -36,6 +38,7 @@ import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.util.EnumHelper;
+import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
@@ -466,18 +469,30 @@ public class Utils {
return false;
}
+ private static short cellID = 15;
public static ItemStack createInternalNameAndFluidCell(String s){
+ Utils.LOG_WARNING("1");
InternalName yourName = EnumHelper.addEnum(InternalName.class, s, new Class[0], new Object[0]);
+ Utils.LOG_WARNING("2 "+yourName.name());
ItemCell item = (ItemCell)Ic2Items.cell.getItem();
+ Utils.LOG_WARNING("3 "+item.getUnlocalizedName());
try
{
+ Utils.LOG_WARNING("4");
Class<? extends ItemCell> clz = item.getClass();
+ Utils.LOG_WARNING("5 "+clz.getSimpleName());
Method methode = clz.getDeclaredMethod("addCell", int.class, InternalName.class, Block[].class);
+ Utils.LOG_WARNING("6 "+methode.getName());
methode.setAccessible(true);
- return (ItemStack) methode.invoke(item, 1000, yourName, new Block[0]);
+ Utils.LOG_WARNING("7 "+methode.isAccessible());
+ ItemStack temp = (ItemStack) methode.invoke(item, cellID++, yourName, new Block[0]);
+ Utils.LOG_INFO("8 "+temp.getDisplayName());
+ FluidContainerRegistry.registerFluidContainer(FluidUtils.getFluidStack(s.toLowerCase(), 0), temp.copy(), Ic2Items.cell.copy());
+ UtilsItems.addItemToOreDictionary(temp.copy(), "cell"+s);
+ return temp;
}
catch(Exception e){
-
+ e.printStackTrace();
}
return null;
}
diff --git a/src/Java/miscutil/core/util/item/UtilsItems.java b/src/Java/miscutil/core/util/item/UtilsItems.java
index 8b1772305b..bb74234a51 100644
--- a/src/Java/miscutil/core/util/item/UtilsItems.java
+++ b/src/Java/miscutil/core/util/item/UtilsItems.java
@@ -101,6 +101,14 @@ public class UtilsItems {
Utils.LOG_ERROR(itemName+" not found. [NULL]");
}
}
+
+ public static void addItemToOreDictionary(ItemStack stack, String oreDictName){
+ try {
+ GT_OreDictUnificator.registerOre(oreDictName, stack);
+ } catch (NullPointerException e) {
+ Utils.LOG_ERROR(stack.getDisplayName()+" not registered. [NULL]");
+ }
+ }
@SuppressWarnings("unused")
public static ItemStack getItemStackWithMeta(boolean MOD, String FQRN, String itemName, int meta, int itemstackSize){
diff --git a/src/Java/miscutil/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java b/src/Java/miscutil/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java
index d71461197f..40912b3247 100644
--- a/src/Java/miscutil/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java
+++ b/src/Java/miscutil/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java
@@ -4,7 +4,6 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_OreDictUnificator;
-import ic2.api.item.IC2Items;
import ic2.core.Ic2Items;
import ic2.core.init.InternalName;
import ic2.core.item.resources.ItemCell;
@@ -25,7 +24,6 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.oredict.OreDictionary;
public class GregtechFluidHandler {
@@ -98,11 +96,11 @@ public class GregtechFluidHandler {
}
GT_Values.RA.addChemicalRecipe(
- UtilsItems.getItemStackOfAmountFromOreDict("cellEmpty", 1),
- UtilsItems.getItemStackOfAmountFromOreDict("dustApatite", 1),
- FluidUtils.getFluidStack("sulfuricacid", 1500),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustApatite", 16),
+ null,
+ FluidUtils.getFluidStack("sulfuricacid", 133*32),
FluidUtils.getFluidStack("sulfuricapatite", 133*4),
- UtilsItems.getItemStackOfAmountFromOreDict("dustTinySulfur", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustSmallSulfur", 1),
20*20);
GT_Values.RA.addMixerRecipe(UtilsItems.getItemStackOfAmountFromOreDict("dustSulfur", 1), null, null, null, FluidUtils.getFluidStack("oxygen", 266), FluidUtils.getFluidStack("sulfurdioxide", 399), null, 600, 60);
@@ -119,12 +117,13 @@ public class GregtechFluidHandler {
FluidStack[] apatiteOutput = {
FluidUtils.getFluidStack("sulfurousacid", 3800),
+ FluidUtils.getFluidStack("hydrogenchloride", 1000),
FluidUtils.getFluidStack("hydrofluoricacid", 400)
};
GT_Values.RA.addDistillationTowerRecipe(
FluidUtils.getFluidStack("sulfuricapatite", 5200),
apatiteOutput,
- UtilsItems.getItemStackOfAmountFromOreDict("cellHydrogenChloride", 1),
+ null,
45*20,
256);
@@ -170,19 +169,7 @@ public class GregtechFluidHandler {
private static void generateIC2FluidCell(String fluidNameWithCaps){
Utils.LOG_INFO("Adding a Cell for "+fluidNameWithCaps);
if (LoadedMods.IndustrialCraft2){
- ItemStack emptyCell = IC2Items.getItem("cell");
- ItemStack filledCell = FluidContainerRegistry.fillFluidContainer(FluidUtils.getFluidStack(fluidNameWithCaps.toLowerCase(), 1000), emptyCell.copy());
- if (filledCell != null){
- OreDictionary.registerOre("cell"+fluidNameWithCaps, filledCell);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerRegistry.FluidContainerData(FluidUtils.getFluidStack(fluidNameWithCaps.toLowerCase(), 1000), filledCell, emptyCell.copy()));
- }
- else {
-
- Utils.LOG_INFO("Failed to create a cell for "+fluidNameWithCaps+". Trying seconday method.");
- Utils.createInternalNameAndFluidCell(fluidNameWithCaps);
- //setUpNewFluidCell(cellID++, fluidNameWithCaps);
-
- }
+ Utils.createInternalNameAndFluidCell(fluidNameWithCaps);
}
}
@@ -198,8 +185,8 @@ public class GregtechFluidHandler {
InternalName fluidName = EnumHelper.addEnum(InternalName.class, name, new Class[0], new Object[0]);
//EnumHelper.addEnum(InternalName.class, "InternalName", name);
if (fluidName.valueOf(name) != null){
- addRegisterCell(meta, fluidName);
- return true;
+ addRegisterCell(meta, fluidName);
+ return true;
}
Utils.LOG_INFO("Secondary Cell Method failed.");
return false;