mirror of
https://github.com/mt-mods/pipeworks.git
synced 2024-12-27 19:30:26 +01:00
wielder.lua: properly implement can_tool_dig_node()
This commit is contained in:
parent
f8cb55a60e
commit
4915b2564f
14
wielder.lua
14
wielder.lua
@ -20,8 +20,16 @@ local function set_wielder_formspec(data, meta)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local can_tool_dig_node = function(nodename, toolcaps, toolname)
|
local can_tool_dig_node = function(nodename, toolcaps, toolname)
|
||||||
pipeworks.logger("can_tool_dig_node() STUB nodename="..tostring(nodename).." toolname="..tostring(toolname).." toolcaps: "..dump(toolcaps))
|
--pipeworks.logger("can_tool_dig_node() STUB nodename="..tostring(nodename).." toolname="..tostring(toolname).." toolcaps: "..dump(toolcaps))
|
||||||
return true
|
-- brief documentation of minetest.get_dig_params() as it's not yet documented in lua_api.txt:
|
||||||
|
-- takes two arguments, a node's block groups and a tool's capabilities,
|
||||||
|
-- both as they appear in their respective definitions.
|
||||||
|
-- returns a table with the following fields:
|
||||||
|
-- diggable: boolean, can this tool dig this node at all
|
||||||
|
-- time: float, time needed to dig with this tool
|
||||||
|
-- wear: int, number of wear points to inflict on the item
|
||||||
|
local nodegroups = minetest.registered_nodes[nodename].groups
|
||||||
|
return minetest.get_dig_params(nodegroups, toolcaps).diggable
|
||||||
end
|
end
|
||||||
|
|
||||||
local function wielder_on(data, wielder_pos, wielder_node)
|
local function wielder_on(data, wielder_pos, wielder_node)
|
||||||
@ -368,6 +376,8 @@ if pipeworks.enable_node_breaker then
|
|||||||
if can_tool_dig_node(under_node.name, wieldstack:get_tool_capabilities(), wieldstack:get_name()) then
|
if can_tool_dig_node(under_node.name, wieldstack:get_tool_capabilities(), wieldstack:get_name()) then
|
||||||
on_dig(pointed_thing.under, under_node, virtplayer)
|
on_dig(pointed_thing.under, under_node, virtplayer)
|
||||||
wieldstack = virtplayer:get_wielded_item()
|
wieldstack = virtplayer:get_wielded_item()
|
||||||
|
else
|
||||||
|
--pipeworks.logger(dname.."couldn't dig node!")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local wieldname = wieldstack:get_name()
|
local wieldname = wieldstack:get_name()
|
||||||
|
Loading…
Reference in New Issue
Block a user