1
0
mirror of https://github.com/t-affeldt/regional_weather.git synced 2024-11-15 23:20:24 +01:00
regional_weather/init.lua
2020-10-10 12:53:48 +02:00

72 lines
3.0 KiB
Lua

local modname = minetest.get_current_modname()
local modpath = minetest.get_modpath(modname)
local function get_setting_bool(name, default, is_global)
local prefix = ""
if not is_global then prefix = "regional_weather_" end
local value = minetest.settings:get_bool(prefix .. name)
if type(value) == "nil" then value = default end
return minetest.is_yes(value)
end
local function get_setting_number(name, default, is_global)
local prefix = ""
if not is_global then prefix = "regional_weather_" end
local value = minetest.settings:get(prefix .. name)
if type(value) == "nil" then value = default end
return tonumber(value)
end
regional_weather = {}
regional_weather.settings = {}
regional_weather.settings.player_speed = get_setting_bool("player_speed", true)
regional_weather.settings.snow = get_setting_bool("snow_layers", true)
regional_weather.settings.snow_griefing = get_setting_bool("snow_griefing", true)
regional_weather.settings.puddles = get_setting_bool("puddles", true)
regional_weather.settings.puddles_water = get_setting_bool("puddles_water", false)
regional_weather.settings.soil = get_setting_bool("soil", true)
regional_weather.settings.fire = get_setting_bool("fire", true)
regional_weather.settings.ice = get_setting_bool("ice", true)
regional_weather.settings.pedology = get_setting_bool("pedology", true)
regional_weather.settings.lightning = get_setting_number("lightning", 1)
regional_weather.settings.max_height = get_setting_number("max_height", 120)
regional_weather.settings.min_height = get_setting_number("min_height", -50)
regional_weather.settings.cloud_height = get_setting_number("cloud_height", 120)
regional_weather.settings.cloud_scale = get_setting_number("cloud_scale", 40)
local S = minetest.get_translator("regional_weather")
regional_weather.i18n = S
-- warn about clouds being overriden by MTG weather
if climate_mod.settings.skybox
and minetest.get_modpath("weather")
and get_setting_bool("enable_weather", true, true) then
minetest.log("warning", "[Regional Weather] " .. S("Disable MTG weather for the best experience. Check the forum for more information."))
end
-- import individual weather types
dofile(modpath.."/ca_weathers/ambient.lua")
dofile(modpath.."/ca_weathers/deep_cave.lua")
dofile(modpath.."/ca_weathers/fog.lua")
dofile(modpath.."/ca_weathers/fog_heavy.lua")
dofile(modpath.."/ca_weathers/hail.lua")
dofile(modpath.."/ca_weathers/pollen.lua")
dofile(modpath.."/ca_weathers/rain.lua")
dofile(modpath.."/ca_weathers/rain_heavy.lua")
dofile(modpath.."/ca_weathers/sandstorm.lua")
dofile(modpath.."/ca_weathers/snow.lua")
dofile(modpath.."/ca_weathers/snow_heavy.lua")
dofile(modpath.."/ca_weathers/storm.lua")
-- register environment effects
dofile(modpath.."/ca_effects/lightning.lua")
dofile(modpath.."/ca_effects/speed_buff.lua")
-- register ABM cycles and custom nodes
dofile(modpath .. "/abms/puddle.lua")
dofile(modpath .. "/abms/snow_cover.lua")
dofile(modpath .. "/abms/fire.lua")
dofile(modpath .. "/abms/ice.lua")
dofile(modpath .. "/abms/pedology.lua")
dofile(modpath .. "/abms/soil.lua")