soiled nodes burn
parent
a88e546312
commit
deef1014c0
38
spills.lua
38
spills.lua
|
@ -53,6 +53,7 @@ local soil_more = {}
|
||||||
local soil_less = {}
|
local soil_less = {}
|
||||||
local soil_abm_nodes = {}
|
local soil_abm_nodes = {}
|
||||||
local soil_abm_neighbors = {}
|
local soil_abm_neighbors = {}
|
||||||
|
local burnable_soiled_nodes = {}
|
||||||
|
|
||||||
|
|
||||||
local function spill_name(orig, lvl)
|
local function spill_name(orig, lvl)
|
||||||
|
@ -117,6 +118,9 @@ local register_spill_node = function(old)
|
||||||
table.insert(soil_abm_neighbors, n2)
|
table.insert(soil_abm_neighbors, n2)
|
||||||
table.insert(soil_abm_neighbors, n1)
|
table.insert(soil_abm_neighbors, n1)
|
||||||
table.insert(soil_abm_neighbors, old)
|
table.insert(soil_abm_neighbors, old)
|
||||||
|
|
||||||
|
table.insert(burnable_soiled_nodes, n3)
|
||||||
|
table.insert(burnable_soiled_nodes, n2)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -439,7 +443,39 @@ minetest.register_abm({
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_abm({
|
||||||
|
label = "Spilled nodes burn slowly",
|
||||||
|
nodenames = burnable_soiled_nodes,
|
||||||
|
neighbors = {"fire:basic_flame"},
|
||||||
|
interval = 4,
|
||||||
|
chance = 20,
|
||||||
|
catch_up = true,
|
||||||
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
|
local n = minetest.get_node(pos)
|
||||||
|
if n then
|
||||||
|
local less = soil_less[n.name]
|
||||||
|
if less then
|
||||||
|
minetest.set_node(pos, {name = less})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_abm({
|
||||||
|
label = "Spilled nodes catch fire",
|
||||||
|
nodenames = burnable_soiled_nodes,
|
||||||
|
neighbors = {"fire:basic_flame"},
|
||||||
|
interval = 3,
|
||||||
|
chance = 5,
|
||||||
|
catch_up = true,
|
||||||
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
|
local n = minetest.find_node_near(pos, 1, {"air"})
|
||||||
|
if n then
|
||||||
|
minetest.set_node(n, {name = "fire:basic_flame"})
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue