Repository navigation
Config Boundary
tturnover-home edited this page Oct 3, 2026
·
1 revision
This section sets where the boundary sits, how the murk behaves at it, and what it does to the world underneath.
| Option | Default | Range | Description |
|---|---|---|---|
dimensions |
["minecraft:overworld"] |
list | Dimensions the murk exists in. A dimension that isn't listed has no boundary at all. "*" means every dimension, and an empty list means none. Karst towers are placed by a biome modifier, so this list doesn't control them. |
planeHeightSchedule |
["0=-30", "10=40", "80=100"] |
list of day=height
|
Boundary Y over time. The height is interpolated linearly between the listed days and held at the ends. The day is dayTime / 24000. |
planeHeightCycle |
false |
When on, the schedule loops back and forth (0→10→80→10→0…). When off, the boundary holds the last height. | |
overdayOffsetNoon |
0.0 |
-256 – 256 | Offset added to the scheduled height at noon, the low point of the day. |
overdayOffsetMidnight |
4.0 |
-256 – 256 | Offset added at midnight, the high point of the day. The boundary eases between noon and midnight. |
fogDistance |
24 |
4 – 256 | How far you can see, in blocks, while the camera is under the boundary. |
fogStartRaise |
0.15 |
-8 – 8 | Where the murk starts, measured from the visible plane. The fog, the plane, weather suppression and mob suffocation all move with this value. The breathing boundary does not. |
flipFog |
false |
Puts the fog above the plane instead of below it. This changes the fog only. |
planeHeightSchedule = ["0=40", "30=70", "100=120"]
planeHeightCycle = false| Option | Default | Range | Description |
|---|---|---|---|
enableWorldChanges |
true |
Master switch for every block and item change below it. The fog and breathing are not affected. | |
worldChangeSkip |
5 |
0 – 64 | Dead zone: how many blocks just under the boundary are left alone. |
worldChangeDelaySeconds |
3 |
0 – 60 | How long a placed, grown or dropped thing steams before it changes. Fire, lava, torches and devices go out at once regardless. |
enableExtinguish |
true |
Puts fire out: loose fire vanishes, lava freezes to obsidian or cobble, torches drop, and devices are unlit. | |
snuffedDevices |
["simulated:*_portable_engine"] |
list | Extra burners to snuff. These are added to #fogged:snuffed_devices. To stop the built-in ones, turn off the Device Snuffing datapack or remove them from the tag. |
enableScour |
true |
Removes the blocks in scouredBlocks without drops, and turns farmland back to dirt. |
|
scouredBlocks |
[] |
list | Extra blocks to remove. These are added to #fogged:scoured. To spare a block, add it to #fogged:scour_immune. |
scourAllPlants |
true |
Removes every plant from any mod, judged by what the block is rather than by its id. Needs enableScour. |
|
enableTransforms |
true |
Master switch for transforms and for the datapack conversions. |
|
transforms |
[] |
list | This world's own conversions. See below. |
[count] from = [count] to [@depth] [!silent]
-
from: an id, a
*glob, a#tag, or several of these separated by commas. A block entry converts placed blocks, an item entry converts dropped stacks, and an entry that names both does both. - to: one id, with no glob or tag. If it's a block, the placed block is swapped and keeps the properties the two blocks share (facing, hinge and so on). If it's an item that isn't a block, the block breaks and drops that item.
- counts: these only apply to dropped stacks, at most 64 each. An entry with counts doesn't touch placed blocks. The exception is a count on an item target, which sets how many drop.
- @N: only convert at N or more blocks below the surface. This moves with the boundary. The maximum is 512.
- !silent: hide the entry from JEI. Other entries show there under "Murk Conversion".
transforms = [
"copper_block=oxidized_copper",
"moss_block=coarse_dirt @50",
"4 minecraft:diamond=2 minecraft:dirt",
"#minecraft:leaves=1 minecraft:stick !silent",
"create:*_casing=minecraft:mud @20",
"copper_block,exposed_copper=oxidized_copper"
]Entries here run before the built-in scour, so they override it. Don't point one rule's output at something another rule converts, because it will be converted again on the next pass.
You can ship the same conversions as recipes instead, at data/<ns>/recipe/<name>.json:
{
"type": "fogged:murk_transform",
"from": ["minecraft:copper_block"],
"to": "minecraft:oxidized_copper",
"depth": 0,
"silent": false
}Recipes reload with /reload. If a recipe and the config list name the same block, the config list wins.