From b3f79c7ceed098fb6ded20789fb924b6615879c8 Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Sun, 2 Sep 2012 16:31:33 +0200 Subject: [PATCH] Prevent items to fly over the whole map --- init.lua | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index eae6a48..48c268b 100644 --- a/init.lua +++ b/init.lua @@ -30,8 +30,27 @@ minetest.register_globalstep(function(dtime) vec.x = vec.x*3 vec.y = vec.y*3 vec.z = vec.z*3 - --object:setacceleration(vec) object:setvelocity(vec) + + minetest.after(1, function(args) + local lua = object:get_luaentity() + if object == nil or lua == nil or lua.itemstring == nil then + return + end + if inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then + inv:add_item("main", ItemStack(object:get_luaentity().itemstring)) + if object:get_luaentity().itemstring ~= "" then + minetest.sound_play("item_drop_pickup", { + to_player = player:get_player_name(), + }) + end + object:get_luaentity().itemstring = "" + object:remove() + else + object:setvelocity({x=0,y=0,z=0}) + end + end, {player, object}) + end else minetest.after(0.5, function(entity)