diff options
author | Maxim <maxim235@gmx.de> | 2022-12-12 10:27:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-12 10:27:57 +0100 |
commit | 53499cda7c988f90a1bfe5aa10ba6aa312c897d6 (patch) | |
tree | 71641b29579c1cd7ab70af9dce282e014ebcb3e4 /src | |
parent | cf6cfc0cb182b9904e36d5c87e1ae94eaa56da43 (diff) | |
download | GT5-Unofficial-53499cda7c988f90a1bfe5aa10ba6aa312c897d6.tar.gz GT5-Unofficial-53499cda7c988f90a1bfe5aa10ba6aa312c897d6.tar.bz2 GT5-Unofficial-53499cda7c988f90a1bfe5aa10ba6aa312c897d6.zip |
Allow to toggle the seperation of busses (#453)
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java | 71 |
1 files changed, 53 insertions, 18 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java index 2e687e1e25..27c525012a 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java @@ -24,7 +24,10 @@ import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; import java.util.ArrayList; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; public class GregtechMetaTileEntity_IndustrialMixer @@ -34,6 +37,7 @@ public class GregtechMetaTileEntity_IndustrialMixer public static String mCasingName = "Multi-Use Casing"; public static String mCasingName2 = "Titanium Turbine Casing"; private int mCasing; + private boolean isBussesSeparate = true; private static IStructureDefinition<GregtechMetaTileEntity_IndustrialMixer> STRUCTURE_DEFINITION = null; public GregtechMetaTileEntity_IndustrialMixer(final int aID, final String aName, final String aNameRegional) { @@ -47,6 +51,18 @@ public class GregtechMetaTileEntity_IndustrialMixer } @Override + public void saveNBTData(NBTTagCompound aNBT) { + super.saveNBTData(aNBT); + aNBT.setBoolean("isBussesSeparate", isBussesSeparate); + } + + @Override + public void loadNBTData(final NBTTagCompound aNBT) { + super.loadNBTData(aNBT); + isBussesSeparate = aNBT.getBoolean("isBussesSeparate"); + } + + @Override public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { return new GregtechMetaTileEntity_IndustrialMixer(this.mName); } @@ -148,31 +164,41 @@ public class GregtechMetaTileEntity_IndustrialMixer @Override public boolean checkRecipe(final ItemStack aStack) { - for (GT_MetaTileEntity_Hatch_InputBus tBus : mInputBusses) { - ArrayList<ItemStack> rList = new ArrayList<>(); - for (int i = tBus.getBaseMetaTileEntity().getSizeInventory() - 1; i >= 0; i--) { - if (tBus.getBaseMetaTileEntity().getStackInSlot(i) != null) - rList.add(tBus.getBaseMetaTileEntity().getStackInSlot(i)); + if (isBussesSeparate) { + for (GT_MetaTileEntity_Hatch_InputBus tBus : mInputBusses) { + ArrayList<ItemStack> rList = new ArrayList<>(); + for (int i = tBus.getBaseMetaTileEntity().getSizeInventory() - 1; i >= 0; i--) { + if (tBus.getBaseMetaTileEntity().getStackInSlot(i) != null) + rList.add(tBus.getBaseMetaTileEntity().getStackInSlot(i)); + } + + if (checkRecipeGeneric( + rList.toArray(new ItemStack[0]), + getStoredFluids().toArray(new FluidStack[0]), + getMaxParallelRecipes(), + getEuDiscountForParallelism(), + 250, + 10000)) { + return true; + } } - if (checkRecipeGeneric( - rList.toArray(new ItemStack[0]), + return checkRecipeGeneric( + new ItemStack[0], getStoredFluids().toArray(new FluidStack[0]), getMaxParallelRecipes(), getEuDiscountForParallelism(), 250, - 10000)) { - return true; - } + 10000); + } else { + return checkRecipeGeneric( + getStoredInputs().toArray(new ItemStack[0]), + getStoredFluids().toArray(new FluidStack[0]), + getMaxParallelRecipes(), + getEuDiscountForParallelism(), + 250, + 10000); } - - return checkRecipeGeneric( - new ItemStack[0], - getStoredFluids().toArray(new FluidStack[0]), - getMaxParallelRecipes(), - getEuDiscountForParallelism(), - 250, - 10000); } @Override @@ -201,6 +227,15 @@ public class GregtechMetaTileEntity_IndustrialMixer } @Override + public boolean onWireCutterRightClick( + byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + isBussesSeparate = !isBussesSeparate; + GT_Utility.sendChatToPlayer( + aPlayer, StatCollector.translateToLocal("GT5U.machines.separatebus") + " " + isBussesSeparate); + return true; + } + + @Override public int getAmountOfOutputs() { return 1; } |