From c7dcda0e5314248f704fb76767a1a2d48e3b8fc5 Mon Sep 17 00:00:00 2001 From: repo-alt Date: Sat, 26 Feb 2022 12:11:26 +0300 Subject: fix redstone output for buffers and filters (#947) closes https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/9442 --- .../automation/GT_MetaTileEntity_Filter.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java index 5b23c36d9a..02eaf892ac 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java @@ -90,4 +90,22 @@ public class GT_MetaTileEntity_Filter extends GT_MetaTileEntity_Buffer { } return GT_Utility.areStacksEqual(this.mInventory[(aIndex + 9)], aStack, this.bIgnoreNBT); } + + @Override + protected void handleRedstoneOutput(IGregTechTileEntity aBaseMetaTileEntity) { + if (bRedstoneIfFull) { + int emptySlots = 0; + for (int i = 0; i < 9; i++) { + if (mInventory[i] == null) + ++emptySlots; + } + if (!bInvert) + emptySlots = 9 - emptySlots; + for (byte b = 0; b < 6; b++) + aBaseMetaTileEntity.setInternalOutputRedstoneSignal(b, (byte) emptySlots); + } + else + for (byte b = 0; b < 6; b++) + aBaseMetaTileEntity.setInternalOutputRedstoneSignal(b, (byte) 0); + } } -- cgit