From c347f3c479d5f64e908890510d7189f6a598bbb3 Mon Sep 17 00:00:00 2001 From: Sampsa <69092953+S4mpsa@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:06:24 +0300 Subject: Implement cache limits on ME Output Hatch & Bus (#2718) * Implement cache limits on ME output hatches and buses * Make void excess actually void excess * Spotless my beloved * Add method to change base capacity * Make existing hatches have infinite cache and implement dynamic tooltip for current cache size * Improve dynamic tooltip and allow persisitng base cache modifications * Spotless spotless spotless spotless * Remove some unused code --- .../GT_MetaTileEntity_MultiBlockBase.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/main/java/gregtech/api') diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index 810f9a123f..3d34a6c62a 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -2125,9 +2125,11 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity public List getItemOutputSlots(ItemStack[] toOutput) { List ret = new ArrayList<>(); for (final GT_MetaTileEntity_Hatch tBus : filterValidMTEs(mOutputBusses)) { - final IInventory tBusInv = tBus.getBaseMetaTileEntity(); - for (int i = 0; i < tBusInv.getSizeInventory(); i++) { - ret.add(tBus.getStackInSlot(i)); + if (!(tBus instanceof GT_MetaTileEntity_Hatch_OutputBus_ME)) { + final IInventory tBusInv = tBus.getBaseMetaTileEntity(); + for (int i = 0; i < tBusInv.getSizeInventory(); i++) { + ret.add(tBus.getStackInSlot(i)); + } } } return ret; @@ -2165,7 +2167,9 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity public boolean canDumpItemToME() { for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(mOutputBusses)) { if (tHatch instanceof GT_MetaTileEntity_Hatch_OutputBus_ME) { - return true; + if ((((GT_MetaTileEntity_Hatch_OutputBus_ME) tHatch).canAcceptItem())) { + return true; + } } } return false; @@ -2175,7 +2179,9 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity public boolean canDumpFluidToME() { for (IFluidStore tHatch : getFluidOutputSlots(new FluidStack[0])) { if (tHatch instanceof GT_MetaTileEntity_Hatch_Output_ME) { - return true; + if ((((GT_MetaTileEntity_Hatch_Output_ME) tHatch).canAcceptFluid())) { + return true; + } } } return false; -- cgit