This mod converts normal fire light sources to soul fire light sources under three conditions:
- It is cold enough to snow.
- It is dark enough to sleep.
- The light source is exposed to enough sky light.
In practice, this means that in snowy biomes, light sources such as torches and lanterns will be converted to soul torches and soul lanterns when outside at night, or during thunderstorms. Though, the bounds of "outside" remain fuzzy and imperfect. During world generation, light sources in applicable circumstances will be automatically converted, so for instance when you walk into a snowy village, the torches and lanterns that normally generate should already be in their soul forms.
This mod also has built-in support for the excellent Soul Candles mod. Converting Jack o'Lanterns to soul Jack o'Lanterns is however not supported, admittedly due mainly to technical limitations, but feel free to imagine whatever lore to justify it.
Extended Biome Support
By default, counter to what one might expect, Creeping Chill does not convert fire light sources to soul fire light sources in soul sand valleys. This however can be enabled by adding it, or any other biome, to the creeping-chill:is_always_creeping
biome tag. Doing so will make it so fire light sources will always convert to soul fire light sources, regardless of biome temperature or sky light level, or any other factors.
For instance, to apply this tag to soul sand valleys, one would create a file in their data pack at my-epic-data-pack/data/creeping-chill/tags/worldgen/biome/is_always_creeping.json
with the following contents:
{
"replace": false,
"values": [
"minecraft:soul_sand_valley"
]
}
Custom Soul Conversions
Creeping Chill also allows users to provide their own custom soul conversions, that is, a conversion from a fire light source to a soul fire light source. This is handled via the creeping-chill:soul_conversion
dynamic registry, and is how the support for the Soul Candles mod is implemented.
To add a custom conversion, for the sake of example let's say from a redstone torch to a soul torch, one would create a file in their data pack at my-epic-data-pack/data/my-epic-namespace/creeping-chill/soul_conversion/redstone_torch.json
, with the following contents:
{
"input": {
"Name": "minecraft:redstone_torch",
"Properties": {
"lit": true
}
},
"output": {
"Name": "minecraft:soul_torch"
}
}
Using this as-is will work, but it would error if either minecraft:redstone_torch
or minecraft:soul_torch
did not exist. That isn't really a consideration for vanilla blocks, but it is for blocks that are added by mods. So for instance if, instead of a redstone torch, you wanted to add a conversion for some mod's own their-epic-mod:their_epic_torch
(which let's say can be either lit or unlit), but without requiring that that mod is installed, you could add a required
field set to false
in the conversion, like so:
{
"required": false,
"input": {
"Name": "their-epic-mod:their_epic_torch",
"Properties": {
"lit": true
}
},
"output": {
"Name": "minecraft:soul_torch"
}
}
This would then only become active if their-epic-mod:their_epic_torch
in fact exists in the game.
Do keep in mind however, that since the sky light test for soul conversions is performed inside the to-be-converted block, blocks which block skylight will not end up being converted, since the sky light level at their positions will always be 0.