Just in case people havent seen yet, theres an in depth explanation on the youtube channel: Stand-up Maths I will shortly explain here as well. The problem occurs because of the way gravity works in minecraft, you fall 0.04 block/tick^2, which means every second your falling speed increases with 0.04 blocks, however, since values are stored differently when it comes to computers its actually 0.03999999910563 or something like that, i dont remember the exact number, however the point is that the part of the code that checks for fall damage is now seeing, that even though, to you, you are in the air, according to the code, you are very close to a block which the code sees as actually hitting a block and so you will take fall damage. I highly recommend watching Stand-up Maths video for a more visual and better explanation. In short it might be smart to add a condition that checks if you are in a boat and then doesnt do checkfalldamage.
Else you need to rethink the way checkfalldamage works.
Or one more solution may be to change the gravity acceleration value to something that can be stored as its actual value, this wouldnt really be noticeable.
Just in case people havent seen yet, theres an in depth explanation on the youtube channel:
Stand-up Maths
I will shortly explain here as well. The problem occurs because of the way gravity works in minecraft, you fall 0.04 block/tick^2, which means every second your falling speed increases with 0.04 blocks, however, since values are stored differently when it comes to computers its actually 0.03999999910563 or something like that, i dont remember the exact number, however the point is that the part of the code that checks for fall damage is now seeing, that even though, to you, you are in the air, according to the code, you are very close to a block which the code sees as actually hitting a block and so you will take fall damage. I highly recommend watching Stand-up Maths video for a more visual and better explanation.
In short it might be smart to add a condition that checks if you are in a boat and then doesnt do checkfalldamage.
Else you need to rethink the way checkfalldamage works.
Or one more solution may be to change the gravity acceleration value to something that can be stored as its actual value, this wouldnt really be noticeable.