The Minecraft boat-drop mystery

905,589
0
Published 2024-03-30
Here is camman18's YouTube short about the mystery:    • java edition moment  

Huge thanks to Natalie for sending it to me!

This is the bug report Oliver found: bugs.mojang.com/browse/MC-119369?focusedId=804740

Explore floating point errors yourself using the IEEE-754 Floating Point Converter: www.h-schmidt.net/FloatConverter/IEEE754.html

My previous video about Minecraft:    • How lucky is too lucky?: The Minecraf...  

Thanks to my patreon supporters. They keep my this.status = IN_AIR. www.patreon.com/standupmaths

CORRECTIONS
- None yet, let me know if you spot anything!

Filming by Matt Parker
Editing by Gus Melton
Minecraft footage by Oliver Dunk
Written and performed by Matt Parker
Produced by Nicole Jacobus
Music by Howard Carter
Design by Simon Wright and Adam Robinson

MATT PARKER: Stand-up Mathematician
Website: standupmaths.com/
New book! mathsgear.co.uk/products/love-triangle-by-matt-par…
All UK options: www.penguin.co.uk/books/44315...
All USA options: bit.ly/3wCTesR

All Comments (21)
  • @nathanjames.
    Floating point numbers causes boats to break. Makes sense, since boats need to float correctly.
  • @LeDoctorBones
    The status of neither being in the air nor on the ground is what we in more basic speech call "Swimming".
  • @Chase3141
    Another fun fact: If a boat falls from 44970 blocks high, it will not break despite it being in the sequence calculated. This is because after falling for that long, the tiny difference between 0.0399999991059303 and 0.04 compounds enough to offset the boat by more than the 0.001 block margin to have the ON_LAND status. This also means that boats are safe to fall from any height of 43543 or higher until you get all the way up to 1794944 blocks, at which point the boat is offset by the 0.04 blocks needed to wrap back around into the range where it can take damage, after falling for nearly 8 minutes.
  • @Mogswamp
    Him: Warning math people they don't need to know anything about Minecraft to enjoy the video Me: A Minecraft person, worried that I need to know anything about math to enjoy the video
  • @akaHarvesteR
    As a game dev, this is the level of bug-reporting quality we only dare hope for in our wildest fever dreams.
  • @logan5018
    imagine being the mojang dev that receives the bug report containing a full stand-up maths video
  • @lutherfox
    examples of both on_ground and inair being false: -climbing/descending ladders -swimming -falling through cobweb -climbing/descending vines -riding a boat/other entity 8:54
  • @tissuepaper9962
    9:42 The reason we need to check that fall damage was actually caused by falling is that Ender Pearls deal fall damage to the user when used.
  • @dkfrumwithin
    Last time I saw a gaming breakdown this specific it involved parallel universes.
  • An interesting thing is that the boat breaks into sticks and planks. And here's the thing, once upon a time boats were really fragile, they would break from crashing too hard, and they of course also break when you hit them, and in both of those instances they used to break into blocks and planks. Then in an update a long time ago they made it so that they don't break as easily (can't break by crashing) and if you break them by hitting them they drop themselves (or in other words a boat item). But with that bug they still drop the old drops.
  • @willphillips2522
    A Camman18 Matt Parker crossover is NOT something I expected but I thoroughly enjoyed
  • @ehfik
    "whatever floats your boat"
  • @barryberg2944
    Climbing on a ladder doesnt count as in the air, while also not being on the ground
  • @maticjurac
    Finally, a video that combines three of my favorite things. Mathematics, floating point number tomfoolery and Minecraft.
  • @aabrightlove
    1:08 - looking at this offhand, there is some patterning here: 12 and 13 have a difference of 1 49 and 51 have a difference of 2 111 and 114 have a difference of 3 202 and a perhaps missing 206 would have a difference of 4 310 and 315 have a difference of 5 I'm not sure what is placing these pairs, but I hypothesize that 206 is also a height from which you would die, and that the next two heights would have a difference of 6 between them. If 206 doesn't work, perhaps that is for a significant reason? edit- oof it was 198! so my hypothesis was actually not too far off then, nice!
  • @geoffp8366
    Programming tip of the day: floating-point values that get repeatedly added should, whenever possible, be chosen to be exactly-representable numbers. Instead of 0.04, the acceleration should have been chosen to be 0.0390625 ( = 1/32 + 1/128 ); then the problem would not have arisen. (In memory of the late Garry Tee, who taught me this many years ago. Rest in Peace.)
  • @jackdog06
    I love how we’re all just accepting that the situations where falling from a great height whilst sitting in a boat kills you are the bugs and the ones where you survive with no repercussions are the game working as intended.
  • @dixie_rekd9601
    in air and on ground are separate to allow for easily coding things like ladders, platforms, bouncy slime blocks, swimming, floating in lava, lots of stuff.
  • @XandaPanda42
    Extremely common situations where boats aren't on the ground but not in the air.... is when they float. On or underwater.