aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-02-10 16:57:52 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-02-10 16:57:52 +1000
commit6929469358ab39b38eabf0c58ece297a3bb5ff1f (patch)
tree2dcf6c6b179566663cecd28cace85f80927f2507 /src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity
parent3a098ecbcf1ca794807cf393560ccd05ace105a7 (diff)
downloadGT5-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.java26
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() {