From 6309c6a97fdbabfde978358f5f9a0f61ab74f91f Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Tue, 26 Dec 2017 21:25:57 +0000 Subject: improve rain simulation (#4017) * Uses vanilla logic to decide which blocks rain falls through. * Rain falls infinitely above the world, and stops at y=0. * Entities will now be extinguished if they are under rain-blocking blocks, and fire will now be extinguished by rain similarly. * Create IsWeatherWetAtXYZ to identify wetness at a particular location. * Use new code for enderman rain detection. * Fixes issue #916 * Disable warnings for global constructors in the fire simulator. --- Server/Plugins/APIDump/Classes/World.lua | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'Server/Plugins/APIDump/Classes/World.lua') diff --git a/Server/Plugins/APIDump/Classes/World.lua b/Server/Plugins/APIDump/Classes/World.lua index 648bf5aa4..8f1b29012 100644 --- a/Server/Plugins/APIDump/Classes/World.lua +++ b/Server/Plugins/APIDump/Classes/World.lua @@ -2237,7 +2237,7 @@ function OnAllChunksAvailable() All return values from the callbacks are i Type = "boolean", }, }, - Notes = "Returns true if the current world is raining (no thunderstorm).", + Notes = "Returns true if the current weather is rainy.", }, IsWeatherRainAt = { @@ -2258,7 +2258,7 @@ function OnAllChunksAvailable() All return values from the callbacks are i Type = "boolean", }, }, - Notes = "Returns true if the specified location is raining (takes biomes into account - it never rains in a desert).", + Notes = "Returns true if it is rainy at the specified location. This takes into account biomes.", }, IsWeatherStorm = { @@ -2268,7 +2268,7 @@ function OnAllChunksAvailable() All return values from the callbacks are i Type = "boolean", }, }, - Notes = "Returns true if the current world is stormy.", + Notes = "Returns true if the current weather is stormy.", }, IsWeatherStormAt = { @@ -2289,7 +2289,7 @@ function OnAllChunksAvailable() All return values from the callbacks are i Type = "boolean", }, }, - Notes = "Returns true if the specified location is stormy (takes biomes into account - no storm in a desert).", + Notes = "Returns true if it is stormy at the specified location. This takes into account biomes.", }, IsWeatherSunny = { @@ -2320,7 +2320,7 @@ function OnAllChunksAvailable() All return values from the callbacks are i Type = "boolean", }, }, - Notes = "Returns true if the current weather is sunny at the specified location (takes into account biomes).", + Notes = "Returns true if it is sunny at the specified location. This takes into account biomes.", }, IsWeatherWet = { @@ -2330,7 +2330,7 @@ function OnAllChunksAvailable() All return values from the callbacks are i Type = "boolean", }, }, - Notes = "Returns true if the current world has any precipitation (rain or storm).", + Notes = "Returns true if the world currently has any precipitation - rain, storm or snow.", }, IsWeatherWetAt = { @@ -2351,7 +2351,24 @@ function OnAllChunksAvailable() All return values from the callbacks are i Type = "boolean", }, }, - Notes = "Returns true if the specified location has any precipitation (rain or storm) (takes biomes into account, deserts are never wet).", + Notes = "Returns true if it is raining or storming at the specified location. This takes into account biomes.", + }, + IsWeatherWetAtXYZ = + { + Params = + { + { + Name = "Pos", + Type = "Vector3i", + }, + }, + Returns = + { + { + Type = "boolean", + }, + }, + Notes = "Returns true if the specified location has wet weather (rain or storm), using the same logic as IsWeatherWetAt, except that any rain-blocking blocks above the specified position will block the precipitation and this function will return false.", }, PrepareChunk = { @@ -3637,4 +3654,3 @@ World:ForEachEntity( }, }, } - -- cgit v1.2.3