c_move(...)
if(HIT_TARGET && target.z > my.z+my.max_z*0.75) //you may not need the factor *0.75
{
my.speed_z = minv(my.speed_z,0);
}
This works well, but whenever less than half of the player entity hits the ceiling, he continues to stay floating, most likely because of the ellipsoid collision system being used when hitting blocks.
@Carlos3DGS:
Wow, I missed your reply on my previous thread. That actually makes a lot of sense! Currently my jump system doesn't work quite like that, but I think I'll try re-coding it. Thanks!