Skip to content

Weather Systems

Weather definitions control sky appearance, celestial bodies, clouds, fog, lighting, and particle effects. They are referenced by environment configurations to create dynamic weather conditions.

  • DirectoryAssets/Server/Weathers/
    • Blood_Moon.json
    • Creative_Hub.json
    • Forgotten_Temple.json
    • Void.json
    • DirectoryZone1/
      • Zone1_Sunny.json
      • Zone1_Rain.json
      • Zone1_Rain_Light.json
      • Zone1_Storm.json
      • Zone1_Foggy_Light.json
      • Zone1_Swamp.json
      • Cave_Shallow.json
      • Cave_Deep.json
      • Cave_Goblin.json
      • Cave_Volcanic.json
      • Dungeon_Cursed_Crypt.json
    • DirectoryZone2/
      • Zone2_Sunny.json
      • Zone2_Sand_Storm.json
      • Zone2_Thunder_Storm.json
      • Zone2_Desert_Haze.json
    • DirectoryZone3/
      • Zone3_Snow.json
      • Zone3_Snow_Heavy.json
      • Zone3_Snow_Storm.json
      • Zone3_Northern_Lights.json
      • Zone3_Rain.json
      • Zone3_Cave_Shallow.json
    • DirectoryZone4/
      • Zone4_Wastes.json
      • Zone4_Lava_Fields.json
      • Zone4_GhostForest.json
      • Zone4_Storm.json
    • DirectorySkylands/
    • DirectoryPoisonlands/
    • DirectoryMinigames/
FieldTypeDescription
TagsobjectWeather classification tags
StarsstringStar texture path
MoonsarrayMoon phase textures
CloudsarrayCloud layer configurations
ParticleobjectWeather particle system
FogDistance[min, max]Fog start and end distances

Most visual properties use hour-based keyframes (0-23) for time-of-day transitions:

FieldTypeDescription
SkyTopColorsarrayUpper sky gradient colors
SkyBottomColorsarrayLower sky gradient colors
SkySunsetColorsarraySunset horizon colors
FogColorsarrayFog tint colors
SunColorsarraySun disc colors
SunGlowColorsarraySun glow effect colors
SunScalesarraySun size per hour
SunlightColorsarrayDirectional light colors
MoonColorsarrayMoon disc colors
MoonGlowColorsarrayMoon glow effect colors
MoonScalesarrayMoon size per hour
FogDensitiesarrayFog thickness per hour
FogHeightFalloffsarrayVertical fog falloff
{
"SkyTopColors": [
{ "Hour": 5, "Color": "#2b69a8ff" },
{ "Hour": 7, "Color": "rgba(#077ddd, 1)" },
{ "Hour": 17, "Color": "rgba(#077ddd, 1)" },
{ "Hour": 19, "Color": "#2b69a8ff" },
{ "Hour": 21, "Color": "#00000000" }
]
}

Colors can use:

  • Hex format: #RRGGBB or #RRGGBBAA
  • RGBA format: rgba(#RRGGBB, alpha)

Clouds are defined as layered textures with time-based colors and speeds:

Cloud layer example
{
"Clouds": [
{
"Texture": "Sky/Clouds/Light_Base.png",
"Colors": [
{ "Hour": 3, "Color": "#1a1a1bc7" },
{ "Hour": 5, "Color": "rgba(#ff5e43, 0.504)" },
{ "Hour": 7, "Color": "#ffffffe6" },
{ "Hour": 17, "Color": "#ffffffe6" },
{ "Hour": 19, "Color": "#ff5e4347" },
{ "Hour": 21, "Color": "#1a1a1bc7" }
],
"Speeds": [
{ "Hour": 0, "Value": 0.7 }
]
},
{
"Texture": "Sky/Clouds/Light_Highlights.png",
"Colors": [
{ "Hour": 7, "Color": "#ffffffe6" }
],
"Speeds": [
{ "Hour": 0, "Value": 0.7 }
]
}
]
}
TextureUse Case
Sky/Clouds/Light_Base.pngClear weather base
Sky/Clouds/Light_Highlights.pngClear weather highlights
Sky/Clouds/Rain_Light_Base.pngLight rain
Sky/Clouds/Rain_Light_Highlights.pngLight rain highlights
Sky/Clouds/Rain_Heavy_Base.pngHeavy rain/storm
Sky/Clouds/Rain_Heavy_Highlights.pngStorm highlights
Sky/Clouds/Fluffy_Base.pngFluffy clouds
Sky/Clouds/Storm_Plain.pngStorm overlay

Moon textures change based on game day:

{
"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" }
]
}

Weather effects use particle systems:

