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.
Related issues
Attachments
Comments

Would MC-277155 or MC-211096 describe your issue?
This issue is being temporarily resolved as Awaiting Response. Once the requested information has been delivered, the report will be reopened automatically.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support (Technical Issues) – 📧 Microsoft Support (Account Issues)
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki