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
- Install Conduit on your server if you haven't already (the single
Conduit.jarin your
plugins/ folder). Solstice runs on top of it.
- Buy Solstice from the store and download the latest
solstice-x.y.z.jar. - Drop the jar into
plugins/Conduit/addons/. - Add your licence key. Open
plugins/Conduit/config.ymland set:
license:
enabled: true
keys:
solstice: YOUR-LICENCE-KEY-HERE
- 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
| Symptom | Fix |
|---|---|
Solstice not enabling | Check the licence key is present and license.enabled: true. |
| Colours don't change | Confirm the world is listed under worlds: and you re-joined / moved to reload chunks. |
packet layer unavailable warning | Your 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).
| Command | Description |
|---|---|
/solstice | Shows the current season in your world. |
/solstice setseason <season> | Sets your world's season (spring, summer, autumn, winter) and repaints it immediately. |
/solstice nextseason | Advances your world to the next season in the cycle. |
/solstice reload | Reloads config.yml + biomes.yml and rebuilds the colour map. |
Permissions
| Permission | Grants |
|---|---|
solstice.use | The base /solstice command (current-season info). |
solstice.admin | setseason, 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 want | Good target biomes |
|---|---|
| Frosted / snowy white | snowy_plains, snowy_taiga, grove |
| Golden / dry autumn | savanna, badlands |
| Lush deep green | jungle, dark_forest |
| Cool blue water | frozen_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.