mirror of
				https://github.com/t-affeldt/climate_api.git
				synced 2025-11-04 09:55:35 +01:00 
			
		
		
		
	Compare commits
	
		
			18 Commits
		
	
	
		
			v1.1.0
			...
			85e4553f2a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					85e4553f2a | ||
| 
						 | 
					8b846b23dc | ||
| 
						 | 
					8e3ce58015 | ||
| 
						 | 
					04cfef309a | ||
| 
						 | 
					2093eea77f | ||
| 
						 | 
					c23277284a | ||
| 
						 | 
					5448e04d85 | ||
| 
						 | 
					79233a2cb1 | ||
| 
						 | 
					f3f0eaac2a | ||
| 
						 | 
					0dd5c74d42 | ||
| 
						 | 
					d1c70e904b | ||
| 
						 | 
					7d299edb5b | ||
| 
						 | 
					bf2d4e09ca | ||
| 
						 | 
					4d0b080dd5 | ||
| 
						 | 
					eff85fbd2b | ||
| 
						 | 
					5635ab4daa | ||
| 
						 | 
					e8f4048670 | ||
| 
						 | 
					dd769dfdd0 | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
*.code-workspace
 | 
			
		||||
							
								
								
									
										48
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								init.lua
									
									
									
									
									
								
							@@ -25,27 +25,41 @@ end
 | 
			
		||||
 | 
			
		||||
-- load settings from config file
 | 
			
		||||
