{"id":"gitethan1/rain","name":"rain","scope":"gitethan1","platform":"roblox","description":"Mirrored from the Wally registry.","version":"0.1.0","latest":"0.1.0","versions":["0.1.0"],"license":"Apache-2.0","licenseRating":"safe","licenseCaveats":["Modified files must carry a notice of changes. If the package ships a NOTICE file, its attributions must be preserved.","License identified from the packaged LICENSE file; the manifest declared none."],"licenseVerified":true,"dependencies":{},"integrity":"f8016c725169415a1098fded7b3ffc6d023b3fc9c5606b07c5280a4b06754459","likes":0,"downloads":0,"install":"forest install gitethan1/rain","url":"https://forest.dev/p/roblox/gitethan1/rain","files":"https://api.forest.dev/ai/package/roblox/gitethan1/rain/files","readme":"# Rain Module\r\n\r\nThis module simulates rain for use in Roblox games.\r\n\r\nFeatures:\r\n- Full customization of nearly all properties of the effect, such as color, direction, intensity, transparency, assets that are used, lighting properties.\r\n- Collision functions that are fully customizable (incl. normal, blacklist, whitelist, custom) that also allow you to i.e. easily let rain pass through transparent or non-CanCollide parts easily.\r\n- Provided by default with game-ready, royalty-free, open-source sound effects also used in Egg Hunt 2018.\r\n- Performant for low-end devices.\r\n\r\nRefer to this thread for more description:\r\nhttps://devforum.roblox.com/t/open-source-rain-effect-plugin-release/157190\r\n\r\nThere is also a user-friendly Roblox plugin available to insert the rain effect into your games, which is useful to preview the rain effect in Studio, as well as allows non-scripters to insert rain into their games all by themselves:\r\nhttps://www.roblox.com/library/2166774609/Rain-Plugin\r\n\r\n# Examples\r\n\r\nhttps://gfycat.com/HeavenlyCelebratedBee\r\n\r\nhttps://gfycat.com/LittleClassicGoldenretriever\r\n\r\n# API available on the Rain Module\r\n\r\nThe following listing contains all API members that can be used with a description.\r\n\r\n```text\r\n\r\n\tRain:Enable(<TweenInfo> tweenInfo)\r\n\t\tEnable the rain effects instantly, or over a given easing function if tweenInfo is given.\r\n\t\t\r\n\tRain:Disable(<TweenInfo> tweenInfo)\r\n\t\tDisable the rain effects instantly, or over a given easing function if tweenInfo is given.\r\n\t\t\r\n\t\t\r\n\tRain:SetColor(<Color3> color, <TweenInfo> tweenInfo)\r\n\t\tSet the global color of all rain particles to a given Color3 value.\r\n\t\tSets the color instantly, or over a given easing function if tweenInfo is given.\r\n\t\tColor sequences are not supported because this would lead to a messy effect.\r\n\t\tThe starting value is RAIN_DEFAULT_COLOR.\r\n\t\t\r\n\tRain:SetTransparency(<number> transparency, <TweenInfo> tweenInfo)\r\n\t\tSet the global transparency of all rain effects. 0 = regular visibility, 1 = fully invisible.\r\n\t\tSets the transparency instantly, or over a given easing function if tweenInfo is given.\r\n\t\tClamped between 0 and 1, the starting value is RAIN_DEFAULT_TRANSPARENCY.\r\n\t\r\n\tRain:SetSpeedRatio(<number> ratio, <TweenInfo> tweenInfo)\r\n\t\tSet the vertical falling speed of the rain particles. 0 = still, 1 = max falling speed.\r\n\t\tSets the speed instantly, or over a given easing function if tweenInfo is given.\r\n\t\tClamped between 0 and 1, the starting value is RAIN_DEFAULT_SPEEDRATIO.\r\n\t\t\r\n\tRain:SetIntensityRatio(<number> ratio, <TweenInfo> tweenInfo)\r\n\t\tSet the intensity of the rain. 0 = no effects, 1 = full effects.\r\n\t\tSets the intensity instantly, or over a given easing function if tweenInfo is given.\r\n\t\tClamped between 0 and 1, the starting value is RAIN_DEFAULT_INTENSITYRATIO.\r\n\t\t\r\n\tRain:SetLightEmission(<number> ratio, <TweenInfo> tweenInfo)\r\n\t\tSet the global light emission of all rain effects.\r\n\t\tSets the light emission instantly, or over a given easing function if tweenInfo is given.\r\n\t\tClamped between 0 and 1, the starting value is RAIN_DEFAULT_LIGHTEMISSION.\r\n\t\t\r\n\tRain:SetLightInfluence(<number> transparency, <TweenInfo> tweenInfo)\r\n\t\tSet the global light influence of all rain effects.\r\n\t\tSets the light influence instantly, or over a given easing function if tweenInfo is given.\r\n\t\tClamped between 0 and 1, the starting value is RAIN_DEFAULT_LIGHTINFLUENCE.\r\n\t\t\r\n\t\t\r\n\tRain:SetVolume(<number> volume, <TweenInfo> tweenInfo)\r\n\t\tSet the global max volume of rain instantly, or over a given easing function if tweenInfo is given.\r\n\t\tThe initial volume of the rain's soundgroup is RAIN_SOUND_BASEVOLUME.\r\n\t\t\r\n\t\t\r\n\tRain:SetCeiling(<Variant<number, nil>> ceiling)\r\n\t\tSet a Y coordinate that marks the ceiling of the world. Above this spot, rain will act as if it's indoors.\r\n\t\tFeed nil to remove any previously set ceiling.\r\n\t\t\r\n\t\t\r\n\tRain:SetDirection(<Vector3> direction, <TweenInfo> tweenInfo)\r\n\t\tSet the direction that rain falls from. The direction parameter should be a unit direction.\r\n\t\tSets the rain direction instantly, or over a given easing function if tweenInfo is given.\r\n\t\t\r\n\tRain:SetStraightTexture(<string> asset)\r\n\tRain:SetTopDownTexture(<string> asset)\r\n\tRain:SetSplashTexture(<string> asset)\r\n\t\tAdjust textures of the rain effect.\r\n\t\t\r\n\tRain:SetSoundId(<string> asset)\r\n\t\tAdjust sound effect of the rain effect.\r\n\t\t\r\n\tRain:SetCollisionMode(<Rain.CollisionMode> mode, ...)\r\n\t\tSets the current way collisions are determined for the rain.\r\n\t\t\r\n\t\tRain.CollisionMode\r\n\t\t\tA table that should be seen as an enumerator for the collision mode.\r\n\t\t\tThe following values are available:\r\n\t\t\t* Rain.CollisionMode.None\t\t\t- All parts in the default collision group will block the rain.\r\n\t\t\t* Rain.CollisionMode.Whitelist\t\t- Use the whitelist provided by Rain::SetCollisionWhitelist.\r\n\t\t\t* Rain.CollisionMode.Blacklist\t\t- Use the blacklist provided by Rain::SetCollisionBlacklist.\r\n\t\t\t* Rain.CollisionMode.Function\t\t- Use the test function provided by Rain::SetCollisionFunction and do deep-casts.\r\n\t\t\t\r\n\t\tRain:SetCollisionMode(Rain.CollisionMode.None)\r\n\t\t\tNo parameters.\r\n\t\t\t\r\n\t\tRain:SetCollisionMode(Rain.CollisionMode.Whitelist, <Variant<Instance, table>> whitelist)\r\n\t\t\tThe provided value can either be a hierarchy of objects or a table of objects to filter with.\r\n\t\t\r\n\t\tRain:SetCollisionMode(Rain.CollisionMode.Blacklist, <Variant<Instance, table>> blacklist)\r\n\t\t\tThe provided value can either be a hierarchy of objects or a table of objects to filter out.\r\n\t\t\t\r\n\t\tRain:SetCollisionMode(Rain.CollisionMode.Function, <function<BasePart -> boolean>> f)\r\n\t\t\tIf f(part) returns a value that lua evaluates to a true condition, that part can be hit by rain.\r\n\t\t\tIf f(part) returns any other value, that part cannot be hit by the rain.\r\n```\r\n","readmeTruncated":false}