From ba0e851487583e782368bce67459559f7548726f Mon Sep 17 00:00:00 2001 From: reidbhuntley Date: Sun, 20 Jun 2021 11:07:27 -0400 Subject: [PATCH] Fix inconsistency with Deployers on contraptions - Previously Deployers would sometimes collide with the contraption entity they were a part of and their activation would be consumed --- .../contraptions/components/deployer/DeployerHandler.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java index 081efd0ff..b15e827a9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java @@ -5,9 +5,11 @@ import static net.minecraftforge.eventbus.api.Event.Result.DENY; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import javax.annotation.Nullable; +import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlockItem; import net.minecraft.block.DoublePlantBlock; @@ -150,7 +152,9 @@ public class DeployerHandler { // Check for entities final ServerWorld world = player.getServerWorld(); - List entities = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(clickedPos)); + List entities = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(clickedPos)).stream() + .filter(e -> !(e instanceof AbstractContraptionEntity)) + .collect(Collectors.toList()); Hand hand = Hand.MAIN_HAND; if (!entities.isEmpty()) { Entity entity = entities.get(world.rand.nextInt(entities.size()));