Skip to content
Snippets Groups Projects
Commit 9524ff67 authored by Tim's avatar Tim Committed by paramat
Browse files

Clean up fire ABM parameters.

parent 30b0a155
Branches
No related tags found
No related merge requests found
......@@ -226,10 +226,10 @@ minetest.register_abm({
interval = 3,
chance = 1,
catch_up = false,
action = function(p0, node, _, _)
minetest.remove_node(p0)
action = function(pos, node, active_object_count, active_object_count_wider)
minetest.remove_node(pos)
minetest.sound_play("fire_extinguish_flame",
{pos = p0, max_hear_distance = 16, gain = 0.25})
{pos = pos, max_hear_distance = 16, gain = 0.25})
end,
})
......@@ -245,9 +245,7 @@ if minetest.setting_getbool("disable_fire") then
interval = 7,
chance = 1,
catch_up = false,
action = function(p0, node, _, _)
minetest.remove_node(p0)
end,
action = minetest.remove_node,
})
else
......@@ -260,12 +258,12 @@ else
interval = 7,
chance = 12,
catch_up = false,
action = function(p0, node, _, _)
action = function(pos, node, active_object_count, active_object_count_wider)
-- If there is water or stuff like that around node, don't ignite
if minetest.find_node_near(p0, 1, {"group:puts_out_fire"}) then
if minetest.find_node_near(pos, 1, {"group:puts_out_fire"}) then
return
end
local p = minetest.find_node_near(p0, 1, {"air"})
local p = minetest.find_node_near(pos, 1, {"air"})
if p then
minetest.set_node(p, {name = "fire:basic_flame"})
end
......@@ -280,8 +278,8 @@ else
interval = 5,
chance = 18,
catch_up = false,
action = function(p0, node, _, _)
local p = minetest.find_node_near(p0, 1, {"group:flammable"})
action = function(pos, node, active_object_count, active_object_count_wider)
local p = minetest.find_node_near(pos, 1, {"group:flammable"})
if p then
-- remove flammable nodes around flame
local flammable_node = minetest.get_node(p)
......@@ -309,13 +307,13 @@ minetest.register_abm({
neighbors = {"air"},
interval = 5,
chance = 10,
action = function(p0, node, _, _)
action = function(pos, node, active_object_count, active_object_count_wider)
local reg = minetest.registered_nodes[node.name]
if not reg or not reg.groups.igniter or reg.groups.igniter < 2 then
return
end
local d = reg.groups.igniter
local p = minetest.find_node_near(p0, d, {"group:flammable"})
local p = minetest.find_node_near(pos, d, {"group:flammable"})
if p then
-- If there is water or stuff like that around flame, don't ignite
if fire.flame_should_extinguish(p) then
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment