Don't allow to set fire on fire
This commit is contained in:
parent
f5268ea598
commit
b56ead7a23
|
@ -31,10 +31,10 @@ minetest.register_craftitem("mcl_fire:fire_charge", {
|
||||||
if nodedef and nodedef._on_ignite then
|
if nodedef and nodedef._on_ignite then
|
||||||
local overwrite = nodedef._on_ignite(user, pointed_thing)
|
local overwrite = nodedef._on_ignite(user, pointed_thing)
|
||||||
if not overwrite then
|
if not overwrite then
|
||||||
mcl_fire.set_fire(pointed_thing, user)
|
mcl_fire.set_fire(pointed_thing, user, false)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
mcl_fire.set_fire(pointed_thing, user)
|
mcl_fire.set_fire(pointed_thing, user, false)
|
||||||
end
|
end
|
||||||
if not minetest.settings:get_bool("creative_mode") then
|
if not minetest.settings:get_bool("creative_mode") then
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
|
|
|
@ -36,10 +36,10 @@ minetest.register_tool("mcl_fire:flint_and_steel", {
|
||||||
if nodedef and nodedef._on_ignite then
|
if nodedef and nodedef._on_ignite then
|
||||||
local overwrite = nodedef._on_ignite(user, pointed_thing)
|
local overwrite = nodedef._on_ignite(user, pointed_thing)
|
||||||
if not overwrite then
|
if not overwrite then
|
||||||
mcl_fire.set_fire(pointed_thing, user)
|
mcl_fire.set_fire(pointed_thing, user, false)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
mcl_fire.set_fire(pointed_thing, user)
|
mcl_fire.set_fire(pointed_thing, user, false)
|
||||||
end
|
end
|
||||||
used = true
|
used = true
|
||||||
end
|
end
|
||||||
|
|
|
@ -395,7 +395,8 @@ end
|
||||||
-- Set pointed_thing on (normal) fire.
|
-- Set pointed_thing on (normal) fire.
|
||||||
-- * pointed_thing: Pointed thing to ignite
|
-- * pointed_thing: Pointed thing to ignite
|
||||||
-- * player: Player who sets fire or nil if nobody
|
-- * player: Player who sets fire or nil if nobody
|
||||||
mcl_fire.set_fire = function(pointed_thing, player)
|
-- * allow_on_fire: If false, can't ignite fire on fire (default: true)
|
||||||
|
mcl_fire.set_fire = function(pointed_thing, player, allow_on_fire)
|
||||||
local pname
|
local pname
|
||||||
if player == nil then
|
if player == nil then
|
||||||
pname = ""
|
pname = ""
|
||||||
|
@ -403,6 +404,10 @@ mcl_fire.set_fire = function(pointed_thing, player)
|
||||||
pname = player:get_player_name()
|
pname = player:get_player_name()
|
||||||
end
|
end
|
||||||
local n = minetest.get_node(pointed_thing.above)
|
local n = minetest.get_node(pointed_thing.above)
|
||||||
|
local nu = minetest.get_node(pointed_thing.under)
|
||||||
|
if allow_on_fire == false and minetest.get_item_group(nu.name, "fire") ~= 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
if minetest.is_protected(pointed_thing.above, pname) then
|
if minetest.is_protected(pointed_thing.above, pname) then
|
||||||
minetest.record_protection_violation(pointed_thing.above, pname)
|
minetest.record_protection_violation(pointed_thing.above, pname)
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue
Block a user