forked from Mineclonia/Mineclonia
Tweak weather durations to be more MC-like
This commit is contained in:
parent
562bd6cd5a
commit
f052f147b5
|
@ -175,13 +175,6 @@ rain.make_weather = function()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if weather.reg_weathers.rain == nil then
|
|
||||||
weather.reg_weathers.rain = {
|
|
||||||
chance = 15,
|
|
||||||
clear = rain.clear
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Switch the number of raindrops: "thunder" for many raindrops, otherwise for normal raindrops
|
-- Switch the number of raindrops: "thunder" for many raindrops, otherwise for normal raindrops
|
||||||
rain.set_particles_mode = function(mode)
|
rain.set_particles_mode = function(mode)
|
||||||
if mode == "thunder" then
|
if mode == "thunder" then
|
||||||
|
@ -242,3 +235,13 @@ if weather.allow_abm then
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if weather.reg_weathers.rain == nil then
|
||||||
|
weather.reg_weathers.rain = {
|
||||||
|
chance = 15,
|
||||||
|
clear = rain.clear,
|
||||||
|
-- 10min - 20min
|
||||||
|
min_duration = 300,
|
||||||
|
max_duration = 600,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
|
@ -84,7 +84,10 @@ end)
|
||||||
if weather.reg_weathers.snow == nil then
|
if weather.reg_weathers.snow == nil then
|
||||||
weather.reg_weathers.snow = {
|
weather.reg_weathers.snow = {
|
||||||
chance = 10,
|
chance = 10,
|
||||||
clear = snow.clear
|
clear = snow.clear,
|
||||||
|
-- 10min - 20min
|
||||||
|
min_duration = 300,
|
||||||
|
max_duration = 600,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,8 @@ if weather.reg_weathers.thunder == nil then
|
||||||
weather.reg_weathers.thunder = {
|
weather.reg_weathers.thunder = {
|
||||||
chance = 5,
|
chance = 5,
|
||||||
clear = thunder.clear,
|
clear = thunder.clear,
|
||||||
min_duration = 120,
|
-- 10min - 20min
|
||||||
|
min_duration = 300,
|
||||||
max_duration = 600,
|
max_duration = 600,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,13 +9,13 @@ weather = {
|
||||||
next_check = 0,
|
next_check = 0,
|
||||||
|
|
||||||
-- default weather recalculation interval
|
-- default weather recalculation interval
|
||||||
check_interval = 300,
|
check_interval = 150,
|
||||||
|
|
||||||
-- weather min duration
|
-- weather min duration
|
||||||
min_duration = 240,
|
min_duration = 300,
|
||||||
|
|
||||||
-- weather max duration
|
-- weather max duration
|
||||||
max_duration = 3600,
|
max_duration = 9000,
|
||||||
|
|
||||||
-- weather calculated end time
|
-- weather calculated end time
|
||||||
end_time = nil,
|
end_time = nil,
|
||||||
|
@ -152,6 +152,7 @@ minetest.register_chatcommand("weather", {
|
||||||
weather.reg_weathers[weather.state].clear()
|
weather.reg_weathers[weather.state].clear()
|
||||||
end
|
end
|
||||||
weather.state = "none"
|
weather.state = "none"
|
||||||
|
weather.end_time = weather.get_rand_end_time()
|
||||||
success = true
|
success = true
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -159,6 +160,8 @@ minetest.register_chatcommand("weather", {
|
||||||
if (weather.reg_weathers ~= nil and weather.reg_weathers[param] ~= nil) then
|
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
|
if (weather.state ~= nil and weather.state ~= "none" and weather.reg_weathers[weather.state] ~= nil) then
|
||||||
weather.reg_weathers[weather.state].clear()
|
weather.reg_weathers[weather.state].clear()
|
||||||
|
local weather_meta = weather.reg_weathers[weather.state]
|
||||||
|
weather.end_time = weather.get_rand_end_time(weather_meta.min_duration, weather_meta.max_duration)
|
||||||
end
|
end
|
||||||
weather.state = param
|
weather.state = param
|
||||||
return
|
return
|
||||||
|
@ -179,6 +182,8 @@ minetest.register_chatcommand("toggledownfall", {
|
||||||
weather.reg_weathers[weather.state].clear()
|
weather.reg_weathers[weather.state].clear()
|
||||||
end
|
end
|
||||||
weather.state = "none"
|
weather.state = "none"
|
||||||
|
weather.end_time = weather.get_rand_end_time()
|
||||||
|
|
||||||
-- Currently clear: Set weather randomly to rain/thunder/snow
|
-- Currently clear: Set weather randomly to rain/thunder/snow
|
||||||
else
|
else
|
||||||
local new = { "rain", "thunder", "snow" }
|
local new = { "rain", "thunder", "snow" }
|
||||||
|
@ -187,6 +192,8 @@ minetest.register_chatcommand("toggledownfall", {
|
||||||
weather.reg_weathers[weather.state].clear()
|
weather.reg_weathers[weather.state].clear()
|
||||||
end
|
end
|
||||||
weather.state = new[r]
|
weather.state = new[r]
|
||||||
|
local weather_meta = weather.reg_weathers[weather.state]
|
||||||
|
weather.end_time = weather.get_rand_end_time(weather_meta.min_duration, weather_meta.max_duration)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue