From c364d40823012812f1b8cacca210d26dff1d8726 Mon Sep 17 00:00:00 2001 From: Arturas Norkus Date: Tue, 10 May 2016 08:52:28 +0300 Subject: [PATCH] minor api update, change thunder max duration --- description.txt | 1 + rain/init.lua | 6 ++--- screenshot.png | Bin 0 -> 30710 bytes snow/init.lua | 4 +-- thunder/init.lua | 8 +++--- weather_core/init.lua | 58 +++++++++++++++++++++++++++--------------- 6 files changed, 49 insertions(+), 28 deletions(-) create mode 100644 description.txt create mode 100644 screenshot.png diff --git a/description.txt b/description.txt new file mode 100644 index 0000000..6efa41e --- /dev/null +++ b/description.txt @@ -0,0 +1 @@ +Set of weathers for minetest. \ No newline at end of file diff --git a/rain/init.lua b/rain/init.lua index 94bf2a0..f435a53 100644 --- a/rain/init.lua +++ b/rain/init.lua @@ -1,6 +1,6 @@ rain = {} -rain.particles_count = 50 +rain.particles_count = 35 rain.sound_handler = function(player) return minetest.sound_play("weather_rain", { @@ -136,8 +136,8 @@ rain.make_weather = function() end end -if weather.known_weathers.rain == nil then - weather.known_weathers.rain = { +if weather.reg_weathers.rain == nil then + weather.reg_weathers.rain = { chance = 15, clear = rain.clear } diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee3ea0597008b48c09fb306a00cf0e7ecf2776e GIT binary patch literal 30710 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

^ul$R>3DDykb8lXf}k-Si2T? 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 literal 0 HcmV?d00001 diff --git a/snow/init.lua b/snow/init.lua index d97e1a8..f980a3f 100644 --- a/snow/init.lua +++ b/snow/init.lua @@ -51,8 +51,8 @@ minetest.register_globalstep(function(dtime) end) -- register snow weather -if weather.known_weathers.snow == nil then - weather.known_weathers.snow = { +if weather.reg_weathers.snow == nil then + weather.reg_weathers.snow = { chance = 10, clear = function() end } diff --git a/thunder/init.lua b/thunder/init.lua index 8907f31..3ff6453 100644 --- a/thunder/init.lua +++ b/thunder/init.lua @@ -27,9 +27,11 @@ thunder.clear = function() end -- register thunderstorm weather -if weather.known_weathers.thunder == nil then - weather.known_weathers.thunder = { +if weather.reg_weathers.thunder == nil then + weather.reg_weathers.thunder = { chance = 5, - clear = thunder.clear + clear = thunder.clear, + min_duration = 120, + max_duration = 600, } end \ No newline at end of file diff --git a/weather_core/init.lua b/weather_core/init.lua index 1c60821..05ec088 100644 --- a/weather_core/init.lua +++ b/weather_core/init.lua @@ -21,11 +21,18 @@ weather = { end_time = nil, -- registered weathers - known_weathers = {} + reg_weathers = {}, + + -- automaticly calculates intervals and swap weathers + auto_mode = true } -weather.get_rand_end_time = function() - return os.time() + math.random(weather.min_duration, weather.max_duration); +weather.get_rand_end_time = function(min_duration, max_duration) + if min_duration ~= nil and max_duration ~= nil then + return os.time() + math.random(min_duration, max_duration); + else + return os.time() + math.random(weather.min_duration, weather.max_duration); + end end -- checks if player is undewater. This is needed in order to @@ -84,28 +91,39 @@ function get_random_pos_by_player_look_dir(player) end minetest.register_globalstep(function(dtime) + if weather.auto_mode == false then + return 0 + end + -- recalculate weather only when there aren't currently any if (weather.state ~= "none") then if (weather.end_time ~= nil and weather.end_time <= os.time()) then - weather.known_weathers[weather.state].clear() + weather.reg_weathers[weather.state].clear() weather.state = "none" end - end - - if (weather.next_check <= os.time()) then - for reg_weather_name, reg_weather_obj in pairs(weather.known_weathers) do - if (reg_weather_obj ~= nil and reg_weather_obj.chance ~= nil) then - local random_roll = math.random(0,100) - if (random_roll <= reg_weather_obj.chance) then - weather.state = reg_weather_name - weather.end_time = weather.get_rand_end_time() - end - end + elseif (weather.next_check <= os.time()) then + for weather_name, weather_meta in pairs(weather.reg_weathers) do + weather.set_random_weather(weather_name, weather_meta) end + -- fallback next_check set, weather 'none' will be. weather.next_check = os.time() + weather.check_interval end end) +-- sets random weather (which could be 'regular' (no weather)). +weather.set_random_weather = function(weather_name, weather_meta) + if weather.next_check > os.time() then return 0 end + + if (weather_meta ~= nil and weather_meta.chance ~= nil) then + local random_roll = math.random(0,100) + if (random_roll <= weather_meta.chance) then + weather.state = weather_name + weather.end_time = weather.get_rand_end_time(weather_meta.min_duration, weather_meta.max_duration) + weather.next_check = os.time() + weather.check_interval + end + end +end + minetest.register_privilege("weather_manager", { description = "Gives ability to control weather", give_to_singleplayer = false @@ -118,16 +136,16 @@ minetest.register_chatcommand("set_weather", { privs = {weather_manager = true}, func = function(name, param) if (param == "none") then - if (weather.state ~= nil and weather.known_weathers[weather.state] ~= nil) then - weather.known_weathers[weather.state].clear() + if (weather.state ~= nil and weather.reg_weathers[weather.state] ~= nil) then + weather.reg_weathers[weather.state].clear() weather.state = param end weather.state = "none" end - if (weather.known_weathers ~= nil and weather.known_weathers[param] ~= nil) then - if (weather.state ~= nil and weather.state ~= "none" and weather.known_weathers[weather.state] ~= nil) then - weather.known_weathers[weather.state].clear() + if (weather.reg_weathers ~= nil and weather.reg_weathers[param] ~= nil) then + if (weather.state ~= nil and weather.state ~= "none" and weather.reg_weathers[weather.state] ~= nil) then + weather.reg_weathers[weather.state].clear() end weather.state = param end