Links
Tags
Creators
Details
Licensed MIT
Published 5 months ago
Updated 3 months ago
All versions
1.0.3
Release
Serene Seasons X Distant Horizons 1.0.33 months ago 3,779
Compatibility
Minecraft: Java Edition
1.21.1–1.21.11
Platform
Fabric
Supported environments
Client and server
Required content
Unavailable version
Unavailable version
Any compatible version
Changes
Changelog
1.0.3 - Architecture refactor + delayed refresh scheduler
DHCompat refactor
- Replaced reflection-based level access with DH public core interfaces:
ILevelWrapper.getDhLevel()replaces reflectedClientLevelWrapper.dhLevelfieldIClientLevelWrapper.clearBlockColorCache()replaces reflected call on the concrete wrapperDhSectionPos.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_STRINGclearing alongside the existing tint cache clear. Both fields are resolved fromAbstractDhTintGetterat startup and cleared on every refresh cycle.
SeasonMetaTexture
- Added
SeasonMetaTexturesingleton: registers two 1×1 textures (ssdh:season_metaandssdh: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.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:Zk33BG8E:6JXok4Bn"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Zk33BG8E:6JXok4Bn"
}

