nodecore-cd2025/mods/nc_items/throw_inertia.lua

31 lines
783 B
Lua
Raw Normal View History

-- LUALOCALS < ---------------------------------------------------------
local minetest
= minetest
-- LUALOCALS > ---------------------------------------------------------
local item_last_added
local old_add = minetest.add_item
function minetest.add_item(...)
local function helper(obj, ...)
item_last_added = obj
return obj, ...
end
return helper(old_add(...))
end
local old_drop = minetest.item_drop
function minetest.item_drop(itemstack, dropper, ...)
if not dropper or not dropper:is_player() then
return old_drop(itemstack, dropper, ...)
end
local function helper(...)
if item_last_added then
item_last_added:add_velocity(dropper:get_player_velocity())
end
return ...
end
item_last_added = nil
return helper(old_drop(itemstack, dropper, ...))
end