aboutsummaryrefslogtreecommitdiff
path: root/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'main/java/gregtech/api')
-rw-r--r--main/java/gregtech/api/gui/GT_Container.java1
-rw-r--r--main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java13
-rw-r--r--main/java/gregtech/api/gui/GT_Container_MultiMachine.java4
-rw-r--r--main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java19
-rw-r--r--main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java16
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) {