
Snow! Real Magic! ⛄
Not a magic mod. · Snow Gravity & Accumulation · Snow-covered blocks · Tweak snow behaviors
- Загрузки
- 7.1M
- Подписчики
- 1K
- Обновлён
- 20 августа 2026 г.
- Лицензия
- MIT
Опубликован 10 декабря 2022 г.
Snow! Real Magic! ⛄
A simple tweak mod that enriches the vanilla snow layer's behavior.
Features
With this mod you can:
- Place snow and a fence/wall/tall grass in the same block!
- Enjoy snow-covered slabs, stairs, walls, fences and fence gates — they can also generate naturally in the world!
- Watch snow layers fall like sand. Falling snow that touches a water source turns into ice
- See snow layers pile up during a snowstorm (thunder) — or during any snowfall
- Walk on snow layers with a thinner collision box, just like in Bedrock Edition
- Land softly on snow: the more layers, the less fall damage
- Place blocks into snow directly — snow is always replaceable as long as it is not a full layer
- Right-click snow with a shovel, or sneak + right-click with an empty hand, to scrape off a snowball (consumes one layer)
- Right-click a snow-covered block with both hands empty to toggle its fancy snow overlay
- Make snow never melt, make it melt in warm biomes, or let it melt away naturally over time
- And more!
All features can be toggled in the config.
Joke feature
Two game rules, snowrealmagic:blizzardStrength (1–8, max layers) and snowrealmagic:blizzardFrequency (N/10000 per tick per chunk), make snow blocks fall from the sky. Have fun!
Customization
Tweaking behavior with block tags
Datapacks can change which blocks interact with snow by adding to the mod's block tags. To append entries, create the file under the snowrealmagic namespace in your datapack, e.g. data/snowrealmagic/tags/block/containables.json:
(Also see Editing tags using KubeJS)
{
"values": [
"mymod:my_flower",
{
"id": "#mymod:my_pebbles",
"required": false
}
]
}
Available tags:
- containables: Blocks that snow can be placed into, turning them snow-covered. (Default:
plants,offset_y,expand_modeland#c:chains) - not_containables: Blacklist. Blocks here can never contain snow, even if they are in
containables. (Default:#minecraft:leaves) - plants: Plants that become snowy plants when snow covers them. Compared to #containables, it will be able to be detected by shaderpacks to make them swing, but as far as I know, no shaderpacks support this yet. (Default: dead bush, flowers, saplings, mushrooms, etc.)
- entity_inside: Snow-covered blocks that keep their touch effects, e.g. wither rose damage. (Default: wither rose, sweet berry bush)
- animate_tick: Snow-covered blocks that keep their ambient particles, e.g. firefly bush. (Default: wither rose, open eyeblossom, dry grass, firefly bush)
- offset_y: Flat blocks that are rendered slightly raised when snow-covered, to avoid z-fighting with the snow layer. (Default: pebbles, twigs and similar decorations from supported mods)
- expand_model: Blocks whose model should be treated as a full cube when snow-covered. Used for compat with mods like vertical slabs.
- cannot_accumulate_on: Snow will not naturally accumulate on top of these blocks. (Default: hay block, slabs)
Custom snowy models with .mcmeta
Resource packs can change how a block looks when it is snow-covered. Add a .json.mcmeta file next to the block's model file with an srm section pointing to the model to use instead. For example, assets/minecraft/models/block/dandelion.json.mcmeta:
{
"srm": {
"model": "mypack:block/snowy_dandelion"
}
}
The snowy model is a regular block model. For cross-shaped foliage you can parent the built-in template, which renders the plant together with a snow overlay:
{
"parent": "snowrealmagic:block/snowy_cross",
"textures": {
"cross": "block/dandelion",
"snow": "mypack:block/snowy_dandelion"
}
}
For double-height plants such as tall grass, put the mcmeta on the top-half model and add an overrideBlocks list with the block ID, so the upper half also renders snowy:
{
"srm": {
"model": "mypack:block/snowy_tall_grass_top",
"overrideBlocks": ["minecraft:tall_grass"]
}
}
This feature requires the client config snowVariants to be enabled (it is by default).
Uninstalling
Before removing the mod, you may want to enable snow-cover.restoreOriginalBlocks in the config. Snow-covered blocks will then be restored to their original blocks as chunks load, leaving no modded blocks behind.
Configuration
Common
- snowGravity (default: true): Snow layer falls like sand. [Performance impact: low]
- snowMakingIce (default: true): Falling snow becomes ice when it touches water. [Performance impact: none]
- snowAlwaysReplaceable (default: true): Snow layer can always be replaced by other blocks, as long as it is not full. [Performance impact: none]
- thinnerBoundingBox (default: true): Shrink the collision box of the snow layer. [Performance impact: none]
- snowNeverMelt (default: false): Snow layer never melts. [Performance impact: none]
- snowSpawnMaxLightLevel (default: 9): Maximum light level for snow to spawn. [Performance impact: none]
- snowPersistMaxLightLevel (default: 11): Maximum light level for snow to not melt. [Performance impact: none]
- snowReduceFallDamage (default: true): Reduce fall damage when landing on snow, depending on the snow layers. [Performance impact: none]
- sustainGrassIfLayerMoreThanOne (default: true): Prevents grass block from turning into dirt when snow layer is more than 1. [Performance impact: none]
- sneakSnowball (default: true): Sneak+use on snow layer to obtain snowball, consuming one layer of snow. [Performance impact: none]
- fancySnowOnUpperSlab (default: true): Snow layer on upper slab will render snow overlay on the side of the slab. [Performance impact: low]
- rightClickToggleFancySnow (default: true): Right click with empty hands to toggle the fancy snow overlay on any snow layer. [Performance impact: none]
- mobSpawningMaxLayers (default: 8, range: 1–8): Maximum layers of snow for mobs to spawn. [Performance impact: none]
- snow-cover.placeSnowOnBlock (default: true): Snow can be placed on some blocks to make them snow-covered. [Performance impact: low]
- snow-cover.placeNaturally (default: true): Snow can be placed on some blocks not only by player, but also from snowfall or world generation. [Performance impact: low]
- snow-cover.replaceWorldgenFeature (default: true): Replace the vanilla world generation feature to also generate snow-covered blocks. [Performance impact: low]
- snow-cover.restoreOriginalBlocks (default: false): If you want to uninstall this mod, you can restore snow-covered blocks to their original blocks on chunk loaded. [Performance impact: low]
- accumulation.accumulatesDuringSnowfall (default: false): Snow layer accumulates during snowfall. [Performance impact: medium]
- accumulation.accumulatesDuringSnowstorm (default: true): Snow layer accumulates during thundering. [Performance impact: medium]
- accumulation.maxLayers (default: 6, range: 0–9): Maximum layers of snow that can accumulate. 9 is unlimited. [Performance impact: low]
- accumulation.snowAndIceMeltInWarmBiomes (default: false): Snow and ice will melt in warm biomes. [Performance impact: low]
- accumulation.naturalMelting (default: true): Snow melts with time if its layer is more than 1. [Performance impact: medium]
- accumulation.smoothAccumulation (default: true): Snow layer will accumulate and melt more smoothly. [Performance impact: low]
- integration.accumulationWinterOnly (default: false): If you have a mod that adds seasons, snow accumulation only happens in winter. [Performance impact: none]
Client
- particleThroughLeaves (default: true): Generates snowflake particles under snow that is above leaves. [Performance impact: low]
- snowVariants (default: true): Some snow-covered foliage will be rendered differently. [Performance impact: low]
Ченджлог
26.0.4+neoforgeРелиз26.1, 26.1.1, 26.1.2 · 20 августа 2026 г.
26.0.4
- build: add missing dependencies jarjar 2
- build: add missing dependencies jarjar
26.0.3
- fix: 8-layer snow block shade brightness
- fix(neoforge): wrap diagonal snow models
- fix
- Merge pull request #484 from Snownee/feature/26.1-neoforge
- build(neoforge): embed required Forgified Fabric modules
- build: fix CF mod id
- fix(neoforge): update platform and Kiwi registration
- fix(neoforge): resolve compile api drift
- build(neoforge): remove stale fabric resource expansion
- fix(neoforge): initialize client model hooks
- fix(neoforge): restore harvest mixin
- build(neoforge): migrate common events
- build(neoforge): update pack format
- build(neoforge): migrate access transformers
- build(neoforge): migrate mod metadata
- build(neoforge): migrate Gradle to NeoForge 26.1
- Update build.gradle for 26.1-fabric
- chore: update dependencies
26.0.2
- fix: snowy fence/wall connection
- fix: unlimited max snow layers is not working properly
26.0.1
- feat: re-add SereneSeasons integration
- feat: re-add diagonal blocks integration
26.0.0
- port part 4
- Revert "port part 3"
- port part 3
- port part 2
- port part 1
- fix: incorrect fence face culling
- chore: delete deprecated things
- fix: #461 again
- fix: random ticking creating grass blocks without snow overlay
- fix: some plants are converted to the wrong snow variant block
- port: part 5 (close #471)
- port: part 4
- port: part 3
- port: part 2
- port: part 1
12.2.0
26.0.3+fabricРелиз26.1, 26.1.1, 26.1.2 · 15 августа 2026 г.
26.0.3
- fix: 8-layer snow block shade brightness
- Update build.gradle for 26.1-fabric
- chore: update dependencies
26.0.2
- fix: snowy fence/wall connection
- fix: unlimited max snow layers is not working properly
26.0.1
- feat: re-add SereneSeasons integration
- feat: re-add diagonal blocks integration
26.0.0
- port part 4
- Revert "port part 3"
- port part 3
- port part 2
- port part 1
- fix: incorrect fence face culling
- chore: delete deprecated things
- fix: #461 again
- fix: random ticking creating grass blocks without snow overlay
- fix: some plants are converted to the wrong snow variant block
- port: part 5 (close #471)
- port: part 4
- port: part 3
- port: part 2
- port: part 1
12.2.0
- Merge pull request #467 from SettingDust/fix/issues
- fix: gigantic water by falling snow
- fix: drop the resource when contained state destroyed by neighbor update
- fix: handle the block light for stair and slab
- Update ja_jp.json (#453)
12.1.2
12.2.2+fabricРелиз1.21, 1.21.1 · 26 июня 2026 г.
12.2.2
- fix: unlimited max snow layers is not working properly
- fix: snowy fence/wall connection
- fix: some plants are converted to the wrong snow variant block
- fix: random ticking creating grass blocks without snow overlay
- fix: #461 again
12.2.0
- Merge pull request #467 from SettingDust/fix/issues
- fix: gigantic water by falling snow
- fix: drop the resource when contained state destroyed by neighbor update
- fix: handle the block light for stair and slab
- Update ja_jp.json (#453)
12.1.2
- feat: add new tag to fix z-fighting (close #435)
- fix: Snow is Invisible When Using render_type (close #444)
- fix: inconsistent behavior with vanilla when snowAlwaysReplaceable is off
12.0.8
- fix: lighting
12.0.7
- fix: light calculation (close #414)
12.0.6
- fix: #439
12.2.2+neoforgeРелиз1.21.1 · 26 июня 2026 г.
12.2.2
- fix: unlimited max snow layers is not working properly
- fix: snowy fence/wall connection
12.2.1
- fix: some plants are converted to the wrong snow variant block
- fix: random ticking creating grass blocks without snow overlay
- fix: #461 again
12.2.0
- Merge pull request #470 from Snownee/fix/issues-neoforge
- fix: gigantic water by falling snow
- fix: drop the resource when contained state destroyed by neighbor update
- fix: handle the block light for stair and slab
12.1.2
- fix: Snow is Invisible When Using render_type (close #444)
12.1.1
- fix: inconsistent behavior with vanilla when snowAlwaysReplaceable is off
- fix: lighting
- fix: light calculation (close #414)
12.1.0
26.0.2+fabricРелиз26.1, 26.1.1, 26.1.2 · 29 мая 2026 г.
26.0.2
- fix: snowy fence/wall connection
- fix: unlimited max snow layers is not working properly
26.0.1
- feat: re-add SereneSeasons integration
- feat: re-add diagonal blocks integration
26.0.0
- port part 4
- Revert "port part 3"
- port part 3
- port part 2
- port part 1
- fix: incorrect fence face culling
- chore: delete deprecated things
- fix: #461 again
- fix: random ticking creating grass blocks without snow overlay
- fix: some plants are converted to the wrong snow variant block
- port: part 5 (close #471)
- port: part 4
- port: part 3
- port: part 2
- port: part 1
12.2.0
- Merge pull request #467 from SettingDust/fix/issues
- fix: gigantic water by falling snow
- fix: drop the resource when contained state destroyed by neighbor update
- fix: handle the block light for stair and slab
- Update ja_jp.json (#453)
12.1.2
- feat: add new tag to fix z-fighting (close #435)
- fix: Snow is Invisible When Using render_type (close #444)
- fix: inconsistent behavior with vanilla when snowAlwaysReplaceable is off
12.0.8
- fix: lighting
26.0.1+fabricРелиз26.1, 26.1.1, 26.1.2 · 3 мая 2026 г.
26.0.1
- feat: re-add SereneSeasons integration
- feat: re-add diagonal blocks integration
26.0.0
- port part 4
- Revert "port part 3"
- port part 3
- port part 2
- port part 1
- fix: incorrect fence face culling
- chore: delete deprecated things
- fix: #461 again
- fix: random ticking creating grass blocks without snow overlay
- fix: some plants are converted to the wrong snow variant block
- port: part 5 (close #471)
- port: part 4
- port: part 3
- port: part 2
- port: part 1
12.2.0
- Merge pull request #467 from SettingDust/fix/issues
- fix: gigantic water by falling snow
- fix: drop the resource when contained state destroyed by neighbor update
- fix: handle the block light for stair and slab
- Update ja_jp.json (#453)
12.1.2
- feat: add new tag to fix z-fighting (close #435)
- fix: Snow is Invisible When Using render_type (close #444)
- fix: inconsistent behavior with vanilla when snowAlwaysReplaceable is off
12.0.8
- fix: lighting
12.0.7
- fix: light calculation (close #414)
26.0.0+fabricРелиз26.1, 26.1.1 · 2 апреля 2026 г.
26.0.0
- port part 4
- Revert "port part 3"
- port part 3
- port part 2
- port part 1
- fix: incorrect fence face culling
- chore: delete deprecated things
- fix: #461 again
- fix: random ticking creating grass blocks without snow overlay
- fix: some plants are converted to the wrong snow variant block
- port: part 5 (close #471)
- port: part 4
- port: part 3
- port: part 2
- port: part 1
12.2.0
- Merge pull request #467 from SettingDust/fix/issues
- fix: gigantic water by falling snow
- fix: drop the resource when contained state destroyed by neighbor update
- fix: handle the block light for stair and slab
- Update ja_jp.json (#453)
12.1.2
- feat: add new tag to fix z-fighting (close #435)
- fix: Snow is Invisible When Using render_type (close #444)
- fix: inconsistent behavior with vanilla when snowAlwaysReplaceable is off
12.0.8
- fix: lighting
12.0.7
- fix: light calculation (close #414)
12.0.6
- fix: #439
12.2.1+neoforgeБета1.21.1 · 5 февраля 2026 г.
12.2.1
- fix: some plants are converted to the wrong snow variant block
- fix: random ticking creating grass blocks without snow overlay
- fix: #461 again
12.2.0
- Merge pull request #470 from Snownee/fix/issues-neoforge
- fix: gigantic water by falling snow
- fix: drop the resource when contained state destroyed by neighbor update
- fix: handle the block light for stair and slab
12.1.2
- fix: Snow is Invisible When Using render_type (close #444)
12.1.1
- fix: inconsistent behavior with vanilla when snowAlwaysReplaceable is off
- fix: lighting
- fix: light calculation (close #414)
12.1.0
- feat: add new tag to fix z-fighting (close #435)
- Merge pull request #436 from SettingDust/fix/covered-render
12.0.4
- fix: null safety
Комментарии
Загружаем…
