mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
builtin: Return 'obj' from 'core.item_drop' (#15880)
This also includes a minor bugfix where 'itemstack' was cleared even if the object placement failed.
This commit is contained in:
parent
afb15978d9
commit
23d0fb2d3f
3 changed files with 31 additions and 6 deletions
|
@ -360,13 +360,12 @@ end
|
|||
function core.item_drop(itemstack, dropper, pos)
|
||||
local dropper_is_player = dropper and dropper:is_player()
|
||||
local p = table.copy(pos)
|
||||
local cnt = itemstack:get_count()
|
||||
if dropper_is_player then
|
||||
p.y = p.y + 1.2
|
||||
end
|
||||
local item = itemstack:take_item(cnt)
|
||||
local obj = core.add_item(p, item)
|
||||
local obj = core.add_item(p, ItemStack(itemstack))
|
||||
if obj then
|
||||
itemstack:clear()
|
||||
if dropper_is_player then
|
||||
local dir = dropper:get_look_dir()
|
||||
dir.x = dir.x * 2.9
|
||||
|
@ -375,7 +374,7 @@ function core.item_drop(itemstack, dropper, pos)
|
|||
obj:set_velocity(dir)
|
||||
obj:get_luaentity().dropped_by = dropper:get_player_name()
|
||||
end
|
||||
return itemstack
|
||||
return itemstack, obj
|
||||
end
|
||||
-- If we reach this, adding the object to the
|
||||
-- environment failed
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue