Skip to content

Jewel Crafting Recipe

The Jewel Crafting recipe is used to craft various jewelry and decorative items.

Basic Structure

js
ServerEvents.recipes(event => {
  event.custom({
    type: "anvilcraft:jewel_crafting",
    ingredients: [
      {
        tag: "forge:gems/diamond"
      },
      {
        tag: "forge:ingots/gold"
      },
      {
        tag: "forge:ingots/gold"
      }
    ],
    result: {
      id: "anvilcraft:amber_block",
      count: 1
    }
  })
})

Utility Methods

js
ServerEvents.recipes(event => {
  // Jewel crafting recipe - different constructor parameter combinations
  event.recipes.anvilcraft.jewel_crafting("anvilcraft:diamond_to_amber") // ID only
  
  event.recipes.anvilcraft.jewel_crafting(
    [                                      // Input materials list
      { tag: "forge:gems/diamond" },
      { tag: "forge:ingots/gold" },
      { tag: "forge:ingots/gold" }
    ],
    { id: "anvilcraft:amber_block", count: 1 } // Output
  )
})

KubeJS Style Builder

js
ServerEvents.recipes(event => {
  event.recipes.anvilcraft.jewel_crafting()
    .requires("#forge:gems/diamond")     // Add material
    .requires("#forge:ingots/gold", 2)   // Add 2 gold ingots
    .result("anvilcraft:amber_block")    // Set result
})

Parameter Descriptions

ingredients (Input Materials)

List of input materials, each element is a standard Minecraft recipe ingredient:

  • Can be an item ID, such as "minecraft:diamond"
  • Can be a tag, such as "#forge:gems/diamond"
  • Can be a complex ingredient object

result (Output Item)

The output item of the recipe:

  • id: Item ID
  • count: Item count

Practical Examples

Simple Jewel Crafting

js
ServerEvents.recipes(event => {
  // Craft amber block with diamond and 2 gold ingots
  event.recipes.anvilcraft.jewel_crafting()
    .requires("minecraft:diamond")
    .requires("#forge:ingots/gold", 2)
    .result("anvilcraft:amber_block")
})

Complex Jewel Crafting

js
ServerEvents.recipes(event => {
  // Craft royal crown with multiple materials
  event.recipes.anvilcraft.jewel_crafting()
    .requires("#forge:gems/emerald", 3)
    .requires("#forge:ingots/gold", 5)
    .requires("minecraft:nether_star")
    .result("anvilcraft:royal_crown")
})

Using Vanilla Recipe Ingredients

You can also use standard Minecraft recipe ingredient format:

js
ServerEvents.recipes(event => {
  event.recipes.anvilcraft.jewel_crafting()
    .requires({
      type: "minecraft:item",
      item: "minecraft:diamond"
    })
    .requires({
      tag: "forge:ingots/gold"
    }, 2)
    .result("anvilcraft:amber_block")
})

Notes

  1. Jewel crafting recipe can accept any number of input materials
  2. The order of materials does not affect recipe matching
  3. Item tags can be used to increase recipe flexibility
  4. Output item can only be one, unlike other recipe types that can have multiple outputs

Released under the CC-BY-NC-SA 4.0 License.