diff --git a/mods/ITEMS/mcl_core/functions.lua b/mods/ITEMS/mcl_core/functions.lua index ad2346dd9..b520777d6 100644 --- a/mods/ITEMS/mcl_core/functions.lua +++ b/mods/ITEMS/mcl_core/functions.lua @@ -1451,6 +1451,22 @@ minetest.register_abm({ end }) +-- Freeze water +minetest.register_abm({ + label = "Freeze water in cold areas", + nodenames = {"mcl_core:water_source", "mclx_core:river_water_source"}, + interval = 32, + chance = 8, + action = function(pos, node) + if mcl_weather.has_snow(pos) + and minetest.get_natural_light(vector.offset(pos,0,1,0), 0.5) == minetest.LIGHT_MAX + 1 + and minetest.get_artificial_light(minetest.get_node(pos).param1) < 10 then + node.name = "mcl_core:ice" + minetest.swap_node(pos, node) + end + end +}) + --[[ Call this for vines nodes only. Given the pos and node of a vines node, this returns true if the vines are supported and false if the vines are currently floating.