Solstice

Solstice brings living seasons to your Minecraft server. Spring, Summer, Autumn and Winter cycle through each enabled world and reshape it as they pass — grass and foliage shift colour, water and sky take on the season's mood, temperature rises and falls, weather and crop growth follow the calendar, and snow settles in winter.

It is built as a Conduit addon and uses modern packet manipulation (via Conduit's built-in packet layer) instead of ProtocolLib, so biome recolouring is fast, server-side, and needs no resource pack on the client.

Highlights

  • Packet-driven biome recolouring — each season repaints biomes by swapping their colours

client-side. A forest greys and frosts over in winter; plains turn golden in autumn. No blocks are changed on the server and no resource pack is required.

  • Per-world seasons — enable seasons only in the worlds you choose; each tracks its own season and

day count, persisted across restarts.

  • Automatic calendar — seasons advance as in-game days pass (configurable length), or you can set

them manually with a command.

  • Temperature — a per-player "feels-like" temperature on the action bar, derived from the season,

biome, light, and armour, with Celsius/Fahrenheit support.

  • Weather & crops — precipitation chance and crop growth speed change with the season.
  • Snow — thin snow layers settle around players in winter.

Requirements

  • A server running Conduit (Paper, Spigot or Folia, Minecraft 1.20.x through the current line).
  • A valid Solstice licence — Solstice is a paid addon. See Installation.
Solstice is region-thread aware, so it runs safely on Folia.

Installation

Solstice is a paid Conduit addon. Installing it is the same as any Conduit addon, plus a licence key.

Steps

  1. Install Conduit on your server if you haven't already (the single Conduit.jar in your

plugins/ folder). Solstice runs on top of it.

  1. Buy Solstice from the store and download the latest solstice-x.y.z.jar.
  2. Drop the jar into plugins/Conduit/addons/.
  3. Add your licence key. Open plugins/Conduit/config.yml and set:
license:
  enabled: true
  keys:
    solstice: YOUR-LICENCE-KEY-HERE
  1. Restart the server. Conduit verifies the licence and enables Solstice. You'll see

Solstice enabled — seasons active. in the console.

Enabling worlds

By default Solstice manages a world named world. Edit which worlds have seasons in plugins/Conduit/addons/Solstice/config.yml:

worlds:
  - world
  - world_nether_overworld_mirror

World names are case-sensitive and must match the folder name exactly. Run /solstice reload after editing.

Auto-updates

Solstice opts into Conduit's auto-updater. When update.enabled: true in Conduit's config, your servers roll forward to new Solstice releases automatically using your licence key — no manual jar swaps.

Troubleshooting

SymptomFix
Solstice not enablingCheck the licence key is present and license.enabled: true.
Colours don't changeConfirm the world is listed under worlds: and you re-joined / moved to reload chunks.
packet layer unavailable warningYour server build isn't supported by the packet layer; biome recolouring is disabled but other features still run.

Configuration

Solstice's config lives in plugins/Conduit/addons/Solstice/. After editing, run /solstice reload.

config.yml

# Worlds where seasons are active (exact, case-sensitive names).
worlds:
  - world

# Real Minecraft days each season lasts before advancing.
season-days: 7

# How often (ticks) Solstice checks for an in-game day rollover.
tick-interval: 200

Temperature

A per-player "feels-like" value shown on the action bar:

temperature:
  base: 12.0
  period-ticks: 20          # how often the action bar updates
  light-divisor: 4.0        # warmth added per light level = lightLevel / divisor
  armor-per-piece: 2.0      # warmth added per equipped armour piece
  season-offsets:
    spring: 2.0
    summer: 7.0
    autumn: -2.0
    winter: -12.0

Formula: base + season-offset + biome-offset + (lightLevel / light-divisor) + (armorPieces * armor-per-piece).

Weather

Storm chance is re-rolled per world from the season's precipitation chance (percent):

weather:
  period-ticks: 1200
  precipitation-chance:
    spring: 35
    summer: 5
    autumn: 35
    winter: 60

Crops

A per-season growth multiplier — above 1.0 crops sometimes grow an extra stage, below 1.0 they sometimes skip:

crops:
  growth-multiplier:
    spring: 1.4
    summer: 2.0
    autumn: 1.0
    winter: 0.4

Snow

In winter, thin snow layers settle around players:

snow:
  radius: 3
  placements-per-player: 4
  period-ticks: 100

biomes.yml

This file controls the recolouring. See Biome colours for the full guide.


Commands

Solstice's command is /solstice (aliases /season, /seasons).

CommandDescription
/solsticeShows the current season in your world.
/solstice setseason <season>Sets your world's season (spring, summer, autumn, winter) and repaints it immediately.
/solstice nextseasonAdvances your world to the next season in the cycle.
/solstice reloadReloads config.yml + biomes.yml and rebuilds the colour map.

Permissions

PermissionGrants
solstice.useThe base /solstice command (current-season info).
solstice.adminsetseason, nextseason and reload.
When you change a season with a command, Solstice resends nearby chunks so the new colours appear right away — no need to relog.

Biome colours

Solstice's signature effect is recolouring the world per season. It works by rewriting the biome id in the chunk packets the server sends to each player: swap a biome for another one whose vanilla palette looks like the season you want, and the client repaints that biome's grass, foliage, water, sky and fog accordingly. Nothing is changed on the server — it's purely visual and per-player, and it needs no resource pack.

How the mapping works

biomes.yml maps a source biome to the biome whose colours it should render as, per season:

biomes:
  forest:
    autumn: savanna        # forest looks golden in autumn
    winter: snowy_taiga    # forest looks frosted in winter
  plains:
    autumn: savanna
    winter: snowy_plains
  • Keys are Minecraft biome ids; the minecraft: namespace is optional (forest == minecraft:forest).
  • Leave a season out to keep that biome's vanilla colours that season (Spring and Summer above

stay normal and lush).

  • The target biome only needs to exist — Solstice uses its colour palette, not its terrain.

Choosing targets

Pick a target whose grass/foliage colour evokes the season:

Look you wantGood target biomes
Frosted / snowy whitesnowy_plains, snowy_taiga, grove
Golden / dry autumnsavanna, badlands
Lush deep greenjungle, dark_forest
Cool blue waterfrozen_ocean, cold_ocean

Notes

  • Mappings are vanilla-accurate. Datapack-added biomes resolve against the live registry; if a

target can't be resolved on your version it's skipped (the biome keeps its original colour).

  • After editing biomes.yml, run /solstice reload, then move away and back (or relog) so chunks

re-send with the new colours.

  • Recolouring is applied as chunks are sent, so newly loaded terrain is always correct for the

current season.