Generalize waterplant decay

master
Wuzzy 2022-06-05 13:32:15 +02:00
parent ed5629e96d
commit d7956e255e
2 changed files with 14 additions and 14 deletions

View File

@ -720,12 +720,12 @@ minetest.register_abm( -- seagrass dies if not underwater
local plantpos = vector.add(pos, dir)
local is_water = util.is_water_source_or_waterfall(plantpos)
if not is_water then
if node.name == "rp_default:seagrass_on_dirt" or node.name == "rp_default:tall_seagrass_on_dirt" then
minetest.set_node(pos, {name = "rp_default:dirt"})
elseif node.name == "rp_default:seagrass_on_swamp_dirt" or node.name == "rp_default:tall_seagrass_on_swamp_dirt" then
minetest.set_node(pos, {name = "rp_default:swamp_dirt"})
elseif node.name == "rp_default:seagrass_on_sand" or node.name == "rp_default:tall_seagrass_on_sand" then
minetest.set_node(pos, {name = "rp_default:sand"})
local def = minetest.registered_nodes[node.name]
if def._waterplant_base_node then
minetest.set_node(pos, {name = def._waterplant_base_node})
else
minetest.log("error", "[rp_default] Missing _waterplant_base_node for "..node.name)
minetest.remove_node(pos)
end
end
end
@ -754,14 +754,12 @@ minetest.register_abm( -- algae die/become smaller if not fully underwater
end
if height_ok < 1 then
if node.name == "rp_default:alga_on_dirt" then
minetest.set_node(pos, {name = "rp_default:dirt"})
elseif node.name == "rp_default:alga_on_swamp_dirt" then
minetest.set_node(pos, {name = "rp_default:swamp_dirt"})
elseif node.name == "rp_default:alga_on_sand" then
minetest.set_node(pos, {name = "rp_default:sand"})
elseif node.name == "rp_default:alga_on_alga_block" then
minetest.set_node(pos, {name = "rp_default:alga_block"})
local def = minetest.registered_nodes[node.name]
if def and def._waterplant_base_node then
minetest.set_node(pos, {name = def._waterplant_base_node})
else
minetest.log("error", "[rp_default] Missing _waterplant_base_node for "..node.name)
minetest.remove_node(pos)
end
else
local param2 = height_ok * 16

View File

@ -1186,6 +1186,7 @@ local register_seagrass = function(plant_id, selection_box, drop, append, baseno
end,
_on_trim = _on_trim,
_fertilized_node = _fertilized_node,
_waterplant_base_node = basenode,
drop = drop,
})
end
@ -1367,6 +1368,7 @@ local register_alga_on = function(append, basenode, basenode_tiles, max_height,
return itemstack
end,
_fertilized_node = _fertilized_node,
_waterplant_base_node = basenode,
})
end