All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Serene Seasons X Distant Horizons

Serene Seasons X Distant Horizons

by ItsThatNova • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Serene Seasons X Distant Horizons

A small compatibility mod for Minecraft 1.21.1 (Fabric) that makes Serene Seasons and Distant Horizons play nicely together.

NOTE: While this could work in single player, I built this out for a multiplayer instance and so it may not fully work. It wouldn't be a huge leap for someone to fork this for single player, though. Also, while I'm relatively confident it will work with 1.21.X versions, I'm only able to say I've tested it with 1.21.1.

The Problem

If you've used both of these mods together, you've probably noticed it: the trees and grass in the distance look completely wrong for the current season. Green forests in the middle of autumn, orange leaves in summer.

What It Does

Whenever the season changes, or when you join a world or travel between dimensions, the mod automatically updates Distant Horizons so that distant LODs show the correct seasonal colors.

If you ever notice colors are still off after a season change, the /ssdh-client reload command will force everything to refresh immediately.

Requirements

Installation

Drop the jar into your mods folder alongside Serene Seasons and Distant Horizons. No configuration required.

For server owners, installing the mod on your server as well unlocks the /ssdh season admin command for manually setting the current season.

Commands

Client-side (no permissions required)

Command Description
/ssdh-client status Shows the current season and sub-season.
/ssdh-client skip Skips forward to the next sub-season. Great for testing. Requires the mod on the server too.
/ssdh-client reload Forces an immediate color refresh if something still looks off.

Server-side (operator level 2 required)

Command Description
/ssdh season <subseason> Sets the season directly. Valid values: early_spring, mid_spring, late_spring, early_summer, mid_summer, late_summer, early_autumn, mid_autumn, late_autumn, early_winter, mid_winter, late_winter.

Notes

  • After a season change, distant LODs update gradually as you move around rather than all at once. This is intentional — it avoids a jarring visual pop. Most of the landscape will correct itself within a minute of normal play. If you want everything updated immediately, use /ssdh-client reload.
  • Client-side only. Safe to use on any server that has Serene Seasons installed.

License

MIT — see LICENSE

Source

github.com/ItsThatNova/serene-seasons-x-distant-horizons

How to Install Serene Seasons X Distant Horizons (Mod)

Serene Seasons X Distant Horizons by ItsThatNova is verified for Fabric across Minecraft versions 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6 (latest release: 1.0.3, file size: 328 KB). Follow the steps below to install it safely from ModCraft.tv:

  1. Click the Download button above and select your Minecraft version (1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6) and platform (Fabric).
  2. Make sure you have the compatible loader or environment installed for Fabric.
  3. Move the downloaded Serene Seasons X Distant Horizons file into your Minecraft .minecraft/mods folder and launch the game.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.x
Fabric
6mo ago 1
1.21.x
Fabric
8mo ago 1
# Changelog

## 1.0.3 - Architecture refactor + delayed refresh scheduler

### DHCompat refactor

  • Replaced reflection-based level access with DH public core interfaces:
  • ILevelWrapper.getDhLevel() replaces reflected ClientLevelWrapper.dhLevel field
  • IClientLevelWrapper.clearBlockColorCache() replaces reflected call on the concrete wrapper
  • DhSectionPos.encode(byte, int, int) called directly as a public static method
  • Reflection is now reserved only for truly private internals:
  • AbstractDhTintGetter.COLOR_BY_BLOCK_BIOME_PAIR (static tint cache)
  • AbstractDhTintGetter.BIOME_BY_RESOURCE_STRING (static biome cache, newly cleared)
  • DhClientLevel.reloadPos(long) (soft-reload hook)

### Delayed refresh scheduler

  • Introduced a generation-token scheduler to prevent stale delayed jobs from firing after
a superseding event arrives.
  • Live season change: caches cleared immediately, then a single delayed visible refresh
fires after 12 ticks (Path C) or 35 ticks (Path B).
  • World load / rejoin: caches cleared immediately, then a single delayed refresh fires
after 50 ticks (Path C) or 35 ticks (Path B). No immediate GPU work on load.
  • Caches are cleared a second time immediately before the delayed refresh executes, to
flush any state accumulated during the wait window.

### Cache clearing

  • Added BIOME_BY_RESOURCE_STRING clearing alongside the existing tint cache clear.
Both fields are resolved from AbstractDhTintGetter at startup and cleared on every
refresh cycle.

### SeasonMetaTexture

  • Added SeasonMetaTexture singleton: registers two 1×1 textures (ssdh:season_meta
and ssdh:season_phase) with the client texture manager.
  • Updated every client tick by SSCompat; zeroed on world exit.
  • Intended for custom shaders or resource packs that want to sample the current season
and phase without parsing text.
# Serene Seasons X Distant Horizons

A small compatibility mod for Minecraft 1.21.1 (Fabric) that makes [Serene Seasons](https://modrinth.com/mod/serene-seasons) and [Distant Horizons](https://modrinth.com/mod/distanthorizons) play nicely together.

  • NOTE:**
_While this could work in single player, I built this out for a multiplayer instance and so it may not fully work. It wouldn't be a huge leap for someone to fork this for single player, though. Also, while I'm relatively confident it will work with 1.21.X versions, I'm only able to say I've tested it with 1.21.1._


## The Problem

If you've used both of these mods together, you've probably noticed it: the trees and grass in the distance look completely wrong for the current season. Green forests in the middle of autumn, orange leaves in summer.

## What It Does

Whenever the season changes, or when you join a world or travel between dimensions, the mod automatically updates Distant Horizons so that distant LODs show the correct seasonal colors.

If you ever notice colors are still off after a season change, the /ssdh-client reload command will force everything to refresh immediately.

## Requirements


## Installation

Drop the jar into your mods folder alongside Serene Seasons and Distant Horizons. No configuration required.

For server owners, installing the mod on your server as well unlocks the /ssdh season admin command for manually setting the current season.

## Commands

### Client-side (no permissions required)

| Command | Description |
|---|---|
| /ssdh-client status | Shows the current season and sub-season. |
| /ssdh-client skip | Skips forward to the next sub-season. Great for testing. Requires the mod on the server too. |
| /ssdh-client reload | Forces an immediate color refresh if something still looks off. |

### Server-side (operator level 2 required)

| Command | Description |
|---|---|
| /ssdh season <subseason> | Sets the season directly. Valid values: early_spring, mid_spring, late_spring, early_summer, mid_summer, late_summer, early_autumn, mid_autumn, late_autumn, early_winter, mid_winter, late_winter. |

## Notes

  • After a season change, distant LODs update gradually as you move around rather than all at once. This is intentional — it avoids a jarring visual pop. Most of the landscape will correct itself within a minute of normal play. If you want everything updated immediately, use /ssdh-client reload.
  • Client-side only. Safe to use on any server that has Serene Seasons installed.

## License

MIT — see [LICENSE](LICENSE)

## Source

[github.com/ItsThatNova/serene-seasons-x-distant-horizons](https://github.com/ItsThatNova/serene-seasons-x-distant-horizons)
Serene Seasons X Distant Horizons Icon
Download Serene Seasons X Distant Horizons
Select game version
Select platform