Configuration
JSON-backed runtime config with auto-merge of missing sections.
Config Path
mods/HyWeather/config/HyWeather_ServerConfig.json
Top-Level Fields
| Field | Type | Purpose |
|---|---|---|
FogProfile | string | Default fog profile: CLEAR, BALANCED, VANILLA. |
DynamicWeatherEnabled | bool | Global dynamic cycle toggle. |
SpecialEventsEnabled | bool | Global event bucket toggle. |
WeatherCycleIntervalSeconds | int | Cycle interval; clamped to 30-1800. |
DefaultProfileId | string | Fallback profile ID. |
WorldRules | object | Legacy world key to profile mapping support. |
ZoneProfiles | object | Primary per-zone behavior + visuals state. |
WeatherProfiles | object | Profile templates and defaults. |
WeatherVisuals | object | Per-weather visual defaults map. |
SkyRampTuning | object | Global default tuning; merged if missing. |
ZoneProfile Fields
| Field | Type | Purpose |
|---|---|---|
AssignedProfileId | string | Selected profile for this zone. |
WeatherProfile | object | In-zone mutable copy of event chance + weight maps. |
GlobalVisualSettings | object | Theme enum per sky/cloud/sun/moon/fog. |
CustomVisualPalette | object | Custom hex palette for 8 channels. |
TintOpacityPercentByChannel | object | Per-channel opacity percentages (0-100). |
GradientChannelMask | object | Enable/disable gradient channel contributions. |
GradientPalette | object | Start/end palette pairs for each channel. |
SunlightBrightnessPercent | int | Sunlight intensity percentage (0-200). |
MoonlightBrightnessPercent | int | Moonlight intensity percentage (0-200). |
SkyRampTuning | object | Per-zone sky ramp factor arrays and precipitation blend scalar. |
Minimal Example
{
"DefaultProfileId": "temperate",
"ZoneProfiles": {
"zone1": {
"AssignedProfileId": "temperate",
"DynamicWeatherEnabled": true,
"SpecialEventsEnabled": true,
"WeatherCycleIntervalSeconds": 240,
"GlobalVisualSettings": {
"SkyTheme": "CUSTOM",
"CloudTheme": "CUSTOM",
"SunTheme": "CUSTOM",
"MoonTheme": "CUSTOM",
"FogTheme": "CUSTOM"
}
}
}
}
Auto-Merge Behavior
On load, missing config sections such as SkyRampTuning, TintOpacityPercentByChannel, and ZoneProfiles are automatically written back to disk.