aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorFlorexiz <florexiz.nm@gmail.com>2021-10-15 00:37:05 +0300
committerFlorexiz <florexiz.nm@gmail.com>2021-10-15 00:37:05 +0300
commitfb218f1d1e7f2e706ff0ad5dce6a3d4935aadc27 (patch)
treea47f8adb276aa1cae813a1ca2b4a92cfdeabfcd8 /src/Java
parent618a17dc1eb650943fb3573f3eb68b63a5ae7ac0 (diff)
downloadGT5-Unofficial-fb218f1d1e7f2e706ff0ad5dce6a3d4935aadc27.tar.gz
GT5-Unofficial-fb218f1d1e7f2e706ff0ad5dce6a3d4935aadc27.tar.bz2
GT5-Unofficial-fb218f1d1e7f2e706ff0ad5dce6a3d4935aadc27.zip
Volcanus separate busses
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java46
1 files changed, 44 insertions, 2 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
index 7f009e7f06..2f43d7ef94 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
@@ -5,6 +5,10 @@ import static gtPlusPlus.core.util.data.ArrayUtils.removeNulls;
import java.util.ArrayList;
import java.util.List;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ChatComponentTranslation;
import org.apache.commons.lang3.ArrayUtils;
import gregtech.api.GregTech_API;
@@ -41,6 +45,7 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
private int mHeatingCapacity = 0;
private int controllerY;
+ private boolean isBussesSeparate = false;
private static boolean mUsingPollutionOutputs = false;
@@ -128,9 +133,29 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
return aFacing > 1;
}
+ @Override
public boolean checkRecipe(ItemStack aStack) {
- return checkRecipeGeneric(8, 90, 120); // Will have to clone the logic from parent class to handle heating coil
- // tiers.
+ if (isBussesSeparate) {
+ FluidStack[] tFluids = getStoredFluids().toArray(new FluidStack[0]);
+ for (GT_MetaTileEntity_Hatch_InputBus tBus : mInputBusses) {
+ ArrayList<ItemStack> tInputs = new ArrayList<>();
+ if (isValidMetaTileEntity(tBus)) {
+ for (int i = tBus.getBaseMetaTileEntity().getSizeInventory() - 1; i >= 0; i--) {
+ if (tBus.getBaseMetaTileEntity().getStackInSlot(i) != null) {
+ tInputs.add(tBus.getBaseMetaTileEntity().getStackInSlot(i));
+ }
+ }
+ }
+ if (tInputs.size() > 0) {
+ if (checkRecipeGeneric(tInputs.toArray(new ItemStack[0]), tFluids, 8, 90, 120, 10000)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ } else {
+ return checkRecipeGeneric(8, 90, 120);
+ }
}
public boolean checkMultiblock(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
@@ -460,4 +485,21 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
return 90;
}
+ @Override
+ public void onModeChangeByScrewdriver(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ isBussesSeparate = !isBussesSeparate;
+ aPlayer.addChatMessage(new ChatComponentTranslation(isBussesSeparate ? "interaction.separateBusses.enabled" : "interaction.separateBusses.disabled"));
+ }
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ aNBT.setBoolean("isBussesSeparate", isBussesSeparate);
+ super.saveNBTData(aNBT);
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ isBussesSeparate = aNBT.getBoolean("isBussesSeparate");
+ super.loadNBTData(aNBT);
+ }
} \ No newline at end of file