Snow! Real Magic! ⛄
snow-real-magic · 8090373 downloads · MIT
client: required · server: required (declared by the mod author)
Not a magic mod. · Snow Gravity & Accumulation · Snow-covered blocks · Tweak snow behaviors
Description
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.
<details> <summary>Joke feature</summary>
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!
</details>
Customization
<details> <summary>Tweaking behavior with block tags</summary>
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)
</details>
<details> <summary>Custom snowy models with .mcmeta</summary>
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).
</details>
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
<details> <summary>Common</summary>
- 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]
</details>
<details> <summary>Client</summary>
- 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]
</details>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/TEy0a-Yu-Ak" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
Versions (60)
| Version | Minecraft | Loaders | File |
|---|---|---|---|
12.2.4+fabric |
1.21, 1.21.1 | fabric, quilt | download |
12.2.3+fabric |
1.21, 1.21.1 | fabric, quilt | download |
12.2.3+neoforge |
1.21.1 | neoforge | download |
26.0.4+neoforge |
26.1, 26.1.1, 26.1.2 | neoforge | download |
26.0.3+fabric |
26.1, 26.1.1, 26.1.2 | fabric, quilt | download |
12.2.2+fabric |
1.21, 1.21.1 | fabric, quilt | download |
12.2.2+neoforge |
1.21.1 | neoforge | download |
26.0.2+fabric |
26.1, 26.1.1, 26.1.2 | fabric, quilt | download |
26.0.1+fabric |
26.1, 26.1.1, 26.1.2 | fabric, quilt | download |
26.0.0+fabric |
26.1, 26.1.1 | fabric, quilt | download |
10.7.0 |
1.20, 1.20.1 | forge, neoforge | download |
10.7.0 |
1.20, 1.20.1 | fabric, quilt | download |
12.2.0+neoforge |
1.21.1 | neoforge | download |
12.2.0+fabric |
1.21, 1.21.1 | fabric, quilt | download |
10.6.5 |
1.20, 1.20.1 | forge, neoforge | download |
12.1.2+fabric |
1.21, 1.21.1 | fabric, quilt | download |
12.1.2+neoforge |
1.21.1 | neoforge | download |
12.1.1+neoforge |
1.21.1 | neoforge | download |
10.6.4 |
1.20, 1.20.1 | fabric, quilt | download |
10.6.4 |
1.20, 1.20.1 | forge, neoforge | download |
10.6.3 |
1.20, 1.20.1 | fabric, quilt | download |
10.6.2 |
1.20, 1.20.1 | fabric, quilt | download |
12.0.8+fabric |
1.21, 1.21.1 | fabric, quilt | download |
12.0.7+fabric |
1.21, 1.21.1 | fabric, quilt | download |
10.6.2 |
1.20, 1.20.1 | forge, neoforge | download |
12.0.6+fabric |
1.21, 1.21.1 | fabric, quilt | download |
10.5.2 |
1.20, 1.20.1 | forge, neoforge | download |
11.0.7+fabric |
1.21, 1.21.1 | fabric, quilt | download |
10.5.2 |
1.20, 1.20.1 | fabric, quilt | download |
11.0.6+fabric |
1.21, 1.21.1 | fabric, quilt | download |
11.0.5+fabric |
1.21, 1.21.1 | fabric, quilt | download |
11.0.4+fabric |
1.21, 1.21.1 | fabric, quilt | download |
11.0.3+fabric |
1.21, 1.21.1 | fabric, quilt | download |
10.2.7 |
1.20, 1.20.1 | forge, neoforge | download |
10.2.7 |
1.20, 1.20.1 | fabric, quilt | download |
9.1.2 |
1.20, 1.20.1 | fabric | download |
9.1.2 |
1.20, 1.20.1 | forge | download |
9.1.1 |
1.20, 1.20.1 | forge | download |
9.1.0 |
1.20, 1.20.1 | fabric | download |
9.0.4 |
1.20, 1.20.1 | fabric | download |
9.0.3 |
1.20, 1.20.1 | fabric | download |
9.0.2 |
1.20, 1.20.1 | fabric | download |
6.5.4 |
1.19.2 | forge | download |
9.0.2 |
1.20, 1.20.1 | forge | download |
9.0.1 |
1.20, 1.20.1 | fabric | download |
5.1.2 |
1.19.2 | fabric | download |
9.0.1 |
1.20, 1.20.1 | forge | download |
6.5.3 |
1.19.2 | forge | download |
6.5.2 |
1.19.2 | forge | download |
9.0.0 |
1.20, 1.20.1 | fabric | download |
9.0.0 |
1.20, 1.20.1 | forge | download |
8.0.2 |
1.19.4 | forge | download |
6.5.1 |
1.19.2 | forge | download |
5.1.1 |
1.19.2 | fabric | download |
8.0.1 |
1.19.4 | fabric | download |
8.0.1 |
1.19.4 | forge | download |
8.0.0 |
1.19.4 | forge | download |
8.0.0 |
1.19.4 | fabric | download |
7.4.0 |
1.19.3 | fabric | download |
6.5.0 |
1.19.2 | forge | download |
