return pointed_thing.under
end
elseif pointed_thing.type == "object" then
- obj = pointed.thing.ref
+ obj = pointed_thing.ref
if obj ~= nil then
return obj:getpos()
else
local drops = minetest.get_node_drops(node.name, wielded:get_name())
-- Wear out tool
- mp = def.material
- tp = wielded:get_tool_digging_properties()
- dp = minetest.get_digging_properties(mp, tp)
+ tp = wielded:get_tool_capabilities()
+ dp = minetest.get_dig_params(def.groups, tp)
wielded:add_wear(dp.wear)
digger:set_wielded_item(wielded)
type="node",
-- name intentionally not defined here
description = "",
+ groups = {},
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
stack_max = 99,
usable = false,
liquids_pointable = false,
- tool_digging_properties = nil,
+ tool_capabilities = nil,
-- Interaction callbacks
on_place = minetest.item_place,
light_source = 0,
damage_per_second = 0,
selection_box = {type="regular"},
- material = {
- diggablity = "normal",
- weight = 0,
- crackiness = 0,
- crumbliness = 0,
- cuttability = 0,
- flammability = 0,
- },
legacy_facedir_simple = false,
legacy_wallmounted = false,
}
type="craft",
-- name intentionally not defined here
description = "",
+ groups = {},
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
stack_max = 99,
liquids_pointable = false,
- tool_digging_properties = nil,
+ tool_capabilities = nil,
-- Interaction callbacks
on_place = minetest.item_place,
type="tool",
-- name intentionally not defined here
description = "",
+ groups = {},
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
stack_max = 1,
liquids_pointable = false,
- tool_digging_properties = nil,
+ tool_capabilities = nil,
-- Interaction callbacks
on_place = minetest.item_place,
type="none",
-- name intentionally not defined here
description = "",
+ groups = {},
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
stack_max = 99,
liquids_pointable = false,
- tool_digging_properties = nil,
+ tool_capabilities = nil,
-- Interaction callbacks
on_place = nil,
if tooldef.inventory_image == nil and tooldef.image ~= nil then
tooldef.inventory_image = tooldef.image
end
- if tooldef.tool_digging_properties == nil and
+ if tooldef.tool_capabilities == nil and
(tooldef.full_punch_interval ~= nil or
tooldef.basetime ~= nil or
tooldef.dt_weight ~= nil or
tooldef.dd_crackiness ~= nil or
tooldef.dd_crumbliness ~= nil or
tooldef.dd_cuttability ~= nil) then
- tooldef.tool_digging_properties = {
+ tooldef.tool_capabilities = {
full_punch_interval = tooldef.full_punch_interval,
basetime = tooldef.basetime,
dt_weight = tooldef.dt_weight,
type = "none",
wield_image = "wieldhand.png",
wield_scale = {x=1,y=1,z=2.5},
- tool_digging_properties = {
+ tool_capabilities = {
full_punch_interval = 2.0,
- basetime = 0.5,
- dt_weight = 1,
- dt_crackiness = 0,
- dt_crumbliness = -1,
- dt_cuttability = 0,
- basedurability = 50,
- dd_weight = 0,
- dd_crackiness = 0,
- dd_crumbliness = 0,
- dd_cuttability = 0,
+ max_drop_level = 0,
+ groupcaps = {
+ fleshy = {times={[2]=2.00, [3]=1.00}, maxwear=0, maxlevel=1},
+ crumbly = {times={[3]=0.70}, maxwear=0, maxlevel=1},
+ snappy = {times={[3]=0.70}, maxwear=0, maxlevel=1},
+ }
}
})