Repository navigation
Datapack Murk Transforms
A fogged:murk_transform recipe converts something under the boundary into something else. It does the same thing as a line in the transforms config option (see Config Boundary), as a file that reloads, syncs to clients and shows in JEI.
Nothing about it is craftable. It never matches in a crafting table and never appears in the recipe book.
Location: data/<namespace>/recipe/<name>.json
| Field | Type | Default | Description |
|---|---|---|---|
type |
string | required | Always "fogged:murk_transform". |
from |
list of strings | required | What gets converted: ids, #tags, or * globs. You can mix them. Block entries convert placed blocks, item entries convert dropped stacks. |
to |
string | required | One id, with no tag or glob. A block replaces the placed block and keeps the properties the two share (facing, hinge, waterlogged…). An item that isn't a block makes the placed block break and drop that item. minecraft:air removes the block. |
count |
int 1–64 | 1 |
Stack only: how many are taken from a dropped stack per conversion. |
result_count |
int 1–64 | 1 |
How many are given back. For an item target on a placed block, this is how many drop. |
depth |
int 0–512 | 0 |
Only convert at least this many blocks below the surface. This moves with the boundary. |
silent |
bool | false |
When true, hides the recipe from JEI's "Murk Conversion" category. |
When count or result_count is above 1, placed blocks are never touched, because you can't take 4 of a block that is standing in one spot. The exception is an item target, where result_count is the drop count.
Iron doors rust away deep down:
{
"type": "fogged:murk_transform",
"from": ["minecraft:iron_door", "minecraft:iron_trapdoor"],
"to": "minecraft:air",
"depth": 30
}Every log rots into mud, hidden from JEI:
{
"type": "fogged:murk_transform",
"from": ["#minecraft:logs"],
"to": "minecraft:mud",
"silent": true
}Dropped gold nuggets fuse into ingots (9 → 1):
{
"type": "fogged:murk_transform",
"from": ["minecraft:gold_nugget"],
"count": 9,
"to": "minecraft:gold_ingot"
}A whole modded family with a glob:
{
"type": "fogged:murk_transform",
"from": ["create:*_casing"],
"to": "minecraft:mud",
"depth": 20
}Leaves break into sticks:
{
"type": "fogged:murk_transform",
"from": ["#minecraft:leaves"],
"to": "minecraft:stick"
}-
Config wins. If the
transformsconfig list and a recipe name the same block, the config line is used. -
Transforms beat the scour. A transform runs before the built-in removal, so it overrides it.
#fogged:scour_immunedoesn't stop transforms. - No chains. If a transform's result matches another rule, the result is converted again on the next pass. Don't point one rule at something another rule converts.
-
Master switches. Nothing converts when
enableTransformsorenableWorldChangesis off. - Optional mods. An id from a mod that isn't installed simply never matches. For a recipe that only makes sense with another mod, add a condition:
"neoforge:conditions": [{ "type": "neoforge:mod_loaded", "modid": "biomesoplenty" }]The mod's own packs use the fogged:pack_enabled condition, so their [datapacks] config switch can turn them off:
"neoforge:conditions": [{ "type": "fogged:pack_enabled", "pack": "copper_oxidation" }]pack takes one of: grass_scourch, moss_scourch, copper_oxidation, silverfish_suffocation, coal_remover. Any other name always passes.
Run /reload after editing.