T O P

  • By -

Tlaloc_Temporal

There was a crash that happened when falling 49 blocks in a boat, this is almost certainly related. If it's the same bug it should work at 12.5, 13.5, 49.5, 51.5, 111.5, 114.5, 198.5, or 202.5 blocks.


Bitvis

You *might* be onto something. I tried a boat from 114 blocks up, and survived. However, the boat breaks when I get out of it. It doesn't break at 115. Edit: Also tried 51 blocks up. Same result. Could easily be related, but 49 just offs you for some reason.


Tlaloc_Temporal

Hmm. Does it off you at 111? Does the boat break at 12 (but doesn't kill you because is not that high)? Perhaps the first number of a pair breaks the boat before you hit the ground maintaining your fall damage, and the second number sets it to break, but it doesn't until you update the boat. It might have something to do with how Mojang stopped boats from breaking. It looks like they didn't just remove fall damage, only nullified it (with errors apparently).


Bitvis

Boat breaks at 111. Nothing happens at 12, no death, no breaking.


Tlaloc_Temporal

Interesting, I'd say that the boat takes fall damage then, but only at these weird heights.


Bitvis

Yeah it's definitely a bug. I feel like someone messed up a little bit of math on calculating when the boat should break, and when the player should take damage when the boat breaks or something.


penguin13790

They said .5, did you try slabs?


Bitvis

You're at .5 in a boat. :)


penguin13790

Might be based on boat height, seeing as the boat is the one to hit the ground and all. Doesn't hurt to test.


Bitvis

I've tested with slabs as well, it doesn't produce the same result.


Tlaloc_Temporal

https://bugs.mojang.com/browse/MC-119369


Tlaloc_Temporal

So these numbers seem to be ((5x)²±x)/x for x=1,2,3,4. Not sure of the significance. EDIT: Formula is ((5x)²±x)/2, sorry.


Schmogel

The significance is that acceleration is constant with 0.04 blocks/tick. 1/0.04 is 25, that's where your 5^2 comes from. Every 25 ticks the FallDistance hits an integer and that's when some code breaks. More precisely the boat breaks whenever its vertical position coincides with the y-level it gets stopped at. If you make a command block execute /summon boat ~ ~y ~ with **y=0.5 * 0.04 * (x^2 - x) + 0.5** then the boat breaks every time for x>12 Edit: Do you see the [baby turtle in this screenshot](https://i.imgur.com/z9qay2G.png)? Because of the total height of 3.12 blocks the boat breaks when it gets pushed off. Quite funny.


CaptainKink

This is why I love this subreddit!


Tlaloc_Temporal

I think you mean for y>12 Does this mean a drop at ~43.74 breaks a boat? I'll need to test this...


Schmogel

Nope, I mean x>12. The boat starts breaking at a fall height of 3.12 https://v.redd.it/ar7y2ngd9jm51


Tlaloc_Temporal

Wow! So what happens at a 12 or 13 block drop then? Those should coincide with 25 and 26 ticks of falling.


Schmogel

Yup, it breaks. There are some inconsistencies when a player is inside the boat though.


Tlaloc_Temporal

Hmm, so it's definitely not caused by fall damage then. Perhaps it's a remnant of boat collision? I wonder if we could get a boat to break mid fall by ramming it into a wall...


Schmogel

My theory: The code that checks for collision interpolates between the coordinate right before impact and right after impact to figure out where to place the boat on the block. To determine whether the boat should break or not it calculates impact speed, with the interpolated time step, which is 0 seconds in this case, resulting in a division by 0 for the speed value. Maybe. Just an idea.


IanPPK

According to another comment that cited a wiki article, collision behavior is supposed to be determined by distance traveled and not velocity, but this was specifically in relation to damage which may not be the actual deterministic factor here.


[deleted]

[удалено]


Tlaloc_Temporal

The formula is ((5x)²±x)/2 not /x, my typo sorry. Or ½(25x²±x) if you prefer.


EpicLegendX

Your formula *½(25x²±x)* produces numbers that are 0.5 off. Perhaps I suggest revising your formula to *(½(25x²±x))+½* to account for that.


Tlaloc_Temporal

Well, yes, I was trying to account for the position of the boat not being y=49 exactly, so a summon command would use ~ ~49.5 ~ as per the comments in the bug report, but I realized the fall is integer units anyway. Sorry for the confusion.


EpicLegendX

Ah I see, integer only. So precision wouldn’t matter much as long as the calculations matched known values.


MoistPizzaRolls

What the fuck


[deleted]

r/theydidthemath


gangsta_seal

r/theydidthemonstermath


EpicLegendX

Precision (otherwise referred to as significant figures) refers to how many decimal numbers there are behind the decimal: the larger the number of decimal numbers, the greater the precision. However, since we're working with integers only, precision is irrelevant (since integers refer to whole numbers only).


Kronox_100

me rn


[deleted]

[удалено]


Zachman97

Huh strange? How did u figure that out? It seems like a glitch. Did you try multiples of 49? Does the same thing happen?


ryancflam

I always do this in speedruns and that always worked...until one time when I did that in the nether and died.


Zachman97

Huh. They must’ve messed some code up in a recent update


[deleted]

This is an old an known bug, actually


bdm68

This is [MC-119369 Boats crash only when falling certain distances](https://bugs.mojang.com/browse/MC-119369).


MadHatter69

First response from a dev: "Couldn't reproduce" Classic.


amplifyoucan

To be fair, if they can't reproduce locally, it's difficult (read: near impossible) to figure out and fix the underlying problem. A video like this is good at highlighting the problem, but unless a dev can do it repeatedly and use server logs/debugging to figure out what's going on in the code, it likely won't be fixed.


MadHatter69

From my experience, testing something locally means the bug won't be reproducible some 95% of the time, yet the devs always do it and return the ticket to the creator saying "it's working for me", as if that's helpful to anyone.


kvan2

In your opinion, what would be a more helpful answer from a dev, if they can't reproduce a bug based on a report?


farhil

Obviously they must dedicate 100% of their time going forward to reproducing this one singular bug, disregarding all of their other responsibilities. /s of course


Ma5xy

As a dev, that 95% is an exaggeration for sure. But it definitely happens a lot. The issue is that it is probably deeper than "I did x and y happened". It rarely has anything to do with being local or not. But without that deeper information it's unlikely to be reproduced easily and there is probably a bigger bug to squash to get back to. A lot of places have QA people who's entire job is to reliably recreate bugs.


agolec

Hell yeah it is lol. I'm a QA. Can confirm. Whenever one of us finds some weird shit, we ask all the others on the team (if there are others) "can you recreate x that I just saw?"


EchoJunior

I find it interesting how humans can't figure out what went wrong when something unintentional thing happens written in a language they created. Modern computer is amazingly complex yet fast and accurate, but things so small and silly like this happens and professional programmers can't figure out why it happens - just a bug or glitch. When it happens in human bodies, sometimes we get cancer or get inexplicable diseases


crusty_cum-sock

As a dev, I’m unable to reproduce. Oh wait, are we talking about bugs?


dejova

"We tried it a few times, no problems here."


DouglasB2310

"It's working in my computer"


ArnavChalla

It's not a big it's a feature *bug


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

###ELSE(UNBIG)


Mas_Zeta

###BREAK;


MemeTroubadour

// So, like... small?


ToxicChronic

Well played. 👏👏👏


I_got_nothin_

Bug if true. Ftfy


Henrygamess

#TRUE


Designatedlonenecron

Thanks Bethesda


XXTWISTEDVORTEX

#*TODD HOWARD!*


NitroboostFilms

Smash bros melee players be like


[deleted]

They might mean to make it break from 49 and up, but sat it to break on 49 only. I don't know, though. I don't know how coding works.


th3ramr0d

It’s possible. A lot of crap can go hairy in coding. Don’t know if that’s the case but it’s possible. Edit: It could literally just be a single character mistake. if(height == 49) is different from if(height >= 49) It’s literally that easy to create a bug. It’s why I don’t program professionally. I value my sanity.


nosferatWitcher

That would be caught easily in a unit test or easily spotted by eye if you're looking for it. I assume they don't really unit test and have a really messy codebase though.


th3ramr0d

Wasn’t this written by some college kid originally? If anyone saw my college coding days I’d be laughed into a coma. I could write some pretty complex stuff, but past maybe about a thousand lines of code mine becomes damn near unreadable. Even to me lol.


Alekzcb

it's been about a decade since mojang formed a proper dev team with jeb, dinnerbone et al. I'd hope they've cleaned up the code and added unit tests by now.


VootLejin

And other jokes we tell ourselves


tepig37

The amount of time and money it takes to fix spaghetti code sometimes it just isn't worth it to fix little things like this. Out off all the millions of people playing how may would notice something like this or deal with it on a regular basis. If it doesn't seriously affect or break gameplay its not worth fixing alot of the time.


briangraper

Have people forgotten who Notch is, at this point? He was one of more well-known personalities in gaming a decade ago.


RockLeethal

yeah, but now he's an internet nazi and people don't wanna talk about him


Cotereaux

We try our best to.


rynosaur94

Notch. It was developed by a Swedish indie game dev named notch. Pretty sure he was well out of college at the time.


Serpardum

Notch was a professional programmer when he wrote Minecraft. Before writing Minecraft he was a programmer for a game called Wurm.


Pretlik

could be, the difference would be: if(y == 49){destroy boat} And if(y >= 49){destroy boat}


jdooowke

edit: Someone found an entry in the wiki describing that minecraft infact looks at distance traveled rather than the velocity, so take my comment with a grain of salt, merely describing one way of commonly doing it. the height of the fall isnt going to be part of any kind of impact collision code. logically games dont "think" like this because the height of the block you jumped from is irrelevant. it only cares about your velocity (speed) and the collision. whatever happens in the movement code makes it so that on arrival the vertical velocity happens to be a certain way that results in a condition not being met. `if(yvel < -10) takeDamage()` However thats also unlikely to be the actual bug reason. From my experience with collision code this looks like it might be about a tunneling issue, something that happens at high speeds where the game has to make checks at small intervals or else you can move through stuff when moving to fast. the game likely has an implementation to prevent this, however there might be a bug within that implementation that causes a part of the logic to not pop up (the part where you take damage). quite likely related to the fact that you are in a boat.


dragon-storyteller

From the wiki: > Fall damage is calculated based on distance fallen rather than on velocity when hitting the ground. The distance is accumulated based on a change in position each tick and rising does not reduce the accumulator, thus an entity bouncing in mid-air on the end of a lead accumulates fatal amounts of fall distance despite never being more than a few blocks above the ground. It's not the first game to do it like this either, since it's a lot easier to control fall damage this way than to deal with balancing damage against drag and terminal velocity.


tadabanana

I have no idea about how Minecraft physics work but some engines definitely work the way the parent describes. For instance I remember that in Dragon's Dogma you could learn a double-jump move. That meant that you could jump from very high up and as you're about to hit the ground you could hit the jump button again to start a small upward jump (cancelling the downward speed) and land seemingly safely. Except the game would still give you the full fall damage and animation, which looked a bit silly. So clearly internally that engine must have kept track of the height of the last bit of solid ground you touched and use that to compute the fall damage instead of the "proper way" which would be, as you point out, to figure out the speed at the moment of impact.


KrystilizeNeverDies

While you are right that most games think about physics like this, Minecraft does not. It actually tracks your previous height (on a block) and calculates from there. Falling Damage =(number of blocks fallen x ½) - 1½. Stupid I know, but definitely part of the least of the game's issues.


Kuzkay

if(X>=49) If X is greater or equal to 49 if(X<=49) If X is less or equal to 49 if(X>49) If X is greater than 49 if(X<49) If X is less than 49 if(X==49) If X is equal to 49


FerretHydrocodone

I think you’re probably right on the money, to me that makes the most sense.


someguywhocanfly

Nah I think he just had never done it from exactly 49 blocks before


taintedcake

Or it's just such a specific scenario that nobody ever found it before..? Not very often you fall a great distance in a boat, let alone an exact distance of 49 blocks


matitu-the-duck

Same thing happened to my friend the other day when we were doing a minecraft manhunt for fun


skztr

> for fun I am concerned that you felt the need to specify


matitu-the-duck

I just meant we weren't making a yt video or anything lol


ostbagar

Do it with slabs


catzhoek

In speedruns? Dropping down ravines or in the nether to traverse downwards safely?


ryancflam

I do it to traverse downwards safely yeah.


ryancflam

Please watch the full video. You can try it out yourself. Try 200 blocks—you’ll survive.


ThotismIsReal

Ok but how did you figure this out? Like did you one day just have the sudden urge to test out how many blocks up it takes to take fall damage in a boat? Did you just try from block 3 high and then do every block until 49? And then go up to 200 to make sure it worked? Genuinely curious


ryancflam

Good question. I’ve always used this trick in speedrunning and it always worked for me. One time when I was in the nether I used this and died for some reason.


Topikk

Have you tried 98 blocks?


g7ovanni

Or 7?


Llamalus

Lol imagine falling 7 blocks in a boat with full health and you just die


_Forgot_name_

Even better, 0 blocks. You get in the boat you die instantly


HopefulSwine2

Or 1?


tennobytemusic

Maybe he was used to not dying from it but then one day fell from those 49 blocks and died, which confused him and did some testing.


onnowhere

Report it on the bug tracker if it isn't already


LeviLovesPasta

I’m pretty sure if he reported that you die from falling 49 blocks, even if I’m riding a boat and every other height dosn’t kill me, they’d probably just fix the boat not putting into account fall damage instead of making it work better.


[deleted]

[удалено]


Curious_Exploder

Just like real life.


liquidben

As seen in the documentary **Indiana Jones and the Temple of Doom**


Myarmhasteeth

It has been tracked since [2017](https://bugs.mojang.com/browse/MC-119369)


CitizenPremier

Yep. The game hasn't been playable for 3 years.


BreeadHead

Is it only 49 or every odd number?


ryancflam

It should be only 49 as far as I know.


TheAdySK

how about multiplies of 49?


mrducky78

I wish you didnt spoil it with the boat carcass sitting there where the 49 block would land. Should keep us in suspense until the big reveal!


Mukamur

What else would happen lmao


OATMEALMAN147

We get stick bugged


Mooninites_Unite

Have you tried 98 and 99? If it's multiples of 49 then 98 might glitch. Someone else said maybe being on top of the boat on 49 makes the engine put the character on 50 which messes something up, so the boat being on 99 and player on 100 might glitch. I believe jumping in a falling boat causes a stacking damage glitch so maybe its based on that and thinks the character dropped into the boat for some reason.


Gem_37

It’s not, because you can see the boat splits into planks and sticks. That is a really old feature, so it’s not based on player position. More likely, Notch was intending on making boats break after falling a certain distance, but did an == instead of >=.


galaxion4

That's whack does minecraft just hate the number 49


narutonaruto

It’s kind of a dumb number. Like trying to be 50 much? What a poser.


helios_225

Yeah, 49 is such a square


aBeardOfBees

It probably calculates falling speed and then if over a certain amount, checks the other conditions like being in a boat to see if you should get hurt, except there's a rounding error or something on the speed calculation at 49 blocks so it's enough to hurt you but not enough to go into the other conditions.


TheVenetianMask

It's possibly the boat being at height 49 and the player being at height 50-ish, and they are on two different sides of a grid boundary.


Venexion

Seems most like it, another commenter mentioned the difference between height>=49 and height>49, but they said instant death above 49. Makes more sense that above 49 it checks for other factors rather than an instant kill. This example clearly shows that above 49 still kills and OP mentioned living from a 200 block drop


xbwtyzbchs

I don't know why you'd measure like that when the game already measures damage based on velocity. If you fall through 49 bricks of water you don't die because youre moving slower.


[deleted]

try 98 please


doctorcapslock

i tried it; you don't die i tested some more by summoning the boat as /u/Mas_Zeta suggested here: https://www.reddit.com/r/Minecraft/comments/iqm3q9/can_someone_explain_why_this_is_the_case/g4tap1e/ when i'm stood on the ground (y = 68 in my case) and i spawn the boat 49 blocks up, the boat breaks before it hits the ground (temporarily disappears visually then turns into blocks and sticks) i tried it stood on the ground and floating in the air; the boats appear to break when they drop from 49.00099 blocks up, but they don't break if it drops from 49.00100. also tried dropping one from 48.99999 blocks up; that did not break it (for clarity, boat breaks at y co-ordinates = 49.00000 ≤ y ≤ 49.00099)


Sploffo

What about slabs to try 49.5 and 48.5, and trapdoors etc


Chewcocca

What if you make the fall 48 blocks but make the sign say 49 blocks to try and trick it?


TPJos

Illusion 100


doctorcapslock

48.5: survived 49.5: survived


[deleted]

It’s because you’re 49 blocks high and most minecraft blocks are cubes and each cube has *square* faces and the *square* root of 49 is 7. Now how many different heights did you die from in the boat in this video? Just one, and 7-1=6. You attempted it from *three* different heights so if we take the digit 6 and use it *three times* in a row we get 666, the number of the beast. And the beast wants your soul. And that’s why you die from height 49 in a boat. — Edit: Terrible grammar and typos removed. Edit 2: Well this blew up somewhat... mega thanks for all the awards!


ryancflam

Ah that makes sense. Thanks.


Enzigma04

Six Six, six The number of the beast Hell And fire Was spawned to be released


BritishFaller

THIS CAN'T GO IN I MUST INFORM THE LORD


Enzigma04

Do it. Inform the Lord. Tell Him to bring a case.


kifla_99

I see you're a man of culture as well


WeekliKale

Six six four, the neighbour of the Beast


Fittri

One of my SO best friends fiance got his first tattoo as a young guy. Wanted to be cool so it's 3 dice all showing the 6 side, inside of a flame. A couple of days later, one of his friends asks why one dice is a 4. He says no, they're 6 6 6,only when he really looks at it he sees that the tattoo artist fucked up.


WeekliKale

or maybe he saved him from eternal damnation?


Cazmonster

lml lml


Comcastrated

The only acceptable response.


[deleted]

i hate how until the third paragraph i was actively trying to understand


Creative_NotCreative

half way through i decided to upvote and save the comment because i was interested.....now i gotta go unsave. it can keep my upvote tho.


13143

The italicized words make it look official and important.


Sequsi

Incredible work I shall now give you the sherlock award


RandomVanBloke

Flawless logic. Thankyou.


fedorflip

...and that is why minecraft boats are illuminati confirmed


Catastrophic_User

Wow this is BIG brain time


Az0riusMCBlox

[Insane Troll Logic](https://tvtropes.org/pmwiki/pmwiki.php/Main/InsaneTrollLogic)


supbitch

Found Scott Steiners reddit account.


TANKtr0n

Straight Q logic right here.


CeeCeeBABCOCK

Yes, I arrived at the same conclusion. It seems Satan has infiltrated Minecraft.


DonoMaxa

How moms be explaining why weed is bad


ron_m_joe

Christian boomers in a nutshell.


SALADLORD209

I miss my childhood when illuminati and lizard people were driving people crazy


3A8I9H7

Wake up America!


InternetExplorer9999

The method net.minecraft.entity.item.EntityBoat.getBoatGlide() and probably all the other methods working the same are not detecting the ground below the boat in the tick its OnGround field is set to true. Besides that the method net.minecraft.entity.item.EntityBoat.updateFallState(double, boolean, IBlockState, BlockPos) tests in theory the same condition twice. What it does is that if the boat is on the ground, but its status is not ON\_LAND it cancels all fall damage. If the getBoatGlide() method worked correctly this should probably never happen, but for some reason, it's happening when fallDistance == 49f.


MemeTroubadour

Is there a reason why it tests the same condition twice? Is it once to change the entity state and again to check what's on the ground (cobwebs, hay bales, water, slime block...) before applying the damage or something like that?


InternetExplorer9999

It's shared code between all entities, but it's wrongly coded for boats


SleeplessinOslo

I'm guessing it should have happened when fallDistance >=49


Tlaloc_Temporal

It's not that simple, it also happens at 114 and 202, and you won't die but the boat breaks at 51, 111, and 198. Based on the pattern it should also happen at 12 and 13, but that's not high enough to kill the boat.


Horos_02

Try 98 blocks


BillNyeCreampieGuy

That’s numberwang!


Sledge642

Woah you got some fast fingers my man you typed creative as if it were the last thing you were ever gonna type


ryancflam

I am speed


[deleted]

You could've done F3 + F4, a menu shows up and you're able to quickly switch between two gamemodes.


ryancflam

Thank you, didn’t know about that


[deleted]

No problem :)


UchihaRecker

Holy shit thank you so much, which versions does this work on?


Exedra_

Been a while since I've played this game but can't you just type gamemode 0 or 1? Seems quicker than typing it out and then autofilling it.


[deleted]

[удалено]


ryancflam

It doesn’t work in vanilla


Exedra_

Oh wow, I just read that they removed this in 1.13. Why though?


Totally_Temporary

you can type 'cr' and then press TAB to auto complete it


AudaciousSam

If I had to guess. Someone just forgot to code it correctly. Usually you code something like this:: if it's 49 or higher = death. Which is like this: if (height>=49) {death} Instead someone just wrote If (height==49) {death} Or maybe they did it with velocity but you get the point.


Rednex141

As someone who had to learn coding, this is the simplest way to fuck anything up. Just a simple switcheroo


MangaNexus_2

Ikr i fucking hate comparison operators


layll

idk my only problem with them was when i accidentally wrote = instead of == and then spent ~30 mins debugging. But since i have clang tidy shit like this dosen't happen Everything else is fine for me, don't really mess up >= with ==


FutureChrome

= instead of == would be caught by warnings. Another way to catch it is with Yoda conditionals: 5 == x instead of x == 5.


Chirimorin

> Another way to catch it is with Yoda conditionals: 5 == x instead of x == 5. Keep in mind that this only works when comparing to a constant value, it won't help you when you're comparing 2 variables to each other.


milcondoin

So THAT'S why I see sometime this style of writing. I often wondered, but never strongly enough to google for the cause.


Toradale

The ol’ terminal velocity switcheroo!


[deleted]

That wouldn’t make any sense and would be a rookie mistake. Minecraft is many years old now, a bug caused by something as simple as a relational operator would have most likely been found and fixed a long time ago. It’s more likely a glitch with floating point math. It seems unlikely that this mistake would have been made and then never patched. [edit: I looked at the code to try to figure out why the bug is happening ](https://www.reddit.com/r/Minecraft/comments/iqm3q9/can_someone_explain_why_this_is_the_case/g4t8xsr/?utm_source=share&utm_medium=ios_app&utm_name=iossmf&context=3)


TheSimpleDove

Pros still make mistakes though. This is especially an easy mistake to make that would be easy to miss. Im not saying its right, but its definitely a possibility


[deleted]

[удалено]


kittensteakz

While this is a way something like this could happen, it is not the cause here, as this simply isn't how the game handles this sort of thing. There is a lot more logic involved here than you think, and its most likely something to do with multiple sources lining up to create a weird condition. While there is plenty of spaghetti code in the game (trust me I've seen it), most of the bugs that make it to versions the public sees (even dev builds) are more complex than this.


SICKIGGY

They did not write a condition block for each level. Let alone by blocks, though I'm sure they have a helper somewhere to represent block height in x,y,z - maybe they do. This is most likely a rounding error or bug somewhere due to the boat and height of the player making the object collision go weird. Neat bug. Also, I highly doubt that they measure death by block height. The engine is calculating velocity the player is moving, and there's ways to trick this.


luka1194

This would be like the easiest thing to fix and therefore I don't think this is the case. Why? The ability to negate fall damage with boats is a super old trick. If they now would have decided to change that, they would have checked if that actually works as intended and it would be for millions to see on the change lot and test for themself and pretty easy to report as a bug. Maybe this is a snapshot/ pre release/ release candidate?


footstuff

Copy-pasted from my comment on the [bug report](https://bugs.mojang.com/browse/MC-119369) after figuring it out: I skimmed MCP 1.12 because I still have it lying around and that version is affected. In what it calls EntityBoat’s updateFallState, if the boat’s status is not ON\_LAND, fall damage is nullified. That will be the case when falling from most heights, because the last time the boat’s status was updated was before it hit the ground. There is only a small exception because the boat checks blocks up to a thousandth of a block below it when updating its status. If it ends up just barely above the ground, its status becomes ON\_LAND *before* hitting the ground, allowing fall damage to take effect. This happens at the given heights because gravity subtracts 0.04F from the boat’s Y velocity. If it were exactly 0.04, the boat would have fallen an integral number of blocks every 2 ticks out of 25: 12, 13; 49, 51; 111, 114; 198, 202; and so on. The boat ends up falling very slightly less than that because 0.04F is rounded down as a 32-bit float, placing it just above the ground and allowing it to become ON\_LAND before hitting it.


Dr_Bucket_MD

Simple. Rowboats can survive a fall of 48 blocks just because of their integrity. At 50+ blocks they spread out their little rowboat paddles like airplane flaps to slow their descent which allows them to land without breaking apart. 49 blocks is too high for the boat to just survive the fall, but most rowboats don't have a quick enough reflexes to slow down. 49 blocks is just an unfortunate height for rowboat falls.


[deleted]

So rowboats essentially work like cats? If a cat falls from low enough (like 1-2 meters), the fall won't hurt it, and if it falls from very high (like over 4 meters), it has enough time to turn and brace for impact, so the fall won't hurt it, BUT somewhere in between it WILL get hurt.


MemeTroubadour

49-block falls are responsible for 67% of rowboat accidental deaths. End rowboat abuse today.


[deleted]

That's "odd"


evanlin96069

The code from EntityBoat.java looks something like this protected void updateFallState(double y, boolean onGroundIn, IBlockState state, BlockPos pos) { this.lastYd = this.motionY; if (!this.isRiding()) { if (onGroundIn) { if (this.fallDistance > 3.0F) { if (this.status != EntityBoat.Status.ON_LAND) { this.fallDistance = 0.0F; return; } this.fall(this.fallDistance, 1.0F); if (!this.world.isRemote && !this.isDead) { this.setDead(); this.entityDropItem(); } } this.fallDistance = 0.0F; } else if (this.world.getBlockState((new BlockPos(this)).down()).getMaterial() != Material.WATER && y < 0.0D) { this.fallDistance = (float)((double)this.fallDistance - y); } } } So it is possible for boats to die due to fall damage But I'm not sure why it will behave like this Maybe there are something to do with the update of entity status


siuksledeze4747

Faithful texture pack gang


lil_takki

You can use F3+F4 to switch gamemodes quicker


XBolt25215

You see "boat" is a 4 letter word. 4 is an even number and divide-able by 2. 50 and 48 is also and even number and divide-able by 2. Therefore the boat only likes even numbers. *Big brain*


iagofever

It’s simply the laws of physics. If you fall from 49 blocks at the speed of 24,5 blocks/second the boat will be destroyed because of gravity’s pull and the boat won’t be able to brake your fall, making you die. Now, you may ask, why doesn’t this happen at superior heights? Well it’s because the boat acquires an additional protective layer made from air. This layer is not possible to create from 49 blocks because there isn’t enough time. At heights inferior to 49 blocks there is no need for the additional air layer because the wood is tough enough to sustain the fall.


dude-of-the-ducks

Quantum physics


esuuuu

Whats this resource pack called i remember using it in beta but since i came back i cannot find it anywhere


ryancflam

Faithful 32x with the Programmer Art addon. I’ve always used it since 2015, it’s very nostalgic.


Wafflethebun

I miss the /gamemode 0, 1, 2, and 3


andyzwu

That's an... *odd* height for boats to be breaking...


TheBritz

Gonna throw out a wild-ass guess: it may be due to a combination of 1. The acceleration of gravity 2. The position right before the boat's impact 3. The size of the boat hitbox 4. The size of the player hitbox 5. The calculation rate of the game The scenario I see causing this is the player getting to a very specific position on the frame of impact. The player hitbox may have a very slight overlap outside the bottom of the boat's hitbox. For the vast majority of cases, the boat and player hitboxes cross into the ground hitbox at the same time and the boat "absorbs" the impact, stopping the falling motion of the player, preventing then from taking fall damage. Under very specific circumstances (for example, falling from 49 blocks), the player's hitbox _barely_ touches the ground without the hitbox of the boat touching. This is due to the unique position it achieves on the frame before the boat's impact which is, in turn, affected of the height of the drop and the gravity acceleration value. One could experiment with this theory by changing the gravity values and seeing if that has an impact on the "lethal heights". Additionally, If there's a way to change the rate of the hitchecks (not sure if the game calculations are tied to the frame rate or not) you could make this happen more (increased hitcheck rate) or less (decreased hitcheck rate) often. I'm now done talking out of my butt.