mojira.dev
MC-119369

Boats crash/break and can kill their passengers when falling certain distances

The bug

When a boat or raft (with or without chest) falls for certain distances, it crashes when hitting the floor, breaks, and drops three planks and two sticks.

This is known to happen when falling exactly 12, 13, 49, 51, 111, 114, 198, 202, 310 or 315 blocks.

Additionally, for some distances, all passengers in the boat die instead of the fall damage being negated as usual. A passenger inside of the boat makes this bug less reliable to reproduce.

To reproduce

  1. On a flat surface, run /setblock ~ ~48 ~ stone

  2. /tp @s ~ ~49 ~

  3. Place a boat on the stone block

  4. Enter the boat

  5. Switch into survival mode

  6. Press forward
    → ❌ You die and the boat breaks

It is also possible to reproduce this by breaking the block below the boat instead of driving it off.

Notes

  • For some heights, no fall damage is dealt.

  • For some heights, the boat only breaks when dismounting it.

  • For boats with chests, the inside contents are destroyed (MC-249501).

Videos

Code analysis

Code analysis by @unknown can be found in this comment.

Linked issues

MC-274861 Boats launched from slimes bounce in mid air. Resolved MC-276511 Boat disintegrate up into bars and planks when flying after hitting a wind charge Resolved MC-270913 Boat/raft falls then breaks unexpectedly Resolved MC-270380 boat breaking after rowing off platform and punching it with an iron axe Resolved MC-270382 Boats are breaking Resolved

Comments 67

Cannot recreate, dropped 49 blocks, 48 blocks and 53 blocks and the boat didnt break on survival

Can you provide more reproduction steps?

@Urielsalis Make a platform at y=113, and another at y=64 slightly away from it, then ride a boat (survival) from the top to the bottom one. The boat breaks, and you take fall damage

Making a platform in a superflat world with those exact coordinates worked, adding a extra block or removing one makes the boat not break

I could recreate it just by stacking up 49 blocks!

57 more comments

I think it works as intended. 

I can only reproduce this in 1.21 by dropping a boat from 12 or 13 blocks, not any of the other heights, and not while a player is inside the boat.

Alex's comment from April 4 can be expanded on, but I'm not sure this idea will work: A game tick is .05s, but the velocity is .04s / t2. If you changed the velocity to .05, would that resolve the floating point issue?

New reproduce steps for 1.21+ now that it only breaks at 12 or 13 blocks and not when a player is in the boat

To reproduce

  1. On a flat surface, run /summon boat ~ ~12 ~

  2. Move out of the way of the boat
    → ❌ The boat breaks

Docper

(Unassigned)

1256321

Confirmed

Platform

Normal

Collision, Entities

boat, boat-with-chest

Minecraft 1.12, Minecraft 17w31a, Minecraft 1.12.1 Pre-Release 1, Minecraft 1.12.1, Minecraft 1.12.2 Pre-Release 1, ..., 24w13a, 1.20.5, 1.21 Pre-Release 1, 1.21, 24w36a

24w37a

Retrieved