Skip to content

Weather System

Overview

Weather files define the complete visual state of the sky for a named weather condition. All colour and scale properties use an array of time-keyed entries — the engine interpolates between keyframes as the in-game hour progresses. Cloud layers, fog density, sun/moon colours, and ambient particles are all controlled here. Weather IDs defined in these files are referenced by environment forecast schedules.

File Location

Assets/Server/Weathers/
Blood_Moon.json
Creative_Hub.json
Forgotten_Temple.json
Void.json
Unique/
Zone1/
Cave_Deep.json
Cave_Fog.json
Cave_Goblin.json
(Zone1_Sunny.json, Zone1_Rain.json, etc.)
Zone2/
Zone3/
Zone4/
Skylands/
Minigames/

Schema

Top-level

FieldTypeRequiredDefaultDescription
StarsstringNoPath to the star field texture rendered at night.
MoonsMoonEntry[]NoMoon phase textures, one per day in the moon cycle.
CloudsCloudLayer[]NoOrdered list of cloud texture layers composited over the sky.
SkyTopColorsHourColor[]NoZenith sky colour keyframes.
SkyBottomColorsHourColor[]NoHorizon sky colour keyframes.
SkySunsetColorsHourColor[]NoSunset/sunrise tint colour keyframes.
FogColorsHourColor[]NoFog colour keyframes.
FogDensitiesHourValue[]NoFog density keyframes (0–1).
FogHeightFalloffsHourValue[]NoFog height falloff keyframes.
FogDistance[number, number]No[near, far] fog distance range in units.
FogOptionsFogOptionsNoAdditional fog rendering options.
SunColorsHourColor[]NoSun disc colour keyframes.
SunGlowColorsHourColor[]NoSun glow halo colour keyframes.
SunScalesHourValue[]NoSun disc scale keyframes.
MoonColorsHourColor[]NoMoon disc colour keyframes.
MoonGlowColorsHourColor[]NoMoon glow halo colour keyframes.
MoonScalesHourValue[]NoMoon disc scale keyframes.
ParticleWeatherParticleNoAmbient particle system played during this weather (e.g. rain, snow, fireflies).

MoonEntry

FieldTypeRequiredDefaultDescription
DaynumberYesDay index in the moon cycle (0-based).
TexturestringYesPath to the moon phase texture for this cycle day.

CloudLayer

FieldTypeRequiredDefaultDescription
TexturestringYesPath to the cloud texture for this layer.
ColorsHourColor[]YesRGBA colour keyframes controlling cloud visibility and tint over the day.
SpeedsHourValue[]YesScroll speed keyframes for this cloud layer.

HourColor

FieldTypeRequiredDefaultDescription
HournumberYesIn-game hour (0–23) at which this colour applies. The engine interpolates between keyframes.
ColorstringYesHex colour string, optionally with alpha (e.g. "#ffffffe6", "rgba(#2c6788, 1)").

HourValue

FieldTypeRequiredDefaultDescription
HournumberYesIn-game hour (0–23).
ValuenumberYesNumeric value at this hour (scale, density, speed, etc.).

FogOptions

FieldTypeRequiredDefaultDescription
FogHeightCameraFixednumberNoLocks the fog height plane relative to the camera rather than the world.
EffectiveViewDistanceMultipliernumberNo1.0Scales the effective view distance during this weather.

WeatherParticle

FieldTypeRequiredDefaultDescription
SystemIdstringYesParticle system ID to play as ambient weather effect.
OvergroundOnlybooleanNofalseIf true, particles only spawn in above-ground areas.
ColorstringNoHex tint colour applied to the particle system.

Example

Zone 1 sunny weather (Assets/Server/Weathers/Zone1/Cave_Deep.json — note this shows a cave weather variant; Zone1 main weathers follow the same schema):

{
"Stars": "Sky/Stars.png",
"Moons": [
{ "Day": 0, "Texture": "Sky/MoonCycle/Moon_Full.png" },
{ "Day": 1, "Texture": "Sky/MoonCycle/Moon_Gibbous.png" },
{ "Day": 2, "Texture": "Sky/MoonCycle/Moon_Half.png" },
{ "Day": 3, "Texture": "Sky/MoonCycle/Moon_Crescent.png" },
{ "Day": 4, "Texture": "Sky/MoonCycle/Moon_New.png" }
],
"Clouds": [
{
"Texture": "Sky/Clouds/Light_Base.png",
"Colors": [
{ "Hour": 3, "Color": "#1a1a1bc7" },
{ "Hour": 5, "Color": "#ff5e4366" },
{ "Hour": 7, "Color": "#ffffffe6" },
{ "Hour": 17, "Color": "#ffffffe6" },
{ "Hour": 19, "Color": "#ff5e4347" },
{ "Hour": 21, "Color": "#1a1a1bc7" }
],
"Speeds": [
{ "Hour": 0, "Value": 0 }
]
}
],
"SkyTopColors": [
{ "Hour": 7, "Color": "rgba(#2c6788, 1)" },
{ "Hour": 19, "Color": "rgba(#2c6788, 1)" },
{ "Hour": 5, "Color": "rgba(#000000, 1)" },
{ "Hour": 21, "Color": "rgba(#030000, 1)" }
],
"FogColors": [
{ "Hour": 7, "Color": "#14212e" }
],
"SunColors": [
{ "Hour": 7, "Color": "#ffffff" },
{ "Hour": 17, "Color": "#ffffff" },
{ "Hour": 18, "Color": "#fff7e3" },
{ "Hour": 19, "Color": "#fec9ae" },
{ "Hour": 5, "Color": "#fec9ae" }
],
"MoonColors": [
{ "Hour": 3, "Color": "#98aff2ff" },
{ "Hour": 5, "Color": "#e5c0bcff" },
{ "Hour": 17, "Color": "#e5c0bcff" },
{ "Hour": 19, "Color": "#2241a16e" },
{ "Hour": 21, "Color": "#6e7aaac4" }
],
"FogDistance": [-192, 128]
}

Void weather with ambient particles (Assets/Server/Weathers/Void.json, condensed):

{
"FogDistance": [-128.0, 512.0],
"FogOptions": {
"FogHeightCameraFixed": 0.5,
"EffectiveViewDistanceMultiplier": 1.0
},
"Particle": {
"SystemId": "Magic_Sparks_Heavy_GS",
"OvergroundOnly": true,
"Color": "#fd69a4"
}
}
  • Environments — hourly weather forecast schedules that reference weather IDs
  • Farming & Coops — weather IDs used in Water modifier conditions