1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Make it more convenient to customize node drops (#15872)

* Provide tool and digger to get_node_drops

This gives games/mods the ability to modify node drops depending on item
and/or player metadata without overriding node_dig or other workarounds.

* Copy wielded item to prevent modification in get_node_drops

* Also pass node pos to get_node_drops

Allowing properties of the node and its surroundings to affect node drops.

* Copy pos to prevent modification in get_node_drops

Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>

* Don't pass empty item stack to get_node_drops if wielded is nil

---------

Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
This commit is contained in:
Jürgen Rühle 2025-04-20 20:48:48 +02:00 committed by GitHub
parent 23bfb2db72
commit 2f464843cb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 4 deletions

View file

@ -513,7 +513,8 @@ function core.node_dig(pos, node, digger)
.. node.name .. " at " .. core.pos_to_string(pos))
local wielded = digger and digger:get_wielded_item()
local drops = core.get_node_drops(node, wielded and wielded:get_name())
local drops = core.get_node_drops(node, wielded and wielded:get_name(),
wielded and ItemStack(wielded), digger, vector.copy(pos))
if wielded then
local wdef = wielded:get_definition()