diff options
Diffstat (limited to 'main/java/gregtech/api')
5 files changed, 51 insertions, 2 deletions
diff --git a/main/java/gregtech/api/gui/GT_Container.java b/main/java/gregtech/api/gui/GT_Container.java index 1e7a9a819d..6585f79de2 100644 --- a/main/java/gregtech/api/gui/GT_Container.java +++ b/main/java/gregtech/api/gui/GT_Container.java @@ -3,6 +3,7 @@ package gregtech.api.gui; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Utility; +import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionComputer; import java.util.List; diff --git a/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java b/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java index a06cccbe9d..2c062c5d12 100644 --- a/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java +++ b/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java @@ -29,6 +29,19 @@ public class GT_ContainerMetaTile_Machine extends GT_Container { aInventoryPlayer.player.openContainer = aInventoryPlayer.player.inventoryContainer; } } + public GT_ContainerMetaTile_Machine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean doesBindInventory){ + super(aInventoryPlayer, aTileEntity); + mTileEntity = aTileEntity; + + if (mTileEntity != null && mTileEntity.getMetaTileEntity() != null) { + addSlots(aInventoryPlayer); + if (doesBindPlayerInventory()&&doesBindInventory) bindPlayerInventory(aInventoryPlayer); + detectAndSendChanges(); + } else { + aInventoryPlayer.player.openContainer = aInventoryPlayer.player.inventoryContainer; + } + } + public int mActive = 0, mMaxProgressTime = 0, mProgressTime = 0, mEnergy = 0, mSteam = 0, mSteamStorage = 0, mStorage = 0, mOutput = 0, mInput = 0, mID = 0, mDisplayErrorCode = 0; private int oActive = 0, oMaxProgressTime = 0, oProgressTime = 0, oEnergy = 0, oSteam = 0, oSteamStorage = 0, oStorage = 0, oOutput = 0, oInput = 0, oID = 0, oDisplayErrorCode = 0, mTimer = 0; diff --git a/main/java/gregtech/api/gui/GT_Container_MultiMachine.java b/main/java/gregtech/api/gui/GT_Container_MultiMachine.java index 3dbe24c8be..289b783e25 100644 --- a/main/java/gregtech/api/gui/GT_Container_MultiMachine.java +++ b/main/java/gregtech/api/gui/GT_Container_MultiMachine.java @@ -14,6 +14,10 @@ public class GT_Container_MultiMachine extends GT_ContainerMetaTile_Machine { super(aInventoryPlayer, aTileEntity); } + public GT_Container_MultiMachine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean bindInventory) { + super(aInventoryPlayer, aTileEntity, bindInventory); + } + @Override public void addSlots(InventoryPlayer aInventoryPlayer) { addSlotToContainer(new Slot(mTileEntity, 1, 152, 5)); diff --git a/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java index b6268428c7..7c6e719cba 100644 --- a/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java +++ b/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java @@ -241,6 +241,25 @@ public interface IGT_RecipeAdder { /** * Adds a Distillation Tower Recipe + * @param aInput1 must be != null + * @param aOutputs must be != null 1-5 Fluids + * @param aOutput2 can be null + */ + public boolean addDistillationTowerRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt); + + + public boolean addSimpleArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt); + + public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt); + + + + + + + + /** + * Adds a Distillation Tower Recipe */ public boolean addDistillationRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt); diff --git a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index 9d015cbf10..058a396593 100644 --- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -169,7 +169,10 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (mMaxProgresstime > 0 && ++mProgresstime>=mMaxProgresstime) { if (mOutputItems != null) for (ItemStack tStack : mOutputItems) if (tStack != null) addOutput(tStack); - if (mOutputFluids != null) for (FluidStack tStack : mOutputFluids) if (tStack != null) addOutput(tStack); + if (mOutputFluids != null&&mOutputFluids.length==1) {for (FluidStack tStack : mOutputFluids) if (tStack != null) addOutput(tStack);} + else if(mOutputFluids!=null&&mOutputFluids.length>1){ + System.out.println("addfluids"); + addFluidOutputs(mOutputFluids);} mEfficiency = Math.max(0, Math.min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - ((getIdealStatus() - getRepairStatus()) * 1000))); mOutputItems = null; mProgresstime = 0; @@ -197,7 +200,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { aBaseMetaTileEntity.setActive(mMaxProgresstime>0); } } - + public boolean polluteEnvironment(int aPollutionLevel) { mPollution += aPollutionLevel; for (GT_MetaTileEntity_Hatch_Muffler tHatch : mMufflerHatches) { @@ -378,6 +381,15 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { return false; } + private void addFluidOutputs(FluidStack[] mOutputFluids2) { + for(int i=0;i<mOutputFluids2.length;i++){ + if(mOutputHatches.size()>=i&&mOutputHatches.get(i)!=null&&mOutputFluids2[i]!=null&&isValidMetaTileEntity(mOutputHatches.get(i))){ + mOutputHatches.get(i).fill(mOutputFluids2[i], true); + } + } + + } + public boolean depleteInput(FluidStack aLiquid) { if (aLiquid == null) return false; for (GT_MetaTileEntity_Hatch_Input tHatch : mInputHatches) { |