From 450dc0cbf4c8c48d45b95b803e3e591dae83d64a Mon Sep 17 00:00:00 2001 From: Soph Date: Tue, 7 Oct 2025 09:40:41 +1100 Subject: [PATCH] Check filter before centering package on funnel block Fix issue where brass funnels with a package filter will pull in packages with an address that does not match the filter, resulting in them getting stuck. --- .../create/content/logistics/funnel/FunnelBlock.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/simibubi/create/content/logistics/funnel/FunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/funnel/FunnelBlock.java index ae5ff78b2c..4bd8a955f4 100644 --- a/src/main/java/com/simibubi/create/content/logistics/funnel/FunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/funnel/FunnelBlock.java @@ -6,6 +6,8 @@ import com.simibubi.create.content.logistics.box.PackageEntity; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; import com.simibubi.create.foundation.block.ProperWaterloggedBlock; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.item.ItemHelper; import net.createmod.catnip.math.VecHelper; @@ -133,7 +135,8 @@ public void entityInside(BlockState state, Level worldIn, BlockPos pos, Entity e if (projectedDiff < 0 == (direction.getAxisDirection() == AxisDirection.POSITIVE)) return; float yOffset = direction == Direction.UP ? 0.25f : direction == Direction.DOWN ? -0.5f : -0.5f; - if (!PackageEntity.centerPackage(entityIn, openPos.add(0, yOffset, 0))) + FilteringBehaviour filter = BlockEntityBehaviour.get(worldIn, pos, FilteringBehaviour.TYPE); + if (filter.test(stack) && !PackageEntity.centerPackage(entityIn, openPos.add(0, yOffset, 0))) return; ItemStack remainder = tryInsert(worldIn, pos, stack, false);