let locked chests be peeked into with lockpick
This commit is contained in:
parent
a390e189b4
commit
36d395a622
@ -91,6 +91,31 @@ function get_chest_formspec(pos)
|
||||
return formspec
|
||||
end
|
||||
|
||||
local newrightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local wield = clicker:get_wielded_item():get_name()
|
||||
local def = minetest.registered_tools[wield]
|
||||
if not default.can_interact_with_node(clicker, pos)
|
||||
and not (def and def.tool_capabilities and def.tool_capabilities.groupcaps and def.tool_capabilities.groupcaps.locked) then
|
||||
return itemstack
|
||||
end
|
||||
name = "default:chest_locked"
|
||||
sound_open = "default_chest_open"
|
||||
sound_close = "default_chest_close"
|
||||
minetest.sound_play(sound_open, {gain = 0.3,
|
||||
pos = pos, max_hear_distance = 10}, true)
|
||||
if not default.chest.chest_lid_obstructed(pos) then
|
||||
minetest.swap_node(pos,
|
||||
{ name = name .. "_open",
|
||||
param2 = node.param2 })
|
||||
end
|
||||
minetest.after(0.2, minetest.show_formspec,
|
||||
clicker:get_player_name(),
|
||||
"default:chest", default.chest.get_chest_formspec(pos))
|
||||
default.chest.open_chests[clicker:get_player_name()] = { pos = pos,
|
||||
sound = sound_close, swap = name }
|
||||
end
|
||||
minetest.override_item("default:chest_locked", {on_rightclick = newrightclick})
|
||||
minetest.override_item("default:chest_locked_open", {on_rightclick = newrightclick})
|
||||
|
||||
--locked node definitions
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user