Skip to content

Spectrum

Generated page, edit scripts/gen_schema_pages.py instead.

Spectrum recipes (1.20.1), pkl4mc dialect. Common optional fields: requiredAdvancement (gates the recipe), secret (hidden from the guidebook until crafted), requiredMods (fabric:load_conditions all_mods_loaded).

Usage

amends "@pkl4mc/spectrum_recipes.pkl"

Example

recipes
// Spectrum recipes - one example per type.
// Each entry becomes `<name>.json` under this file's directory.
// Common optional fields on every recipe: requiredAdvancement, secret, description, requiredMods.
amends "@pkl4mc/spectrum_recipes.pkl"

// Drop items onto an anvil, smash with falling damage.
anvil_crushing {
  new {
    name = "example_crush_gravel"
    input { item = "minecraft:gravel" }
    output { item = "minecraft:flint" }
    crushedItemsPerPointOfDamage = 1
    experience = 0.1
    particleEffect = "cloud"
    soundEvent = "block.gravel.break"
  }
}

// Cinderhearth smelting with bonus-chance outputs.
cinderhearth {
  new {
    name = "example_cinder_copper"
    input { tag = "c:copper_ores" }
    outputs {
      new { item = "minecraft:copper_ingot"; count = 2 }
      new { item = "minecraft:raw_gold"; chance = 0.1 }
    }
    experience = 0.5
    time = 100
  }
}

// Grow crystal clusters from an item on the crystallarieum.
crystallarieum {
  new {
    name = "example_grow_quartz"
    input { item = "minecraft:quartz" }
    growthStages {
      "spectrum:small_quartz_bud[facing=up]"
      "spectrum:large_quartz_bud[facing=up]"
      "spectrum:quartz_cluster[facing=up]"
    }
    secondsPerGrowthStage = 60
    inkColor = "spectrum:white"
    inkCostTier = 1
    catalysts {
      new {
        input { item = "spectrum:shimmerstone_gem" }
        growthAccelerationMod = 2.0
        inkConsumptionMod = 0.5
        consumeChancePerSecond = 0.01
      }
    }
  }
}

// Item-in-fluid conversions - same shape for all five fluids.
dragonrot_converting {
  new {
    name = "example_dragonrot_bone"
    input { item = "minecraft:bone" }
    output { item = "minecraft:bone_meal"; count = 3 }
  }
}

liquid_crystal_converting {
  new {
    name = "example_crystal_lily"
    secret = true
    requiredAdvancement = "spectrum:midgame/collect_resonant_lily"
    input { tag = "minecraft:small_flowers" }
    output { item = "spectrum:resonant_lily" }
  }
}

midnight_solution_converting {
  new {
    name = "example_midnight_rose"
    input { item = "minecraft:rose_bush" }
    output { item = "minecraft:wither_rose"; count = 2 }
  }
}

mud_converting {
  new {
    name = "example_mud_clay"
    input { item = "minecraft:sand" }
    output { item = "minecraft:clay_ball" }
  }
}

primordial_fire_burning {
  new {
    name = "example_burn_log"
    input { tag = "minecraft:logs" }
    output { item = "minecraft:charcoal" }
  }
}

// 9 inputs: center first, then clockwise.
enchanter {
  new {
    name = "example_enchant_book"
    time = 400
    requiredExperience = 100
    requiredMods { "create" }
    inputs {
      new { item = "minecraft:book" }
      new { item = "spectrum:blue_pigment" }
      new { item = "minecraft:lapis_lazuli" }
      new { item = "spectrum:blue_pigment" }
      new { item = "minecraft:lapis_lazuli" }
      new { item = "spectrum:blue_pigment" }
      new { item = "minecraft:lapis_lazuli" }
      new { item = "spectrum:blue_pigment" }
      new { item = "minecraft:lapis_lazuli" }
    }
    output { item = "minecraft:enchanted_book" }
    outputNbt {
      StoredEnchantments {
        new { id = "minecraft:respiration"; lvl = "1s" }
      }
    }
  }
}

// Per-level upgrade costs at the enchanter.
enchantment_upgrade {
  new {
    name = "example_upgrade_efficiency"
    enchantment = "minecraft:efficiency"
    levels {
      new { experience = 100; item = "spectrum:yellow_pigment"; count = 8 }
      new { experience = 400; item = "spectrum:yellow_pigment"; count = 32 }
    }
  }
}

fusion_shrine {
  new {
    name = "example_fuse_echo"
    time = 200
    experience = 1.0
    fluid = "minecraft:water"
    inputs {
      new { item = "minecraft:sculk_shrieker" }
      new { item = "minecraft:amethyst_shard"; count = 4 }
    }
    worldConditions {
      new { type = "time_of_day"; time = "night" }
    }
    startEffect = "single_visual_explosion_on_shrine"
    finishEffect = "visual_explosions_on_shrine"
    output { item = "minecraft:echo_shard"; count = 2 }
  }
}

// Item converts into ink when dropped into the color picker.
ink_converting {
  new {
    name = "example_ink_lapis"
    input { item = "minecraft:lapis_lazuli" }
    inkColor = "spectrum:blue"
    amount = 100
  }
}

// Shaped crafting on the pedestal; color fields = gemstone powder costs.
pedestal {
  new {
    name = "example_pedestal_lantern"
    time = 200
    tier = "simple"
    yellow = 2
    experience = 1.0
    key {
      ["G"] { item = "minecraft:glowstone_dust" }
      ["A"] { item = "minecraft:amethyst_shard" }
    }
    pattern {
      " G "
      "GAG"
      " G "
    }
    output { item = "minecraft:lantern"; count = 2 }
  }
}

potion_workshop_brewing {
  new {
    name = "example_brew_luck"
    ingredient1 { item = "minecraft:nether_wart" }
    ingredient2 { item = "minecraft:rabbit_foot" }
    ingredient3 { item = "minecraft:gold_nugget" }
    effect = "minecraft:luck"
    baseDurationTicks = 3600
    potencyModifier = 1.0
  }
}

potion_workshop_crafting {
  new {
    name = "example_craft_glow_ink"
    baseIngredient { item = "minecraft:ink_sac" }
    color = 0x2FE0C6
    ingredient1 { item = "minecraft:glowstone_dust"; count = 2 }
    output { item = "minecraft:glow_ink_sac" }
  }
}

// Reagent thrown into a brewing potion modifies it.
potion_workshop_reacting {
  new {
    name = "example_react_redstone"
    item = "minecraft:redstone"
    modifiers {
      duration_multiplier = 2.0
    }
  }
}

spirit_instiller {
  new {
    name = "example_instill_budding"
    time = 200
    experience = 2.0
    ingredient1 { item = "minecraft:amethyst_block" }
    ingredient2 { item = "minecraft:amethyst_block" }
    centerIngredient { item = "spectrum:vegetal"; count = 4 }
    output { item = "minecraft:budding_amethyst" }
  }
}

// Age items in the barrel with a fluid for real-world hours.
titration_barrel {
  new {
    name = "example_ferment_wine"
    inputs {
      new { item = "minecraft:sweet_berries"; count = 16 }
      new { item = "minecraft:sugar"; count = 4 }
    }
    minFermentationTimeHours = 12
    fluid = "minecraft:water"
    output { item = "spectrum:aged_wine"; count = 4 }
  }
}