-- Snow weather_mod.register_downfall("weather:snow",{ min_pos = {x=-15, y=10, z=-15}, max_pos = {x= 15, y=10, z= 15}, falling_speed=5, amount=15, exptime=7, size=25, texture="weather_snow.png", }) weather_mod.register_downfall("weather:hail",{ min_pos = {x=-15, y=10, z=-15}, max_pos = {x= 15, y=10, z= 15}, falling_speed=25, amount=15, exptime=1, size=25, texture="weather_hail.png", enable_lightning = true, }) local snow_box = { type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5} } -- Snow cover minetest.register_node("weather:snow_cover", { tiles = {"weather_snow_cover.png"}, drawtype = "nodebox", paramtype = "light", node_box = snow_box, selection_box = snow_box, groups = {not_in_creative_inventory = 1, crumbly = 3, attached_node = 1}, drop = {} }) -- Snow cover ABM when snow_covers_abm setting is set to `true` if minetest.is_yes(minetest.settings:get_bool('snow_covers_abm')) then minetest.log('action', '[weather] Loaded fast computer ABM (snow covers when weather:snow is set)') minetest.register_abm({ nodenames = {"group:crumbly", "group:snappy", "group:cracky", "group:choppy"}, neighbors = {"default:air"}, interval = 10.0, chance = 80, action = function (pos, node) if weather.type == "weather:snow" then if minetest.registered_nodes[node.name].drawtype == "normal" or minetest.registered_nodes[node.name].drawtype == "allfaces_optional" then local np = vector.add(pos, {x=0, y=1, z=0}) if minetest.env:get_node_light(np, 0.5) == 15 and minetest.env:get_node(np).name == "air" then minetest.env:add_node(np, {name="weather:snow_cover"}) end end end end }) end