{
"Particle": {
"SystemId": "Rain",
"OvergroundOnly": true
}
}
SystemIdEffect
RainModerate rain
Rain_HeavyHeavy rain/storm
Rain_LightLight drizzle
Snow_LightLight snowfall
Snow_HeavyHeavy snowfall
Snow_StormBlizzard
Dust_StormDesert sandstorm
Zone1_Sunny.json
{
"Tags": {
"Zone1": ["Sunny"]
},
"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" }
],
"SkyTopColors": [
{ "Hour": 3, "Color": "#00000000" },
{ "Hour": 5, "Color": "#2b69a8ff" },
{ "Hour": 7, "Color": "rgba(#077ddd, 1)" },
{ "Hour": 17, "Color": "rgba(#077ddd, 1)" },
{ "Hour": 19, "Color": "#2b69a8ff" },
{ "Hour": 21, "Color": "#00000000" }
],
"SkyBottomColors": [
{ "Hour": 4, "Color": "#050e23ff" },
{ "Hour": 5, "Color": "#85aff3ff" },
{ "Hour": 7, "Color": "#8fd8f8ff" },
{ "Hour": 17, "Color": "#8fd8f8ff" },
{ "Hour": 19, "Color": "#598de1ff" },
{ "Hour": 21, "Color": "#050e23ff" }
],
"SkySunsetColors": [
{ "Hour": 3, "Color": "#e32c4e00" },
{ "Hour": 5, "Color": "#ff5e43ff" },
{ "Hour": 7, "Color": "#ffb95100" },
{ "Hour": 17, "Color": "#ffb95100" },
{ "Hour": 19, "Color": "#ff5e43ff" },
{ "Hour": 21, "Color": "#e32c4e00" }
],
"FogDistance": [-96, 1024]
}

Key characteristics:

  • Tags identify weather type for environment matching
  • Clear skies with blue gradients during day
  • Sunset colors at dawn (5-7) and dusk (17-21)
  • Long fog distance (1024) for good visibility
Zone1_Rain.json
{
"Tags": {
"Zone1": [],
"Rain": ["Moderate"]
},
"Particle": {
"SystemId": "Rain",
"OvergroundOnly": true
},
"Clouds": [
{
"Texture": "Sky/Clouds/Rain_Light_Highlights.png",
"Colors": [
{ "Hour": 7, "Color": "rgba(#bad8e1, 0.401)" },
{ "Hour": 17, "Color": "rgba(#bad8e1, 0.65)" }
],
"Speeds": [{ "Hour": 0, "Value": 0.7 }]
},
{
"Texture": "Sky/Clouds/Rain_Light_Base.png",
"Colors": [
{ "Hour": 7, "Color": "rgba(#385164, 0.776)" }
],
"Speeds": [{ "Hour": 0, "Value": 0.7 }]
}
],
"FogDensities": [
{ "Hour": 0, "Value": 0.2 }
],
"FogHeightFalloffs": [
{ "Hour": 0, "Value": 4 }
]
}

Key characteristics:

  • Rain particle system attached
  • Darker cloud textures for overcast look
  • Increased fog density (0.2) for atmosphere
  • OvergroundOnly prevents rain underground
Zone1_Storm.json
{
"Tags": {
"Zone1": [],
"Rain": ["Storm"]
},
"Particle": {
"SystemId": "Rain_Heavy",
"OvergroundOnly": true
},
"Clouds": [
{
"Texture": "Sky/Clouds/Rain_Heavy_Base.png",
"Colors": [
{ "Hour": 7, "Color": "rgba(#020000, 1)" }
],
"Speeds": [{ "Hour": 0, "Value": 1 }]
}
],
"FogDensities": [
{ "Hour": 0, "Value": 0.75 }
],
"SunlightColors": [
{ "Hour": 3, "Color": "#3c3c3c" },
{ "Hour": 5, "Color": "#e1e1e1" },
{ "Hour": 19, "Color": "#e1e1e1" },
{ "Hour": 21, "Color": "#4c4c4c" }
]
}

Key characteristics:

  • Heavy rain particles for storm effect
  • Dark clouds blocking most light
  • High fog density (0.75) for reduced visibility
  • Faster cloud speed (1.0) for wind effect
  • Muted sunlight colors for overcast lighting
Zone3_Snow.json
{
"Tags": {
"Zone3": [],
"Snow": ["Moderate"]
},
"Particle": {
"SystemId": "Snow_Light",
"OvergroundOnly": true
},
"Clouds": [
{
"Texture": "Sky/Clouds/Fluffy_Base.png",
"Colors": [
{ "Hour": 7, "Color": "rgba(#e9edf1, 1)" },
{ "Hour": 17, "Color": "rgba(#e9edf1, 1)" }
],
"Speeds": [{ "Hour": 0, "Value": 1 }]
}
],
"FogColors": [
{ "Hour": 7, "Color": "#cad8f4" },
{ "Hour": 17, "Color": "#cad8f4" }
],
"FogDensities": [
{ "Hour": 0, "Value": 0.4 }
]
}

