From ba97dfd02ff849f8df53126834a8907b51794711 Mon Sep 17 00:00:00 2001 From: Oil_boi Date: Tue, 26 Mar 2019 10:23:52 +0100 Subject: [PATCH] Make item entities a bit more efficient --- mods/ENTITIES/mcl_item_entity/init.lua | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/mods/ENTITIES/mcl_item_entity/init.lua b/mods/ENTITIES/mcl_item_entity/init.lua index f44917ccf3..7491285c3a 100644 --- a/mods/ENTITIES/mcl_item_entity/init.lua +++ b/mods/ENTITIES/mcl_item_entity/init.lua @@ -88,6 +88,15 @@ minetest.register_globalstep(function(dtime) -- Magnet else + --move this to the front so players can see animation before collection + if not collected then + if object:get_luaentity()._magnet_timer > 1 then + object:get_luaentity()._magnet_timer = -item_drop_settings.magnet_time + object:get_luaentity()._magnet_active = false + elseif object:get_luaentity()._magnet_timer < 0 then + object:get_luaentity()._magnet_timer = object:get_luaentity()._magnet_timer + dtime + end + end object:get_luaentity()._magnet_active = true object:get_luaentity()._collector_timer = 0 @@ -95,11 +104,7 @@ minetest.register_globalstep(function(dtime) -- Move object to player disable_physics(object, object:get_luaentity()) - local opos = object:get_pos() - local vec = vector.subtract(checkpos, opos) - vec = vector.add(opos, vector.divide(vec, 2)) - object:move_to(vec) - + object:move_to(checkpos) --fix eternally falling items minetest.after(0, function(object) @@ -143,15 +148,6 @@ minetest.register_globalstep(function(dtime) end end - if not collected then - if object:get_luaentity()._magnet_timer > 1 then - object:get_luaentity()._magnet_timer = -item_drop_settings.magnet_time - object:get_luaentity()._magnet_active = false - elseif object:get_luaentity()._magnet_timer < 0 then - object:get_luaentity()._magnet_timer = object:get_luaentity()._magnet_timer + dtime - end - end - end end