forked from VoxeLibre/VoxeLibre
Merge pull request 'Prevent setting fire on top of water' (#3446) from emptyshore/MineClone2:3152-fire-water into master
Reviewed-on: MineClone2/MineClone2#3446 Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
This commit is contained in:
commit
d00f183456
|
@ -448,18 +448,28 @@ function mcl_fire.set_fire(pointed_thing, player, allow_on_fire)
|
||||||
else
|
else
|
||||||
pname = player:get_player_name()
|
pname = player:get_player_name()
|
||||||
end
|
end
|
||||||
local n = get_node(pointed_thing.above)
|
|
||||||
local nu = get_node(pointed_thing.under)
|
|
||||||
if allow_on_fire == false and 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
|
||||||
end
|
end
|
||||||
if n.name == "air" then
|
|
||||||
add_node(pointed_thing.above, {name="mcl_fire:fire"})
|
local n_pointed = minetest.get_node(pointed_thing.under)
|
||||||
|
if allow_on_fire == false and get_item_group(n_pointed.name, "fire") ~= 0 then
|
||||||
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local n_fire_pos = minetest.get_node(pointed_thing.above)
|
||||||
|
if n_fire_pos.name ~= "air" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local n_below = minetest.get_node(vector.offset(pointed_thing.above, 0, -1, 0))
|
||||||
|
if minetest.get_item_group(n_below.name, "water") ~= 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
add_node(pointed_thing.above, {name="mcl_fire:fire"})
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_lbm({
|
minetest.register_lbm({
|
||||||
|
|
Loading…
Reference in New Issue