Key characteristics:

  • Snow particle system for snowfall
  • Cool-toned fog colors for cold atmosphere
  • Fluffy clouds texture for winter sky
  • Moderate fog density for snowy haze
Cave_Shallow.json
{
"Stars": "Sky/Stars.png",
"SkyTopColors": [
{ "Hour": 7, "Color": "rgba(#4291bd, 1)" },
{ "Hour": 19, "Color": "rgba(#4291bd, 1)" },
{ "Hour": 5, "Color": "rgba(#000000, 1)" },
{ "Hour": 21, "Color": "rgba(#030000, 1)" }
],
"FogDistance": [-128, 128],
"FogColors": [
{ "Hour": 7, "Color": "#8e917b" }
],
"Clouds": [
{
"Texture": "Sky/Clouds/Light_Base.png",
"Speeds": [{ "Hour": 0, "Value": 0 }]
}
]
}

Key characteristics:

  • No particle effects (no rain/snow underground)
  • Short fog distance (128) for enclosed feeling
  • Static clouds (speed 0) - no wind movement
  • Consistent lighting regardless of time
WeatherDescription
Zone1_SunnyClear blue skies
Zone1_Cloudy_MediumOvercast conditions
Zone1_Foggy_LightMorning fog
Zone1_Rain_LightLight drizzle
Zone1_RainModerate rain
Zone1_StormHeavy thunderstorm
Zone1_SwampMurky swamp atmosphere
Zone1_Swamp_FoggyDense swamp fog
Zone1_Azurewood_FirefliesMagical forest at night
Zone1_Sunny_FirefliesNight with fireflies
WeatherDescription
Zone2_SunnyHot desert sun
Zone2_Blazing_LightIntense heat
Zone2_Cloudy_LightLight cloud cover
Zone2_Desert_HazeHeat shimmer
Zone2_Sand_StormSandstorm conditions
Zone2_Thunder_StormDesert thunderstorm
Zone2_Corrupted_OasisCorrupted water area
WeatherDescription
Zone3_Cloudy_LightOvercast cold
Zone3_Cloudy_MediumHeavy clouds
Zone3_Cloudy_BorealNorthern atmosphere
Zone3_SnowModerate snowfall
Zone3_Snow_HeavyHeavy snowfall
Zone3_Snow_StormBlizzard
Zone3_RainCold rain
Zone3_Northern_LightsAurora borealis
Zone3_HederaHedera biome weather
WeatherDescription
Zone4_LightBasic visibility
Zone4_WastesWasteland atmosphere
Zone4_Wastes_RainAcid rain
Zone4_AshWastesAsh-filled air
Zone4_AshWastes_StormAsh storm
Zone4_Lava_FieldsVolcanic area
Zone4_GhostForestHaunted forest
Zone4_SpookyEerie atmosphere
Zone4_StormCorrupted storm
WeatherDescription
Blood_MoonRed moon event
VoidVoid dimension
Forgotten_TempleTemple interior
Portals_Void_Event_LightPortal event (light)
Portals_Void_Event_IntensePortal event (intense)
MyPlugin_Weather_Custom.json
{
"Tags": {
"MyPlugin": ["Custom"],
"Zone1": ["Special"]
},
"Stars": "Sky/Stars.png",
"Moons": [
{ "Day": 0, "Texture": "Sky/MoonCycle/Moon_Full.png" }
],
"Clouds": [
{
"Texture": "Sky/Clouds/Light_Base.png",
"Colors": [
{ "Hour": 7, "Color": "#d0e8ffff" },
{ "Hour": 17, "Color": "#d0e8ffff" }
],
"Speeds": [{ "Hour": 0, "Value": 0.5 }]
}
],
"SkyTopColors": [
{ "Hour": 7, "Color": "#4488ccff" },
{ "Hour": 21, "Color": "#000022ff" }
],
"FogColors": [
{ "Hour": 7, "Color": "#aaccff" }
],
"FogDistance": [-96, 512],
"Particle": {
"SystemId": "Rain_Light",
"OvergroundOnly": true
}
}
  1. Use consistent hour keyframes - Dawn (5-7), day (7-17), dusk (17-21), night (21-5)
  2. Layer clouds properly - Base layer first, highlights on top
  3. Match fog to sky - Fog color should complement sky bottom
  4. Consider gameplay - Heavy fog reduces visibility significantly
  5. Test time transitions - Ensure smooth color interpolation
  6. Use appropriate particles - Match particle intensity to weather type