aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-09-03 00:20:34 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-09-03 00:20:34 +1000
commitbc9493797fdce14ae379ad68f4f501fa63d597d6 (patch)
treeb6052a18a0c83363d2b3acdc8d443dd318dda03e /src
parent08dd5df42240eef5f8d07c3b154d143d6e29ba1a (diff)
downloadGT5-Unofficial-bc9493797fdce14ae379ad68f4f501fa63d597d6.tar.gz
GT5-Unofficial-bc9493797fdce14ae379ad68f4f501fa63d597d6.tar.bz2
GT5-Unofficial-bc9493797fdce14ae379ad68f4f501fa63d597d6.zip
+ Final work on fluid cells for now.
> They should all work fine, with names and icons.
Diffstat (limited to 'src')
-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
-rw-r--r--src/resources/assets/ic2/lang/en_US.lang7
-rw-r--r--src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.pngbin0 -> 2930 bytes
-rw-r--r--src/resources/assets/ic2/textures/items/cell/HydrogenChloride.pngbin0 -> 2978 bytes
-rw-r--r--src/resources/assets/ic2/textures/items/cell/SulfurDioxide.pngbin0 -> 2965 bytes
-rw-r--r--src/resources/assets/ic2/textures/items/cell/SulfuricApatite.pngbin0 -> 2991 bytes
-rw-r--r--src/resources/assets/ic2/textures/items/cell/SulfurousAcid.pngbin0 -> 2987 bytes
-rw-r--r--src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.pngbin0 -> 3022 bytes
-rw-r--r--src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.pngbin0 -> 2958 bytes
-rw-r--r--src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.pngbin0 -> 489 bytes
12 files changed, 41 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;
diff --git a/src/resources/assets/ic2/lang/en_US.lang b/src/resources/assets/ic2/lang/en_US.lang
index 5922ac393a..fca4f6cee6 100644
--- a/src/resources/assets/ic2/lang/en_US.lang
+++ b/src/resources/assets/ic2/lang/en_US.lang
@@ -15,3 +15,10 @@ ic2.blockGenerator.3=MOAR ERROR POWA
ic2.blockRTGenerator2=RTG POWARZ 2
ic2.blockKineticGenerator2=KINETIC POWA 2
+ic2.HydrofluoricAcid=Hydrofluoric Acid Cell
+ic2.SulfurDioxide=Sulfur Dioxide Cell
+ic2.SulfuricApatite=Sulfuric Apatite Cell
+ic2.SulfurousAcid=Sulfurous Acid Cell
+ic2.UraniumHexaFluoride=Uranium HexaFluoride Cell
+ic2.ThoriumTetraFluoride=Thorium TetraFluoride Cell
+ic2.UraniumTetraFluoride=Uranium TetraFluoride Cell
diff --git a/src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png b/src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png
new file mode 100644
index 0000000000..96d6d35052
--- /dev/null
+++ b/src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png
Binary files differ
diff --git a/src/resources/assets/ic2/textures/items/cell/HydrogenChloride.png b/src/resources/assets/ic2/textures/items/cell/HydrogenChloride.png
new file mode 100644
index 0000000000..e626196e68
--- /dev/null
+++ b/src/resources/assets/ic2/textures/items/cell/HydrogenChloride.png
Binary files differ
diff --git a/src/resources/assets/ic2/textures/items/cell/SulfurDioxide.png b/src/resources/assets/ic2/textures/items/cell/SulfurDioxide.png
new file mode 100644
index 0000000000..1cec5369b9
--- /dev/null
+++ b/src/resources/assets/ic2/textures/items/cell/SulfurDioxide.png
Binary files differ
diff --git a/src/resources/assets/ic2/textures/items/cell/SulfuricApatite.png b/src/resources/assets/ic2/textures/items/cell/SulfuricApatite.png
new file mode 100644
index 0000000000..54d54ebe95
--- /dev/null
+++ b/src/resources/assets/ic2/textures/items/cell/SulfuricApatite.png
Binary files differ
diff --git a/src/resources/assets/ic2/textures/items/cell/SulfurousAcid.png b/src/resources/assets/ic2/textures/items/cell/SulfurousAcid.png
new file mode 100644
index 0000000000..476b20f301
--- /dev/null
+++ b/src/resources/assets/ic2/textures/items/cell/SulfurousAcid.png
Binary files differ
diff --git a/src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png b/src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png
new file mode 100644
index 0000000000..b1d4685246
--- /dev/null
+++ b/src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png
Binary files differ
diff --git a/src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png b/src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png
new file mode 100644
index 0000000000..084a54ce64
--- /dev/null
+++ b/src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png
Binary files differ
diff --git a/src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png b/src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png
new file mode 100644
index 0000000000..123783fc37
--- /dev/null
+++ b/src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png
Binary files differ