diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-10 16:57:52 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-10 16:57:52 +1000 |
commit | 6929469358ab39b38eabf0c58ece297a3bb5ff1f (patch) | |
tree | 2dcf6c6b179566663cecd28cace85f80927f2507 /src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity | |
parent | 3a098ecbcf1ca794807cf393560ccd05ace105a7 (diff) | |
download | GT5-Unofficial-6929469358ab39b38eabf0c58ece297a3bb5ff1f.tar.gz GT5-Unofficial-6929469358ab39b38eabf0c58ece297a3bb5ff1f.tar.bz2 GT5-Unofficial-6929469358ab39b38eabf0c58ece297a3bb5ff1f.zip |
$ Initial rewrite of the recipe handling in the Matter Fabricator.
+ Added internal way for Multiblocks to get a Circuit stored in an input bus or it's GUI.
+ Added GenericStack.java, which can hold an ItemStack or a FluidStack, to simplify recipe outputs.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity')
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java index 492872d37d..22248814ce 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java @@ -20,6 +20,7 @@ import gregtech.api.metatileentity.implementations.*; import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_MultiMachine; import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine; @@ -27,6 +28,7 @@ import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEn import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBattery; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import static gtPlusPlus.core.util.array.ArrayUtils.removeNulls; @@ -36,6 +38,7 @@ extends GT_MetaTileEntity_MultiBlockBase { public GT_Recipe mLastRecipe; + private boolean mInternalCircuit = false; public ArrayList<GT_MetaTileEntity_Hatch_InputBattery> mChargeHatches = new ArrayList<GT_MetaTileEntity_Hatch_InputBattery>(); public ArrayList<GT_MetaTileEntity_Hatch_OutputBattery> mDischargeHatches = new ArrayList<GT_MetaTileEntity_Hatch_OutputBattery>(); @@ -405,6 +408,29 @@ GT_MetaTileEntity_MultiBlockBase { } super.explodeMultiblock(); } + + protected int getGUICircuit(ItemStack[] t) { + Item g = CI.getNumberedCircuit(0).getItem(); + ItemStack guiSlot = this.mInventory[1]; + int mMode = -1; + if (guiSlot != null && guiSlot.getItem() == g) { + this.mInternalCircuit = true; + return guiSlot.getItemDamage(); + } + else { + this.mInternalCircuit = false; + } + + if (!this.mInternalCircuit) { + for (ItemStack j : t) { + if (j.getItem() == g) { + mMode = j.getItemDamage(); + break; + } + } + } + return mMode; + } @Override public void updateSlots() { |