WeatherRegistry
A mod for controlling the game's weather system: scrap multipliers, weather chances, blacklisting and more!
About this mod Author’s original text
WeatherRegistry
A mod for Lethal Company allowing you to control the game's weather system.
Features
- A system for registering custom weathers and weather effects
- Weight-based weather selection system
- Weather-to-weather transition weights for creating weather progression patterns
- Level-based weather filtering system
- Scrap value/amount multipliers based on active weather
- Editor support for creating new weathers
- Multiple weather selection algorithms (Registry weighted, Vanilla, and Hybrid)
- Hot-reloadable configuration system that applies changes after completing the current day
- Terminal commands for forecasting and changing weather conditions
- and many more!
Editor components
WeatherRegistry provides Unity Editor components to help mod developers create custom weather systems:
- WeatherDefinition: Create new weathers without writing code, offering the same capabilities as code-based weather creation
- ImprovedWeatherEffect: Create custom weather effects with WeatherRegistry
- EffectOverride: Design custom weather effect overrides directly in the Unity Editor
- Visual tools for configuring weather properties, effects, and transitions
Terminal Commands
WeatherRegistry supports terminal commands for managing and debugging weathers:
- weather forecast for viewing probabilites of weathers
- weather change for changing the current weather (host only)
Weight-based weather selection system
WeatherRegistry uses a priority-based weight system instead of vanilla's hardcoded weather selection. Each weather can have multiple weight configurations, and the algorithm selects which one to use based on availability (checked in order):
- Level-specific weight: Weight assigned to a specific moon (e.g., "Experimentation@200")
- Weather-to-weather weight: Weight based on the previous day's weather (e.g., if yesterday was Foggy, today's Rainy weather uses its "after Foggy" weight)
- Default weight: Fallback weight used when no specific conditions match
Example: If you want Rainy weather to be:
- Common on Experimentation (weight: 200)
- Very likely after Foggy weather (weight: 150)
- Rare otherwise (default weight: 25)
The algorithm automatically uses the most specific applicable weight during selection.
For developers
Install the mod from Nuget:
To install the mod in Unity Editor, add WeatherRegistry and MrovLib dlls to your project. To create a new weather, create a new WeatherDefinition object. For more information, check out the "Creating and bundling weathers" guide (WIP).
License
This project is licensed under GNU Lesser General Public License v3.0.
Credits
Thank you to everyone who contributed to this project, reported bugs and suggestions! Special thanks to:
- Generic and s1ckboy for helping me test editor addons and providing feedback
- XuXiaolan for helping me test the mod on various occasions
- Beanie, Monty, Kenji, Autumnis for helping me playtest the mod _a lot of times_
- Zigzag for sending me multiple detailed bug reports
and to everyone submitting their bug reports and testing the releases!
Code used in this project is based on the following works:
- LethalCompanyTemplate (licensed under MIT License)
- LethalLib (licensed under MIT License)
- LethalLevelLoader (licensed under MIT License)
- LC-SimpleWeatherDisplay (licensed under MIT License)
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: