-
Bug
-
Resolution: Duplicate
-
None
-
24w45a
-
None
-
Unconfirmed
-
(Unassigned)
Affects versions: 1.0 to 24w54a.
Issue:
Pistons fail to push entities fully when the entity has a movementMultiplier. This can be caused by the "velocity slowdown" effect from blocks like powder snow or cobwebs (via the onEntityCollision() method). This is related to MC-278182.
Expected behavior:
The armor stand is properly pushed into the block in front of the piston.
Observed behavior:
The armor stand is barely moved by the piston, causing its hitbox to overlap with the piston head.
Code explanation:
When pistons move entities, they use the public void move() method from Entity.class.
The move() method always multiplies the entity's movement by any movementMultiplier affecting it.
As a result, even though the piston attempts to move the entity to a specific location, it fails because the entity’s hitbox collides with a block that has slowdown properties (e.g., powder snow or cobwebs).
Suggested fix:
This could be resolved by excluding piston movement from the slowdown effect, using a condition such as:
(if (this.movementMultiplier.lengthSquared() > 1.0E-7) → if (this.movementMultiplier.lengthSquared() > 1.0E-7 && type != MovementType.PISTON)).
Why fix this:
While this issue may not significantly affect most entities (as the primary outcome is the entity not reaching its intended position), it is problematic for entities that rely on the pushOutOfBlock method, such as items. See the related bug report: MC-278182.
A video recorded in the latest version will be attached, though this issue can be replicated in versions as old as 1.0.
- duplicates
-
MC-211096 Entities in cobwebs clipping though pistons
- Open