From 28da0eda5faf0066a4e44c866feb30b543ba036f Mon Sep 17 00:00:00 2001 From: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Date: Wed, 25 Sep 2019 05:39:56 +0200 Subject: fixes - cells getting deleted after use on drums - higher tier fluid solodifier uncraftable Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Former-commit-id: 4cadf71307543fb8923a698dc6c8195ccb71100a --- build.properties | 2 +- .../bartworks/common/loaders/RecipeLoader.java | 8 +- .../system/material/BW_MetaGenerated_Items.java | 5 + .../bartimaeusnek/crossmod/BartWorksCrossmod.java | 6 +- .../crossmod/ae2/ItemSingleItemStorageCell.java | 122 +++++++++++++++++++++ 5 files changed, 137 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/github/bartimaeusnek/crossmod/ae2/ItemSingleItemStorageCell.java diff --git a/build.properties b/build.properties index cf61024f4f..6304133a65 100644 --- a/build.properties +++ b/build.properties @@ -23,7 +23,7 @@ mc_version=1.7.10 majorUpdate=0 minorUpdate=5 -buildNumber=2_pre11 +buildNumber=2_pre12 APIVersion=8 ic2.version=2.2.828-experimental gregtech.version=5.09.32.36 diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java index 9519d67aee..013a26a6aa 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java @@ -256,10 +256,10 @@ public class RecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 64, 1002), GT_Utility.getIntegratedCircuit(17), Materials.SolderingAlloy.getMolten(9216), ItemRegistry.megaMachines[1], 72000, BW_Util.getMachineVoltageFromTier(3)); GT_Values.RA.addFluidSolidifierRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0), Materials.Nickel.getMolten(5184), new ItemStack(ItemRegistry.bw_glasses[0], 1, 1), 800, BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addFluidSolidifierRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 1), Materials.Tungsten.getMolten(1296), new ItemStack(ItemRegistry.bw_glasses[0], 1, 2), 800, BW_Util.getMachineVoltageFromTier(5)); - GT_Values.RA.addFluidSolidifierRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 2), Materials.Chrome.getMolten(1296), new ItemStack(ItemRegistry.bw_glasses[0], 1, 3), 800, BW_Util.getMachineVoltageFromTier(6)); - GT_Values.RA.addFluidSolidifierRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 3), Materials.Iridium.getMolten(3888), new ItemStack(ItemRegistry.bw_glasses[0], 1, 4), 800, BW_Util.getMachineVoltageFromTier(7)); - GT_Values.RA.addFluidSolidifierRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 4), Materials.Osmium.getMolten(1296), new ItemStack(ItemRegistry.bw_glasses[0], 1, 5), 800, BW_Util.getMachineVoltageFromTier(8)); + GT_Values.RA.addFluidSolidifierRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 1), Materials.Tungsten.getMolten(1296), new ItemStack(ItemRegistry.bw_glasses[0], 1, 2), 800, BW_Util.getMachineVoltageFromTier(4)); + GT_Values.RA.addFluidSolidifierRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 2), Materials.Chrome.getMolten(1296), new ItemStack(ItemRegistry.bw_glasses[0], 1, 3), 800, BW_Util.getMachineVoltageFromTier(5)); + GT_Values.RA.addFluidSolidifierRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 3), Materials.Iridium.getMolten(3888), new ItemStack(ItemRegistry.bw_glasses[0], 1, 4), 800, BW_Util.getMachineVoltageFromTier(6)); + GT_Values.RA.addFluidSolidifierRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 4), Materials.Osmium.getMolten(1296), new ItemStack(ItemRegistry.bw_glasses[0], 1, 5), 800, BW_Util.getMachineVoltageFromTier(7)); for (int i = 0; i < Dyes.dyeBrown.getSizeOfFluidList(); ++i) { GT_Values.RA.addChemicalBathRecipe(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0), Dyes.dyeRed.getFluidDye(i, 36), new ItemStack(ItemRegistry.bw_glasses[0], 1, 6), null, null, null, 64, 2); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java index c25dbd6bf1..29b98c9506 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java @@ -257,4 +257,9 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa public int getCapacity(ItemStack aStack) { return this.orePrefixes == OrePrefixes.capsule || this.orePrefixes == OrePrefixes.cell || this.orePrefixes == OrePrefixes.cellPlasma ? 1000 : this.orePrefixes == WerkstoffLoader.cellMolten || this.orePrefixes == WerkstoffLoader.capsuleMolten ? 144 : 0; } + + @Override + public ItemStack getContainerItem(ItemStack aStack) { + return this.orePrefixes == OrePrefixes.cell ||this.orePrefixes == OrePrefixes.cellPlasma || this.orePrefixes == WerkstoffLoader.cellMolten ? Materials.Empty.getCells(1) : null; + } } diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/BartWorksCrossmod.java b/src/main/java/com/github/bartimaeusnek/crossmod/BartWorksCrossmod.java index 90ed4493e1..19e0603b1c 100644 --- a/src/main/java/com/github/bartimaeusnek/crossmod/BartWorksCrossmod.java +++ b/src/main/java/com/github/bartimaeusnek/crossmod/BartWorksCrossmod.java @@ -22,9 +22,11 @@ package com.github.bartimaeusnek.crossmod; +import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.common.commands.ChangeConfig; import com.github.bartimaeusnek.bartworks.common.commands.SummonRuin; import com.github.bartimaeusnek.crossmod.GTpp.loader.RadioHatchCompat; +import com.github.bartimaeusnek.crossmod.ae2.ItemSingleItemStorageCell; import com.github.bartimaeusnek.crossmod.galacticraft.GalacticraftProxy; import com.github.bartimaeusnek.crossmod.thaumcraft.CustomAspects; import cpw.mods.fml.common.Loader; @@ -53,7 +55,7 @@ import java.io.StringReader; ) public class BartWorksCrossmod { public static final String NAME = "BartWorks Mod Additions"; - public static final String VERSION = "0.0.1"; + public static final String VERSION = MainMod.VERSION; public static final String MOD_ID = "bartworkscrossmod"; public static final Logger LOGGER = LogManager.getLogger(BartWorksCrossmod.NAME); @@ -62,6 +64,8 @@ public class BartWorksCrossmod { @Mod.EventHandler public void preInit(FMLPreInitializationEvent preinit) { +// if (Loader.isModLoaded("appliedenergistics2")) +// new ItemSingleItemStorageCell("singleItemStorageCell"); if (Loader.isModLoaded("GalacticraftCore")) GalacticraftProxy.preInit(preinit); if (Loader.isModLoaded("Thaumcraft")) diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/ae2/ItemSingleItemStorageCell.java b/src/main/java/com/github/bartimaeusnek/crossmod/ae2/ItemSingleItemStorageCell.java new file mode 100644 index 0000000000..29aa9d06c3 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/crossmod/ae2/ItemSingleItemStorageCell.java @@ -0,0 +1,122 @@ +package com.github.bartimaeusnek.crossmod.ae2; + +import appeng.api.AEApi; +import appeng.api.config.FuzzyMode; +import appeng.api.config.IncludeExclude; +import appeng.api.implementations.items.IStorageCell; +import appeng.api.storage.*; +import appeng.api.storage.data.IAEItemStack; +import appeng.core.localization.GuiText; +import appeng.items.contents.CellUpgrades; +import appeng.util.Platform; +import com.github.bartimaeusnek.bartworks.common.items.SimpleSubItemClass; +import com.github.bartimaeusnek.crossmod.BartWorksCrossmod; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public class ItemSingleItemStorageCell extends SimpleSubItemClass implements IStorageCell { + + public ItemSingleItemStorageCell(String tex) { + super(tex); + Item thizz = this; + GameRegistry.registerItem(this, BartWorksCrossmod.MOD_ID+this.iconString); + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer p_77624_2_, List lines, boolean p_77624_4_) { + IMEInventoryHandler inventory = AEApi.instance().registries().cell().getCellInventory(stack, (ISaveProvider)null, StorageChannel.ITEMS); + if (inventory instanceof ICellInventoryHandler) { + ICellInventoryHandler handler = (ICellInventoryHandler)inventory; + ICellInventory cellInventory = handler.getCellInv(); + if (cellInventory != null) { + lines.add(cellInventory.getUsedBytes() + " " + GuiText.Of.getLocal() + ' ' + cellInventory.getTotalBytes() + ' ' + GuiText.BytesUsed.getLocal()); + lines.add(cellInventory.getStoredItemTypes() + " " + GuiText.Of.getLocal() + ' ' + cellInventory.getTotalItemTypes() + ' ' + GuiText.Types.getLocal()); + if (handler.isPreformatted()) { + String list = (handler.getIncludeExcludeMode() == IncludeExclude.WHITELIST ? GuiText.Included : GuiText.Excluded).getLocal(); + if (handler.isFuzzy()) { + lines.add(GuiText.Partitioned.getLocal() + " - " + list + ' ' + GuiText.Fuzzy.getLocal()); + } else { + lines.add(GuiText.Partitioned.getLocal() + " - " + list + ' ' + GuiText.Precise.getLocal()); + } + } + } + } + } + + @Override + public int getBytes(ItemStack itemStack) { + return getTotalTypes(itemStack)*getBytesPerType(itemStack); + } + + @Override + public int BytePerType(ItemStack itemStack) { + return 1; + } + + @Override + public int getBytesPerType(ItemStack itemStack) { + return 1; + } + + @Override + public int getTotalTypes(ItemStack itemStack) { + return 4096; + } + + @Override + public boolean isBlackListed(ItemStack itemStack, IAEItemStack iaeItemStack) { + return iaeItemStack == null || iaeItemStack.getItem().getItemStackLimit() != 1; + } + + @Override + public boolean storableInStorageCell() { + return true; + } + + @Override + public boolean isStorageCell(ItemStack itemStack) { + return true; + } + + @Override + public double getIdleDrain() { + return 4D; + } + + @Override + public boolean isEditable(ItemStack itemStack) { + return true; + } + + @Override + public IInventory getUpgradesInventory(ItemStack itemStack) { + return new CellUpgrades(itemStack, 2); + } + + @Override + public IInventory getConfigInventory(ItemStack itemStack) { + return new CellUpgrades(itemStack,2); + } + @Override + public FuzzyMode getFuzzyMode(ItemStack is) { + String fz = Platform.openNbtData(is).getString("FuzzyMode"); + + try { + return FuzzyMode.valueOf(fz); + } catch (Throwable var4) { + return FuzzyMode.IGNORE_ALL; + } + } + @Override + public void setFuzzyMode(ItemStack is, FuzzyMode fzMode) { + Platform.openNbtData(is).setString("FuzzyMode", fzMode.name()); + } +} -- cgit