Quarry uses a fake-digger created by pipeworks (hard-dependency)
Fixes crash when digging empty protected chests (https://github.com/minetest/minetest_game/blob/backport-0.4/mods/default/nodes.lua#L1868)
This commit is contained in:
Thomas Rudin 2018-11-09 07:56:18 +01:00
parent e931041358
commit ee2728c26a

View File

@ -146,15 +146,9 @@ local function quarry_run(pos, node)
dignode = technic.get_or_load_node(digpos) or minetest.get_node(digpos) dignode = technic.get_or_load_node(digpos) or minetest.get_node(digpos)
local dignodedef = minetest.registered_nodes[dignode.name] or {diggable=false} local dignodedef = minetest.registered_nodes[dignode.name] or {diggable=false}
-- doors mod among other thing does NOT like a nil digger... -- doors mod among other thing does NOT like a nil digger...
local fakedigger = { local fakedigger = pipeworks.create_fake_player({
get_player_name = function() name = owner
return "!technic_quarry_fake_digger" })
end,
is_player = function() return false end,
get_wielded_item = function()
return ItemStack("air")
end,
}
if not dignodedef.diggable or (dignodedef.can_dig and not dignodedef.can_dig(digpos, fakedigger)) then if not dignodedef.diggable or (dignodedef.can_dig and not dignodedef.can_dig(digpos, fakedigger)) then
can_dig = false can_dig = false
end end