Malum
Generated page, edit
scripts/gen_schema_pages.py instead.Malum recipes (1.20.1), pkl4mc dialect.
Ground truth for the shared “ingredient with count” wrapper (Lodestone library’s IngredientWithCount, used by spirit_infusion, runeworking, spirit_repair, and both node-cooking recipes) came from decompiling lodestone-*.jar (Lodestone isn’t cloned alongside Malum), its JSON is just the ingredient’s own item/tag object with a count property merged in, which is exactly common.In’s own shape, so no wrapper class needed.
Usage
amends "@pkl4mc/malum_recipes.pkl"Example
recipes
// Malum recipes - one example per type.
// Each entry becomes `<name>.json` under this file's directory.
amends "@pkl4mc/malum_recipes.pkl"
spirit_infusion {
new {
name = "example_spirit_infusion_soulstone"
input { item = "minecraft:amethyst_shard" }
output { item = "malum:soulstone" }
spirits { new { type = "malum:wicked" } new { type = "malum:sacred" } }
extraItems { new { item = "minecraft:redstone"; count = 4 } }
}
}
runeworking {
new {
name = "example_runeworking_rune_blank"
primaryInput { item = "minecraft:diorite" }
secondaryInput { item = "malum:wicked_shard"; count = 2 }
output { item = "malum:rune_blank" }
}
}
spirit_focusing {
new {
name = "example_spirit_focusing_wicked_shard"
time = 200
durabilityCost = 10
input { item = "minecraft:coal" }
output { item = "malum:wicked_shard" }
spirits { new { type = "malum:wicked"; count = 2 } }
}
}
spirit_repair {
new {
name = "example_spirit_repair_soul_tools"
durabilityPercentage = 0.25
itemIdRegex = "soulstone_.*"
repairMaterial { item = "malum:soulstone"; count = 1 }
spirits { new { type = "malum:sacred" } }
}
}
spirit_transmutation {
new {
name = "example_spirit_transmutation_coal_to_charcoal"
input { item = "minecraft:coal" }
output { item = "minecraft:charcoal" }
}
}
favor_of_the_void {
new {
name = "example_favor_of_the_void_ender_pearl"
input { item = "minecraft:ender_pearl" }
output { item = "malum:void_favor" }
}
}
node_smelting {
new {
name = "example_node_smelting_iron"
ingredient { tag = "malum:iron_nodes" }
result { tag = "forge:nuggets/iron"; count = 3 }
experience = 0.3
}
}
node_blasting {
new {
name = "example_node_blasting_iron"
ingredient { tag = "malum:iron_nodes" }
result { tag = "forge:nuggets/iron"; count = 3 }
experience = 0.3
cookingTime = 50
}
}