Prevent picking flowers if breaking node with hammer

master
Nathan Salapat 2022-05-07 21:59:04 -05:00
parent 24b36f7871
commit 4e0861ddce
1 changed files with 16 additions and 9 deletions

View File

@ -150,16 +150,23 @@ function plants.register_flower(name, desc, light)
minetest.set_node(pos, {name = 'plants:'..name, param2 = rot})
end,
on_punch = function(pos, node, puncher, pointed_thing)
local player_inv = puncher:get_inventory()
if not player_inv:contains_item('main', {name='plants:'..name, count = 4}) then
local timer = minetest.get_node_timer(pos)
local meta = minetest.get_meta(pos)
player_inv:add_item('main', 'plants:'..name)
minetest.set_node(pos, {name = 'plants:grass_1', param2 = node.param2})
meta:set_string('flower', name)
timer:start(300)
local player = puncher:get_player_name()
local wield = puncher:get_wielded_item()
local wield_name = wield:get_name()
if wield_name == 'creative:tool_breaking' then
return
else
minetest.chat_send_player(puncher:get_player_name(), 'You have too many of these already.')
local player_inv = puncher:get_inventory()
if not player_inv:contains_item('main', {name='plants:'..name, count = 4}) then
local timer = minetest.get_node_timer(pos)
local meta = minetest.get_meta(pos)
player_inv:add_item('main', 'plants:'..name)
minetest.set_node(pos, {name = 'plants:grass_1', param2 = node.param2})
meta:set_string('flower', name)
timer:start(300)
else
minetest.chat_send_player(puncher:get_player_name(), 'You have too many of these already.')
end
end
end,
on_drop = lobby.no_drop,