climate_mod.settings = {
 | 
			
		||||
	damage					= get_setting_bool("damage", true),
 | 
			
		||||
	raycast					= get_setting_bool("raycast", true),
 | 
			
		||||
	particles				= get_setting_bool("particles", true),
 | 
			
		||||
	skybox					= get_setting_bool("skybox", true),
 | 
			
		||||
	sound						= get_setting_bool("sound", true),
 | 
			
		||||
	hud_overlay			= get_setting_bool("hud_overlay", true),
 | 
			
		||||
	wind						= get_setting_bool("wind", true),
 | 
			
		||||
	seasons					= get_setting_bool("seasons", true),
 | 
			
		||||
	fahrenheit			= get_setting_bool("fahrenheit", false),
 | 
			
		||||
	block_updates		= get_setting_bool("block_updates", true),
 | 
			
		||||
	heat						= get_setting_number("heat_base", 0),
 | 
			
		||||
	humidity				= get_setting_number("humidity_base", 0),
 | 
			
		||||
	time_spread			= get_setting_number("time_spread", 1),
 | 
			
		||||
	particle_count	= get_setting_number("particle_count", 1),
 | 
			
		||||
	tick_speed			= get_setting_number("tick_speed", 1),
 | 
			
		||||
	volume					= get_setting_number("volume", 1),
 | 
			
		||||
	ceiling_checks	= get_setting_number("ceiling_checks", 10),
 | 
			
		||||
    damage = get_setting_bool("damage", true),
 | 
			
		||||
    raycast = get_setting_bool("raycast", true),
 | 
			
		||||
    particles = get_setting_bool("particles", true),
 | 
			
		||||
    skybox = get_setting_bool("skybox", true),
 | 
			
		||||
    sound = get_setting_bool("sound", true),
 | 
			
		||||
    hud_overlay = get_setting_bool("hud_overlay", true),
 | 
			
		||||
    wind = get_setting_bool("wind", true),
 | 
			
		||||
    seasons = get_setting_bool("seasons", true),
 | 
			
		||||
    fahrenheit = get_setting_bool("fahrenheit", false),
 | 
			
		||||
    block_updates = get_setting_bool("block_updates", true),
 | 
			
		||||
    heat = get_setting_number("heat_base", 0),
 | 
			
		||||
    humidity = get_setting_number("humidity_base", 0),
 | 
			
		||||
    time_spread = get_setting_number("time_spread", 1),
 | 
			
		||||
    particle_count = get_setting_number("particle_count", 1),
 | 
			
		||||
    tick_speed = get_setting_number("tick_speed", 1),
 | 
			
		||||
    volume = get_setting_number("volume", 1),
 | 
			
		||||
    ceiling_checks = get_setting_number("ceiling_checks", 10)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
climate_mod.i18n = minetest.get_translator("climate_api")
 | 
			
		||||
 | 
			
		||||
-- attempt to disable MTG weather mod
 | 
			
		||||
if climate_mod.settings.skybox and minetest.get_modpath("weather") then
 | 
			
		||||
    if weather ~= nil and weather.get ~= nil then
 | 
			
		||||
        weather.get = function(player)
 | 
			
		||||
            return {}
 | 
			
		||||
        end
 | 
			
		||||
    elseif minetest.settings:get_bool("enable_weather") then
 | 
			
		||||
        -- old version with no API support
 | 
			
		||||
        -- warn about clouds being overriden by MTG weather
 | 
			
		||||
        minetest.log("warning", "[Regional Weather] " ..
 | 
			
		||||
            climate_mod.i18n("Disable MTG weather for the best experience. Check the forum for more information."))
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- initialize empty registers
 | 
			
		||||
climate_mod.weathers = {}
 | 
			
		||||
climate_mod.effects = {}
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,7 @@ minetest.register_chatcommand("weather", {
 | 
			
		||||
 | 
			
		||||
-- set base heat to increase or decrease global climate temperatures
 | 
			
		||||
minetest.register_chatcommand("set_base_heat", {
 | 
			
		||||
	params = "<heat>",
 | 
			
		||||
	params = S("<heat>"),
 | 
			
		||||
	description = S("Override the weather algorithm's base heat"),
 | 
			
		||||
	privs = { weather = true },
 | 
			
		||||
	func = function(playername, param)
 | 
			
		||||
@@ -73,7 +73,7 @@ minetest.register_chatcommand("set_base_heat", {
 | 
			
		||||
 | 
			
		||||
-- override global heat levels with given value
 | 
			
		||||
minetest.register_chatcommand("set_heat", {
 | 
			
		||||
	params = "<heat>",
 | 
			
		||||
	params = S("<heat>"),
 | 
			
		||||
	description = S("Override the weather algorithm's heat"),
 | 
			
		||||
	privs = { weather = true },
 | 
			
		||||
	func = function(playername, param)
 | 
			
		||||
@@ -93,7 +93,7 @@ minetest.register_chatcommand("set_heat", {
 | 
			
		||||
 | 
			
		||||
-- set base heat to increase or decrease global climate humidity
 | 
			
		||||
minetest.register_chatcommand("set_base_humidity", {
 | 
			
		||||
	params = "<humidity>",
 | 
			
		||||
	params = S("<humidity>"),
 | 
			
		||||
	description = S("Override the weather algorithm's base humidity"),
 | 
			
		||||
	privs = { weather = true },
 | 
			
		||||
	func = function(playername, param)
 | 
			
		||||
@@ -109,7 +109,7 @@ minetest.register_chatcommand("set_base_humidity", {
 | 
			
		||||
 | 
			
		||||
-- override global humidity with given value
 | 
			
		||||
minetest.register_chatcommand("set_humidity", {
 | 
			
		||||
	params = "<humidity>",
 | 
			
		||||
	params = S("<humidity>"),
 | 
			
		||||
	description = S("Override the weather algorithm's humidity"),
 | 
			
		||||
	privs = { weather = true },
 | 
			
		||||
	func = function(playername, param)
 | 
			
		||||
@@ -129,7 +129,7 @@ minetest.register_chatcommand("set_humidity", {
 | 
			
		||||
 | 
			
		||||
-- override wind direction and speed with given values
 | 
			
		||||
minetest.register_chatcommand("set_wind", {
 | 
			
		||||
	params = "<wind>",
 | 
			
		||||
	params = S("<wind>"),
 | 
			
		||||
	description = S("Override the weather algorithm's windspeed"),
 | 
			
		||||
	privs = { weather = true },
 | 
			
		||||
	func = function(playername, param)
 | 
			
		||||
@@ -171,7 +171,7 @@ minetest.register_chatcommand("weather_settings", {
 | 
			
		||||
 | 
			
		||||
-- force a weather preset or disable it
 | 
			
		||||
minetest.register_chatcommand("set_weather", {
 | 
			
		||||
	params ="<weather> <status>",
 | 
			
		||||
	params = S("<weather> <status>"),
 | 
			
		||||
	description = S("Turn the specified weather preset on or off for all players or reset it to automatic"),
 | 
			
		||||
	privs = { weather = true },
 | 
			
		||||
	func = function(playername, param)
 | 
			
		||||
@@ -229,4 +229,18 @@ minetest.register_chatcommand("weather_influences", {
 | 
			
		||||
			minetest.chat_send_player(playername, dump2(value, influence))
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- used to debug downfall
 | 
			
		||||
minetest.register_chatcommand("explain_humidity", {
 | 
			
		||||
	description = S("Explains how the humidity value got calculated"),
 | 
			
		||||
	func = function(playername)
 | 
			
		||||
		local base = climate_mod.settings.humidity
 | 
			
		||||
		local biome = minetest.get_humidity((minetest.get_player_by_name(playername)):get_pos())
 | 
			
		||||
		local random = climate_mod.state:get_float("humidity_random");
 | 
			
		||||
		local random_base = climate_mod.state:get_float("humidity_base");
 | 
			
		||||
		minetest.chat_send_player(playername, dump2(base, "base"))
 | 
			
		||||
		minetest.chat_send_player(playername, dump2(biome, "biome"))
 | 
			
		||||
		minetest.chat_send_player(playername, dump2(random, "random"))
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ function environment.get_heat(pos)
 | 
			
		||||
	local height = climate_api.utility.rangelim((-pos.y + 10) / 15, -10, 10)
 | 
			
		||||
	local time = climate_api.utility.normalized_cycle(minetest.get_timeofday()) * 0.6 + 0.7
 | 
			
		||||
	local random = climate_mod.state:get_float("heat_random");
 | 
			
		||||
	return (base + biome + height) * time * random
 | 
			
		||||
	return base + ((biome + height) * time * random)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function environment.get_humidity(pos)
 | 
			
		||||
@@ -19,8 +19,7 @@ function environment.get_humidity(pos)
 | 
			
		||||
	local base = climate_mod.settings.humidity
 | 
			
		||||
	local biome = minetest.get_humidity(pos)
 | 
			
		||||
	local random = climate_mod.state:get_float("humidity_random");
 | 
			
		||||
	local random_base = climate_mod.state:get_float("humidity_base");
 | 
			
		||||
	return (base + biome * 0.7 + random_base * 0.3) * random
 | 
			
		||||
	return base + ((biome * 0.7 + 40 * 0.3) * random)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function environment.get_wind(pos)
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ climate_api.register_influence("humidity",
 | 
			
		||||
	climate_api.environment.get_humidity
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
climate_api.register_influence("base_humidity",
 | 
			
		||||
climate_api.register_influence("biome_humidity",
 | 
			
		||||
	minetest.get_humidity
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,12 @@
 | 
			
		||||
local GSCYCLE			=  0.03	* climate_mod.settings.tick_speed	-- only process event loop after this amount of time
 | 
			
		||||
local WORLD_CYCLE = 30.00	* climate_mod.settings.tick_speed	-- only update global environment influences after this amount of time
 | 
			
		||||
local GSCYCLE = 0.06 * climate_mod.settings.tick_speed	-- only process event loop after this amount of time
 | 
			
		||||
local WORLD_CYCLE = 30.00 * climate_mod.settings.tick_speed	-- only update global environment influences after this amount of time
 | 
			
		||||
 | 
			
		||||
local gs_timer = 0
 | 
			
		||||
local world_timer = 0
 | 
			
		||||
minetest.register_globalstep(function(dtime)
 | 
			
		||||
	local player_list = minetest.get_connected_players()
 | 
			
		||||
	if #player_list == 0 then return end
 | 
			
		||||
 | 
			
		||||
	gs_timer = gs_timer + dtime
 | 
			
		||||
	world_timer = world_timer + dtime
 | 
			
		||||
 | 
			
		||||
@@ -26,7 +29,7 @@ minetest.register_globalstep(function(dtime)
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local current_effects = climate_mod.trigger.get_active_effects()
 | 
			
		||||
	local current_effects = climate_mod.trigger.get_active_effects(player_list)
 | 
			
		||||
 | 
			
		||||
	for name, effect in pairs(climate_mod.effects) do
 | 
			
		||||
		local cycle = climate_mod.cycles[name].timespan * climate_mod.settings.tick_speed
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
local mod_lighting_monoid = minetest.get_modpath("lighting_monoid") ~= nil
 | 
			
		||||
 | 
			
		||||
local default_sky = {
 | 
			
		||||
	sky_data = {
 | 
			
		||||
		base_color = nil,
 | 
			
		||||
@@ -74,12 +76,11 @@ local function set_skybox(playername, sky)
 | 
			
		||||
	player:set_moon(sky.moon_data)
 | 
			
		||||
	player:set_sun(sky.sun_data)
 | 
			
		||||
	player:set_stars(sky.star_data)
 | 
			
		||||
	if player.set_lighting then
 | 
			
		||||
		player:set_lighting({
 | 
			
		||||
			shadows = { intensity = sky.light_data.shadow_intensity },
 | 
			
		||||
			saturation = sky.light_data.saturation
 | 
			
		||||
		})
 | 
			
		||||
	end
 | 
			
		||||
	local lighting = {
 | 
			
		||||
		shadows = { intensity = sky.light_data.shadow_intensity },
 | 
			
		||||
		saturation = sky.light_data.saturation
 | 
			
		||||
	}
 | 
			
		||||
	lighting_monoid:add_change(player, lighting, "climate_api:merged_lighting")
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function skybox.update(playername)
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ function trigger.get_global_environment()
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function trigger.get_position_environment(pos)
 | 
			
		||||
	local env = table.copy(climate_mod.global_environment)
 | 
			
		||||
	local env = trigger.get_global_environment()
 | 
			
		||||
	for influence, func in pairs(climate_mod.influences) do
 | 
			
		||||
		env[influence] = func(pos)
 | 
			
		||||
	end
 | 
			
		||||
@@ -83,20 +83,18 @@ local function get_weather_effects(player, weather_config, env)
 | 
			
		||||
	return effects
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function trigger.get_active_effects()
 | 
			
		||||
function trigger.get_active_effects(players)
 | 
			
		||||
	local environments = {}
 | 
			
		||||
	local effects = {}
 | 
			
		||||
	climate_mod.current_weather = {}
 | 
			
		||||
 | 
			
		||||
	for _, player in ipairs(minetest.get_connected_players()) do
 | 
			
		||||
	for _, player in ipairs(players) do
 | 
			
		||||
		local pname = player:get_player_name()
 | 
			
		||||
		local hp = player:get_hp()
 | 
			
		||||
		-- skip weather presets for dead players
 | 
			
		||||
		if hp ~= nil and hp > 0 then
 | 
			
		||||
			environments[pname] = trigger.get_player_environment(player)
 | 
			
		||||
		end
 | 
			
		||||
		local env = environments[pname]
 | 
			
		||||
		if env ~= nil then
 | 
			
		||||
			local env = trigger.get_player_environment(player)
 | 
			
		||||
			environments[pname] = env
 | 
			
		||||
			for wname, wconfig in pairs(climate_mod.weathers) do
 | 
			
		||||
				if is_weather_active(player, wname, env) then
 | 
			
		||||
					if climate_mod.current_weather[pname] == nil then
 | 
			
		||||
 
 | 
			
		||||
@@ -6,9 +6,8 @@ local WIND_SCALE = 2
 | 
			
		||||
local HEAT_SPREAD = 400
 | 
			
		||||
local HEAT_SCALE = 0.3
 | 
			
		||||
local HUMIDITY_SPREAD = 150
 | 
			
		||||
local HUMIDITY_SCALE = 0.5
 | 
			
		||||
local HUMIDITY_BASE_SPREAD = 800
 | 
			
		||||
local HUMIDITY_BASE_SCALE = 40
 | 
			
		||||
local HUMIDITY_SCALE = 1
 | 
			
		||||
local HUMIDITY_TIMESCALE = 1
 | 
			
		||||
 | 
			
		||||
local nobj_wind_x
 | 
			
		||||
local nobj_wind_z
 | 
			
		||||
@@ -47,23 +46,14 @@ local pn_heat = {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local pn_humidity = {
 | 
			
		||||
	offset = 0,
 | 
			
		||||
	offset = 1,
 | 
			
		||||
	scale = HUMIDITY_SCALE,
 | 
			
		||||
	spread = {x = HUMIDITY_SPREAD, y = HUMIDITY_SPREAD, z = HUMIDITY_SPREAD},
 | 
			
		||||
	seed = 8374061,
 | 
			
		||||
	octaves = 2,
 | 
			
		||||
	persist = 0.5,
 | 
			
		||||
	lacunarity = 2
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local pn_humidity_base = {
 | 
			
		||||
	offset = 50,
 | 
			
		||||
	scale = HUMIDITY_BASE_SCALE,
 | 
			
		||||
	spread = {x = HUMIDITY_BASE_SPREAD, y = HUMIDITY_BASE_SPREAD, z = HUMIDITY_BASE_SPREAD},
 | 
			
		||||
	seed = 3803465,
 | 
			
		||||
	octaves = 2,
 | 
			
		||||
	persist = 0.5,
 | 
			
		||||
	lacunarity = 2
 | 
			
		||||
	lacunarity = 2,
 | 
			
		||||
	flags = "noeased"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local function update_wind(timer)
 | 
			
		||||
@@ -83,11 +73,8 @@ end
 | 
			
		||||
 | 
			
		||||
local function update_humidity(timer)
 | 
			
		||||
	nobj_humidity = nobj_humidity or minetest.get_perlin(pn_humidity)
 | 
			
		||||
	local n_humidity = nobj_humidity:get_2d({x = timer, y = 0})
 | 
			
		||||
	local n_humidity = nobj_humidity:get_2d({x = timer * HUMIDITY_TIMESCALE, y = 0})
 | 
			
		||||
	climate_mod.state:set_float("humidity_random", n_humidity)
 | 
			
		||||
	nobj_humidity_base = nobj_humidity_base or minetest.get_perlin(pn_humidity_base)
 | 
			
		||||
	local n_humidity_base = nobj_humidity_base:get_2d({x = timer, y = 0})
 | 
			
		||||
	climate_mod.state:set_float("humidity_base", n_humidity_base)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function world.update_status(timer)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
# textdomain:climate_api
 | 
			
		||||
# textdomain: climate_api
 | 
			
		||||
Make changes to the current weather=Ändere das aktuelle Wetter
 | 
			
		||||
Display weather information=Betrachte Informationen zum Wetter
 | 
			
		||||
The following weather presets are active for you:=Die folgenden Wetterklassen sind gerade aktiv
 | 
			
		||||
@@ -8,6 +8,7 @@ scorching=stechend heiße
 | 
			
		||||
pleasant=angenehme
 | 
			
		||||
chilly=kühle
 | 
			
		||||
It is a @1 @2 right now and humidity is at @3%.=Es sind gerade @1 @2 und die Luftfeuchtigkeit liegt bei @3%.
 | 
			
		||||
<heat>=
 | 
			
		||||
Override the weather algorithm's base heat=Überschreibe die Standard-Temperatur
 | 
			
		||||
Provide a number to modify the base heat=Gebe eine Zahl an, um die Standard-Temperatur anzupassen
 | 
			
		||||
Base heat changed=Die Standard-Temperatur wurde geändert
 | 
			
		||||
@@ -15,6 +16,7 @@ Override the weather algorithm's heat=Überschreibe die tatsächliche Temperatur
 | 
			
		||||
Provide a number to modify the heat=Gebe eine Zahl an, um die Temperatur anzupassen
 | 
			
		||||
Heat value reset=Die Temperatur wurde zurückgesetzt
 | 
			
		||||
Heat value changed=Die Temperatur wurde geändert
 | 
			
		||||
<humidity>=
 | 
			
		||||
Override the weather algorithm's base humidity=Überschreibe die Standard-Luftfeuchtigkeit
 | 
			
		||||
Provide a number to modify the base humidity=Gebe eine Zahl an, um die Standard-Temperatur anzupassen
 | 
			
		||||
Base humidity changed=Die Standard-Luftfeuchtigkeit wurde geändert
 | 
			
		||||
@@ -22,6 +24,7 @@ Override the weather algorithm's humidity=Überschreibe die tatsächliche Luftfe
 | 
			
		||||
Provide a number to modify the humidity=Gebe eine Zahl an, um die Luftfeuchtigkeit anzupassen
 | 
			
		||||
Humidity value reset=Die Luftfeuchtigkeit wurde zurückgesetzt
 | 
			
		||||
Humidity value changed=Die Luftfeuchtigkeit wurde geändert
 | 
			
		||||
<wind>=
 | 
			
		||||
Override the weather algorithm's windspeed=Überschreibe die Windgeschwindigkeit
 | 
			
		||||
Provide a vector of two numbers to modify the wind=Gebe einen Vektor aus zwei Zahlen an, um die Windgeschwindigkeit anzupassen
 | 
			
		||||
Wind reset=Der Wind wurde zurückgesetzt
 | 
			
		||||
@@ -29,6 +32,7 @@ Invalid wind configuration=Fehlerhafte Windkonfiguration
 | 
			
		||||
Wind changed=Der Wind wurde geändert
 | 
			
		||||
Print the active Climate API configuration=Betrachte die Einstellungen für Climate API
 | 
			
		||||
Current Settings=Aktuelle Einstellungen
 | 
			
		||||
<weather> <status>=
 | 
			
		||||
Turn the specified weather preset on or off for all players or reset it to automatic=Schalte für alle Spieler die angegebene Wetterklasse an, aus oder schalte sie auf automatisch
 | 
			
		||||
Unknown weather preset=Unbekannte Wetterklasse
 | 
			
		||||
Invalid weather status. Set the preset to either on, off or auto.=Unbekannter Status. Setze die Wetterklasse entweder auf on, off oder auto
 | 
			
		||||
@@ -36,4 +40,5 @@ Weather @1 successfully set to @2=Wetter @1 wurde erfolgreich auf @2 gesetzt
 | 
			
		||||
Prints which weather presets are enforced or disabled=Betrachte, welche Wetterklassen erzwungen oder deaktiviert sind
 | 
			
		||||
Current activation rules:=Aktuelle Aktivierungsregeln
 | 
			
		||||
Prints which weather influences cause your current weather=Betrachte, welche Umwelteinflüsse das aktuelle Wetter hervorrufen
 | 
			
		||||
Current influences rules:=Aktuelle Einflussfaktoren
 | 
			
		||||
Current influences rules:=Aktuelle Einflussfaktoren
 | 
			
		||||
Explains how the humidity value got calculated=
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										44
									
								
								locale/climate_api.eo.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								locale/climate_api.eo.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
# textdomain: climate_api
 | 
			
		||||
Make changes to the current weather=Ŝanĝi la nunan veteron
 | 
			
		||||
Display weather information=Montri veterajn informojn
 | 
			
		||||
The following weather presets are active for you:=La jenaj veteragordoj estas ŝaltitaj por vi:
 | 
			
		||||
Your sky is clear. No weather presets are currently active.=La suno brilas. Neniu veteragordo estas ŝaltita.
 | 
			
		||||
As a result, the following environment effects are applied:=Pro tio, la jenaj efikoj estas aktivaj:
 | 
			
		||||
scorching=Varmas
 | 
			
		||||
pleasant=Komfortas
 | 
			
		||||
chilly=Malvarmas
 | 
			
		||||
It is a @1 @2 right now and humidity is at @3%.=@1 je @2 ĝuste nun, kun aermalsekeco je @3 gradoj.
 | 
			
		||||
<heat>=<varm>
 | 
			
		||||
Override the weather algorithm's base heat=Anstataŭigi la bazan varmecon de la vetera algoritmo
 | 
			
		||||
Provide a number to modify the base heat=Doni nombron anstataŭiguntan la bazan varmecon
 | 
			
		||||
Base heat changed=Baza varmeco ŝanĝita
 | 
			
		||||
Override the weather algorithm's heat=Anstataŭigi la varmecon de la vetera algoritmo
 | 
			
		||||
Provide a number to modify the heat=Doni nombron anstataŭiguntan la varmecon
 | 
			
		||||
Heat value reset=Varmeco malagordita
 | 
			
		||||
Heat value changed=Varmeco ŝanĝita
 | 
			
		||||
<humidity>=<aermalsek>
 | 
			
		||||
Override the weather algorithm's base humidity=Anstataŭigi la bazan aermalsekecon de la vetera algoritmo
 | 
			
		||||
Provide a number to modify the base humidity=Doni nombron anstataŭiguntan la bazan aermalsekecon
 | 
			
		||||
Base humidity changed=Baza aermalsekeco ŝanĝita
 | 
			
		||||
Override the weather algorithm's humidity=Anstataŭigi la aermalsekecon de la vetera algoritmo
 | 
			
		||||
Provide a number to modify the humidity=Doni nombron anstataŭiguntan la aermalsekecon
 | 
			
		||||
Humidity value reset=Aermalsekeco malagordita
 | 
			
		||||
Humidity value changed=Aermalsekeca ŝanĝita
 | 
			
		||||
<wind>=<vent>
 | 
			
		||||
Override the weather algorithm's windspeed=Anstataŭigi la ventforton de la vetera algoritmo
 | 
			
		||||
Provide a vector of two numbers to modify the wind=Doni nombroparon anstataŭiguntan la ventoforton
 | 
			
		||||
Wind reset=Ventoforto malagordita
 | 
			
		||||
Invalid wind configuration=Nevalida ventagordo
 | 
			
		||||
Wind changed=Vento ŝanĝita
 | 
			
		||||
Print the active Climate API configuration=Presi la nunan agordon por Climate API
 | 
			
		||||
Current Settings=Nunaj Agordoj
 | 
			
		||||
<weather> <status>=<veter> <ŝaltec>
 | 
			
		||||
Turn the specified weather preset on or off for all players or reset it to automatic=Agordi veteragordon por ĉiuj ludantoj: «on» (ŝalti), «off» (malŝalti), «reset» (malfari)
 | 
			
		||||
Unknown weather preset=Nekonata veteragordo
 | 
			
		||||
Invalid weather status. Set the preset to either on, off or auto.=Nevalida veterostato. Agordu la veteragordon al «on» (ŝalti), «off» (malŝalti), aŭ «auto» (memagi).
 | 
			
		||||
Weather @1 successfully set to @2=Vetero @1 sukcese agordita al @2
 | 
			
		||||
Prints which weather presets are enforced or disabled=Listigas veterstatojn laŭ ŝaltiteco
 | 
			
		||||
Current activation rules:=Nunaj aktivigaj reguloj:
 | 
			
		||||
Prints which weather influences cause your current weather=Presas la influojn kiuj venigis la nunan veteron
 | 
			
		||||
Current influences rules:=Nunaj influaj reguloj:
 | 
			
		||||
Explains how the humidity value got calculated=Klarigas kiel la aermalseka valoro kalkuliĝis
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
# textdomain:climate_api
 | 
			
		||||
# textdomain: climate_api
 | 
			
		||||
Make changes to the current weather=
 | 
			
		||||
Display weather information=
 | 
			
		||||
The following weather presets are active for you:=
 | 
			
		||||
@@ -8,6 +8,7 @@ scorching=
 | 
			
		||||
pleasant=
 | 
			
		||||
chilly=
 | 
			
		||||
It is a @1 @2 right now and humidity is at @3%.=
 | 
			
		||||
<heat>=
 | 
			
		||||
Override the weather algorithm's base heat=
 | 
			
		||||
Provide a number to modify the base heat=
 | 
			
		||||
Base heat changed=
 | 
			
		||||
@@ -15,6 +16,7 @@ Override the weather algorithm's heat=
 | 
			
		||||
Provide a number to modify the heat=
 | 
			
		||||
Heat value reset=
 | 
			
		||||
Heat value changed=
 | 
			
		||||
<humidity>=
 | 
			
		||||
Override the weather algorithm's base humidity=
 | 
			
		||||
Provide a number to modify the base humidity=
 | 
			
		||||
Base humidity changed=
 | 
			
		||||
@@ -22,6 +24,7 @@ Override the weather algorithm's humidity=
 | 
			
		||||
Provide a number to modify the humidity=
 | 
			
		||||
Humidity value reset=
 | 
			
		||||
Humidity value changed=
 | 
			
		||||
<wind>=
 | 
			
		||||
Override the weather algorithm's windspeed=
 | 
			
		||||
Provide a vector of two numbers to modify the wind=
 | 
			
		||||
Wind reset=
 | 
			
		||||
@@ -29,6 +32,7 @@ Invalid wind configuration=
 | 
			
		||||
Wind changed=
 | 
			
		||||
Print the active Climate API configuration=
 | 
			
		||||
Current Settings=
 | 
			
		||||
<weather> <status>=
 | 
			
		||||
Turn the specified weather preset on or off for all players or reset it to automatic=
 | 
			
		||||
Unknown weather preset=
 | 
			
		||||
Invalid weather status. Set the preset to either on, off or auto.=
 | 
			
		||||
@@ -36,4 +40,5 @@ Weather @1 successfully set to @2=
 | 
			
		||||
Prints which weather presets are enforced or disabled=
 | 
			
		||||
Current activation rules:=
 | 
			
		||||
Prints which weather influences cause your current weather=
 | 
			
		||||
Current influences rules:=
 | 
			
		||||
Current influences rules:=
 | 
			
		||||
Explains how the humidity value got calculated=
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							@@ -1,8 +1,8 @@
 | 
			
		||||
name = climate_api
 | 
			
		||||
title = Climate API
 | 
			
		||||
author = TestificateMods
 | 
			
		||||
release = 10001
 | 
			
		||||
optional_depends = player_monoids, playerphysics, pova
 | 
			
		||||
depends = lighting_monoid
 | 
			
		||||
optional_depends = player_monoids, playerphysics, pova, weather
 | 
			
		||||
description = """
 | 
			
		||||
A powerful engine for weather presets and visual effects.
 | 
			
		||||
Use the regional climate to set up different effects for different regions.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user