Skip to content

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
  }
}