Expected behavior
When dismounting from a minecart, the player or mob riding the minecart should be deposited on an adjacent block if one is available.
Behavior that occurred
When dismounting from a minecart, the player or mob is deposited directly above the minecart, even when other valid spaces are available. This can cause suffocation damage to the player or mob if there is a solid block two blocks above the minecart.
How to reproduce
Place any rail, then a minecart on the rail.
Get in the minecart, then get out of the minecart. (When not on a rail with shift dismounting.)
Place a solid block above the block where the minecart is sitting with two air block in between to see the suffocation damage.
Code analysis
Based on 1.11.2 decompiled using MCP 9.35 rc1
It looks like the method net.minecraft.entity.EntityLivingBase.dismountEntity(Entity)
now shifts down the bounding box it uses for testing block collisions by the ridden entity height.
Linked issues
is duplicated by 3
relates to 2
Comments 23
WAI per MC-110474.
MC-110474 is not applicable to this problem, since this new bug occurs in rooms higher than 2 blocks. This is NOT resolved.
Thanks for the reopen, and sorry about using the wiki like that, didn't realize it wasn't official. I guess I should probably read the rules or something 😛
From the minecraft wiki: "When a minecart is exited, it searches for an adjacent or diagonal 2×2×3 area to put the player 1.5 blocks away from the cart. If none are available, the player is deposited directly above the minecart. Consequently, the player falls inside the minecart." In 1.11.2, even when there are clearly spots available, it always deposits the player directly above the minecart.