Spawning fire now respects protection

This commit is contained in:
Wuzzy 2019-02-08 23:17:20 +01:00
parent 9817b38904
commit b729ffc604
2 changed files with 15 additions and 0 deletions

View file

@ -15,6 +15,13 @@ minetest.register_craftitem("mcl_fire:fire_charge", {
end end
end end
-- Check protection
local protname = user:get_player_name()
if minetest.is_protected(pointed_thing.under, protname) then
minetest.record_protection_violation(pointed_thing.under, protname)
return itemstack
end
-- Ignite/light fire -- Ignite/light fire
if pointed_thing.type == "node" then if pointed_thing.type == "node" then
local nodedef = minetest.registered_nodes[node.name] local nodedef = minetest.registered_nodes[node.name]

View file

@ -15,6 +15,12 @@ minetest.register_tool("mcl_fire:flint_and_steel", {
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, user, itemstack) or itemstack return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, user, itemstack) or itemstack
end end
end end
-- Check protection
local protname = user:get_player_name()
if minetest.is_protected(pointed_thing.under, protname) then
minetest.record_protection_violation(pointed_thing.under, protname)
return itemstack
end
local idef = itemstack:get_definition() local idef = itemstack:get_definition()
minetest.sound_play( minetest.sound_play(
@ -44,11 +50,13 @@ minetest.register_tool("mcl_fire:flint_and_steel", {
end, end,
_dispense_into_walkable = true, _dispense_into_walkable = true,
_on_dispense = function(stack, pos, droppos, dropnode, dropdir) _on_dispense = function(stack, pos, droppos, dropnode, dropdir)
-- Ignite air
if dropnode.name == "air" then if dropnode.name == "air" then
minetest.add_node(droppos, {name="mcl_fire:fire"}) minetest.add_node(droppos, {name="mcl_fire:fire"})
if not minetest.settings:get_bool("creative_mode") then if not minetest.settings:get_bool("creative_mode") then
stack:add_wear(65535/65) -- 65 uses stack:add_wear(65535/65) -- 65 uses
end end
-- Ignite TNT
elseif dropnode.name == "mcl_tnt:tnt" then elseif dropnode.name == "mcl_tnt:tnt" then
tnt.ignite(droppos) tnt.ignite(droppos)
if not minetest.settings:get_bool("creative_mode") then if not minetest.settings:get_bool("creative_mode") then