From 09854a9af4a5ce70d0098b340a3585c136f99db7 Mon Sep 17 00:00:00 2001 From: Gustavo Ramos Rehermann Date: Thu, 17 Feb 2022 17:08:58 -0300 Subject: [PATCH] Change effect of gravity on submerged items --- mods/ENTITIES/mcl_item_entity/init.lua | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/mods/ENTITIES/mcl_item_entity/init.lua b/mods/ENTITIES/mcl_item_entity/init.lua index 91e152ca1..55c81f155 100644 --- a/mods/ENTITIES/mcl_item_entity/init.lua +++ b/mods/ENTITIES/mcl_item_entity/init.lua @@ -791,6 +791,9 @@ minetest.register_entity(":__builtin:item", { local oldvel = self.object:get_velocity() -- v is vector, vel is velocity + -- apply gravity *before* drag computations + oldvel.y = oldvel.y - get_gravity() * dtime + -- drag local fluid_drag = item_drop_settings.fluid_drag @@ -804,12 +807,6 @@ minetest.register_entity(":__builtin:item", { newv.x = newv.x - (oldvel.x - newv.x) * fluid_drag * dtime newv.y = newv.y - (oldvel.y - newv.y) * fluid_drag * dtime newv.z = newv.z - (oldvel.z - newv.z) * fluid_drag * dtime - - newv.y = newv.y + -0.22 -- (keep slight downward thrust from previous version of code) - -- NOTE: is there any particular reason we have this, anyway? - -- since fluid drag is now on, we could as well just - -- apply gravity here; drag will slow down the fall - -- realistically self.object:set_velocity({x = oldvel.x + newv.x * dtime, y = oldvel.y + newv.y * dtime, z = oldvel.z + newv.z * dtime})