From: HybridDog Date: Sat, 6 Apr 2019 20:35:48 +0000 (+0200) Subject: Moss growth ABM: Add inner and outer cobble stairs, simplify code X-Git-Tag: 5.1.0~69 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0291c6b2107de9f270b24ed22889a597033c52bd;p=oweals%2Fminetest_game.git Moss growth ABM: Add inner and outer cobble stairs, simplify code --- diff --git a/mods/default/functions.lua b/mods/default/functions.lua index 1165c89c..e1e3e186 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -541,23 +541,26 @@ minetest.register_abm({ -- Moss growth on cobble near water -- +local moss_correspondences = { + ["default:cobble"] = "default:mossycobble", + ["stairs:slab_cobble"] = "stairs:slab_mossycobble", + ["stairs:stair_cobble"] = "stairs:stair_mossycobble", + ["stairs:stair_inner_cobble"] = "stairs:stair_inner_mossycobble", + ["stairs:stair_outer_cobble"] = "stairs:stair_outer_mossycobble", + ["walls:cobble"] = "walls:mossycobble", +} minetest.register_abm({ label = "Moss growth", - nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble", "walls:cobble"}, + nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble", + "stairs:stair_inner_cobble", "stairs:stair_outer_cobble", + "walls:cobble"}, neighbors = {"group:water"}, interval = 16, chance = 200, catch_up = false, action = function(pos, node) - if node.name == "default:cobble" then - minetest.set_node(pos, {name = "default:mossycobble"}) - elseif node.name == "stairs:slab_cobble" then - minetest.set_node(pos, {name = "stairs:slab_mossycobble", param2 = node.param2}) - elseif node.name == "stairs:stair_cobble" then - minetest.set_node(pos, {name = "stairs:stair_mossycobble", param2 = node.param2}) - elseif node.name == "walls:cobble" then - minetest.set_node(pos, {name = "walls:mossycobble", param2 = node.param2}) - end + node.name = moss_correspondences[node.name] + minetest.set_node(pos, node) end })