aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorGlodBlock <60341015+GlodBlock@users.noreply.github.com>2021-09-27 22:00:22 +0800
committerGitHub <noreply@github.com>2021-09-27 22:00:22 +0800
commit9dd3409355f2a4cad7ec6afaa95441aea07a922e (patch)
tree59eb66a9f3e2eaff8fd4bc95fb6e5f1889f14e7e /src/main
parent849edba573d8bf0c4ac21ec695f6683aee3ca523 (diff)
downloadGT5-Unofficial-9dd3409355f2a4cad7ec6afaa95441aea07a922e.tar.gz
GT5-Unofficial-9dd3409355f2a4cad7ec6afaa95441aea07a922e.tar.bz2
GT5-Unofficial-9dd3409355f2a4cad7ec6afaa95441aea07a922e.zip
allow MVF accept fluid input
must be merged after this: https://github.com/GTNewHorizons/GT5-Unofficial/pull/673 Former-commit-id: de48a8656788bb03fe714da369d5be98fde5ff4e
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaVacuumFreezer.java26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaVacuumFreezer.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaVacuumFreezer.java
index 1877a88183..2fdaa545dc 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaVacuumFreezer.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaVacuumFreezer.java
@@ -40,6 +40,7 @@ import gregtech.api.util.GT_Utility;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_VacuumFreezer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
import java.util.ArrayList;
import java.util.List;
@@ -95,21 +96,30 @@ public class GT_TileEntity_MegaVacuumFreezer extends GT_MetaTileEntity_VacuumFre
@Override
public boolean checkRecipe(ItemStack itemStack) {
ItemStack[] tInputs = this.getStoredInputs().toArray(new ItemStack[0]);
+ FluidStack[] tInputFluids = this.getStoredFluids().toArray(new FluidStack[0]);
ArrayList<ItemStack> outputItems = new ArrayList<>();
+ ArrayList<FluidStack> outputFluids = new ArrayList<>();
long nominalV = LoaderReference.tectech ? TecTechUtils.getnominalVoltageTT(this) : BW_Util.getnominalVoltage(this);
byte tTier = (byte) Math.max(1, Math.min(GT_Utility.getTier(nominalV), V.length - 1));
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sVacuumRecipes.findRecipe(this.getBaseMetaTileEntity(), false, V[tTier], null, tInputs);
+ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sVacuumRecipes.findRecipe(this.getBaseMetaTileEntity(), false, V[tTier], tInputFluids, tInputs);
boolean found_Recipe = false;
int processed = 0;
- while (this.getStoredInputs().size() > 0 && processed < ConfigHandler.megaMachinesMax) {
- if (tRecipe != null && ((long) tRecipe.mEUt * (processed + 1)) < nominalV && tRecipe.isRecipeInputEqual(true, null, tInputs)) {
+ while ((this.getStoredInputs().size() > 0 || this.getStoredFluids().size() > 0) && processed < ConfigHandler.megaMachinesMax) {
+ if (tRecipe != null && ((long) tRecipe.mEUt * (processed + 1)) < nominalV && tRecipe.isRecipeInputEqual(true, tInputFluids, tInputs)) {
found_Recipe = true;
- for (int i = 0; i < tRecipe.mOutputs.length; i++) {
- outputItems.add(tRecipe.getOutput(i));
+ if (tRecipe.mOutputs != null) {
+ for (int i = 0; i < tRecipe.mOutputs.length; i++) {
+ outputItems.add(tRecipe.getOutput(i));
+ }
+ }
+ if (tRecipe.mFluidOutputs != null) {
+ for (int i = 0; i < tRecipe.mFluidOutputs.length; i++) {
+ outputFluids.add(tRecipe.getFluidOutput(i));
+ }
}
++processed;
} else
@@ -138,6 +148,8 @@ public class GT_TileEntity_MegaVacuumFreezer extends GT_MetaTileEntity_VacuumFre
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
this.mOutputItems = new ItemStack[outputItems.size()];
this.mOutputItems = outputItems.toArray(this.mOutputItems);
+ this.mOutputFluids = new FluidStack[outputFluids.size()];
+ this.mOutputFluids = outputFluids.toArray(this.mOutputFluids);
this.updateSlots();
return true;
}
@@ -168,8 +180,6 @@ public class GT_TileEntity_MegaVacuumFreezer extends GT_MetaTileEntity_VacuumFre
&& BW_Util.check_layer(aBaseMetaTileEntity, 7, 1, 7, GregTech_API.sBlockCasings2, 1, 7, false, false, true, Blocks.air, -1, true, 17)
&& BW_Util.check_layer(aBaseMetaTileEntity, 7, 7, 8, GregTech_API.sBlockCasings2, 1, 7, false, false, true, GregTech_API.sBlockCasings2, 1, true, 17)
) &&
- !this.mInputBusses.isEmpty() &&
- !this.mOutputBusses.isEmpty() &&
!this.mMaintenanceHatches.isEmpty() &&
LoaderReference.tectech ?
(!this.getTecTechEnergyMultis().isEmpty() || !this.getTecTechEnergyTunnels().isEmpty() || !this.mEnergyHatches.isEmpty()) :
@@ -200,4 +210,4 @@ public class GT_TileEntity_MegaVacuumFreezer extends GT_MetaTileEntity_VacuumFre
public List getTecTechEnergyMultis() {
return TTMultiAmp;
}
-} \ No newline at end of file
+}