From bc9493797fdce14ae379ad68f4f501fa63d597d6 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Sat, 3 Sep 2016 00:20:34 +1000 Subject: + Final work on fluid cells for now. > They should all work fine, with names and icons. --- src/Java/miscutil/core/util/Utils.java | 19 +++++++++++-- src/Java/miscutil/core/util/item/UtilsItems.java | 8 ++++++ .../common/blocks/fluid/GregtechFluidHandler.java | 31 ++++++--------------- src/resources/assets/ic2/lang/en_US.lang | 7 +++++ .../ic2/textures/items/cell/HydrofluoricAcid.png | Bin 0 -> 2930 bytes .../ic2/textures/items/cell/HydrogenChloride.png | Bin 0 -> 2978 bytes .../ic2/textures/items/cell/SulfurDioxide.png | Bin 0 -> 2965 bytes .../ic2/textures/items/cell/SulfuricApatite.png | Bin 0 -> 2991 bytes .../ic2/textures/items/cell/SulfurousAcid.png | Bin 0 -> 2987 bytes .../textures/items/cell/ThoriumTetraFluoride.png | Bin 0 -> 3022 bytes .../textures/items/cell/UraniumHexaFluoride.png | Bin 0 -> 2958 bytes .../textures/items/cell/UraniumTetraFluoride.png | Bin 0 -> 489 bytes 12 files changed, 41 insertions(+), 24 deletions(-) create mode 100644 src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png create mode 100644 src/resources/assets/ic2/textures/items/cell/HydrogenChloride.png create mode 100644 src/resources/assets/ic2/textures/items/cell/SulfurDioxide.png create mode 100644 src/resources/assets/ic2/textures/items/cell/SulfuricApatite.png create mode 100644 src/resources/assets/ic2/textures/items/cell/SulfurousAcid.png create mode 100644 src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png create mode 100644 src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png create mode 100644 src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png (limited to 'src') 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 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 Binary files /dev/null and b/src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png 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 Binary files /dev/null and b/src/resources/assets/ic2/textures/items/cell/HydrogenChloride.png 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 Binary files /dev/null and b/src/resources/assets/ic2/textures/items/cell/SulfurDioxide.png 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 Binary files /dev/null and b/src/resources/assets/ic2/textures/items/cell/SulfuricApatite.png 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 Binary files /dev/null and b/src/resources/assets/ic2/textures/items/cell/SulfurousAcid.png 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 Binary files /dev/null and b/src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png 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 Binary files /dev/null and b/src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png 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 Binary files /dev/null and b/src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png differ -- cgit