A companion mod for Nova Reimagined shader pack that provides accurate per-block biome snow detection and snow texture variant support.
Nova Reimagined includes a shader-driven snow system that applies a snow appearance to surfaces in snowy biomes. Without this mod, the shader uses inSnowy - a player-position-based smoothed value - which causes snow tinting to visibly bleed across biome borders into adjacent warm biomes.
Nova Reimagined Snow solves this by building a per-block-column biome eligibility map on the GPU each time chunks load. The shader samples this map using exact world XZ coordinates, giving pixel-accurate biome boundaries with zero bleed.
The mod resolves up to four snow surface textures from your active resource pack stack and publishes them for the shader to use when painting snow onto terrain surfaces, paths, and other accent blocks.
inSnowycompsnow-<version>.jar in your mods/ folderThe mod resolves up to four snow surface textures and publishes them to the shader as:
compsnow:snow_variant_0compsnow:snow_variant_1compsnow:snow_variant_2compsnow:snow_variant_3The shader hashes each block's world position to assign one of the four variants, distributing them naturally across the terrain. All four slots are used if populated - slot order matters.
Texture sourcing is configured via config/compsnow_snow_variants.json, which is created automatically on first launch.
Auto (default)
The mod scans your active resource pack stack for snow textures and fills the four slots automatically. This is the recommended mode for most users - install a snow resource pack and the mod handles the rest. Any unfilled slots fall back to vanilla minecraft:textures/block/snow.png.
Manual_Override
You specify exactly which textures fill each slot using resource identifier paths. Useful if Auto picks up the wrong textures, or if you want to mix textures from different packs. Any slot left as "" falls back to vanilla snow.
Paths follow the standard Minecraft resource identifier format:
namespace:textures/path/to/texture.png
The namespace is the resource pack's namespace (usually minecraft for vanilla-replacing packs, or a mod/pack-specific namespace). The path is relative to the root of the pack's assets/ folder.
Example using Alacrity snow textures:
{
"mode": "Manual_Override",
"manualVariants": [
"minecraft:textures/block/nature/snow/snow_1.png",
"minecraft:textures/block/nature/snow/snow_2.png",
"minecraft:textures/block/nature/snow/snow_3.png",
"minecraft:textures/block/nature/snow/snow_4.png"
]
}
Changes take effect after reloading resource packs (F3+T) - a full restart is not required.