From 8f619ab5c32ac1a38453ef5bad23f7f747a7f3f8 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 27 Sep 2021 23:03:28 +0200 Subject: [PATCH] fix thunder/lightning never stopping --- mods/ENVIRONMENT/mcl_weather/thunder.lua | 30 ++++++++++++++---------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/mods/ENVIRONMENT/mcl_weather/thunder.lua b/mods/ENVIRONMENT/mcl_weather/thunder.lua index a63284c3..3ac8ec1d 100644 --- a/mods/ENVIRONMENT/mcl_weather/thunder.lua +++ b/mods/ENVIRONMENT/mcl_weather/thunder.lua @@ -2,12 +2,20 @@ mcl_weather.thunder = { min_delay = 3, max_delay = 12 } +lightning.auto=false + +local thunderactive=false local function do_thunder(start) - if not start and mcl_weather.current ~= "thunder" then return end - local delay = math.random(mcl_weather.thunder.min_delay, mcl_weather.thunder.max_delay) + if (start and not thunderactive) or mcl_weather.current == "thunder" then + local delay = math.random(mcl_weather.thunder.min_delay, mcl_weather.thunder.max_delay) + minetest.after(delay,do_thunder) + thunderactive=true + else + thunderactive=false + end + minetest.chat_send_all("thunder "..mcl_weather.current) lightning.strike() - minetest.after(delay,do_thunder) end mcl_weather.register_weather("thunder",{ @@ -87,18 +95,16 @@ mcl_weather.register_weather("thunder",{ glow = 1 } }, - start = function() - do_thunder(true) - end, - start_player = function(name) end, - clear = function() + start = function() + do_thunder(true) + end, + clear = function() mcl_weather.skycolor.remove_layer("lightning") end, at_pos = function(pos) - local biome=minetest.get_biome_data(pos) - if mcl_worlds.has_weather(pos) and biome.heat > 15 and biome.heat < 95 then + local biome=minetest.get_biome_data(pos) + if not mcl_worlds.has_weather(pos) and biome.heat > 95 then return true end - end, - change_at_pos = "snow" + end }) \ No newline at end of file