Overview

Type Crafting Station Description
shapedCrafting Table3x3 grid with specific item layout
shapelessCrafting TableAny arrangement, up to 9 ingredients
furnaceFurnaceStandard furnace smelting
blastingBlast FurnaceBlast furnace smelting (2x speed)
smokingSmokerSmoker cooking (2x speed)
campfireCampfireCampfire cooking (slow, no fuel)
stonecuttingStonecutterSingle input, one output
smithing_transformSmithing TableTemplate + base + addition
adjacent_pairCrafting TableTwo items placed side by side
brewingBrewing StandIngredient + bottle → custom potion NEW v0.1.5

Auto-Unlock (auto_unlock_on)

Every recipe type below supports the auto_unlock_on field, which controls when the recipe appears in a player's recipe book. LumenSmith watches every way a player can acquire an item; the moment a trigger material lands in their inventory, the recipe shows up. No relog, no /ls reload needed.

Default behaviour (no field set)

If you omit auto_unlock_on, the plugin auto-derives the trigger list from the recipe's ingredients. The recipe appears as soon as the player obtains any ingredient it needs. This is the right default for 90% of recipes.

Custom trigger list

Add a YAML list to hide a recipe behind a different milestone. The player only sees it after picking up one of the materials you list. Mix as many trigger materials as you like.

- key: "ancient_blade"
  type: "shaped"
  shape:
    - " D "
    - " D "
    - " S "
  ingredients:
    D: "DIAMOND"
    S: "STICK"
  result:
    item: "DIAMOND_SWORD"
    name: "&6Ancient Blade"
  auto_unlock_on:     # ignore ingredients, gate on something rarer
    - ANCIENT_DEBRIS
    - NETHERITE_SCRAP

What counts as "obtaining" a trigger

The plugin unlocks the recipe instantly (same tick) for all of these paths:

If a recipe ever feels out of sync (rare, but it happens after manual config edits), run /ls fixbook. It re-discovers every LumenSmith recipe for every online player.

Picking triggers from the GUI

The Knowledge Book button in the in-game editor (slot 40) lets you skip YAML entirely. Click it, then click materials in your inventory to add them as triggers. Right-click to clear the list and fall back to the auto-from-ingredients default. See the full GUI walkthrough in Using the In-Game GUI.

Adjacent-pair recipes

Adjacent-pair recipes register multiple internal placements (one per rotation). All placements share a recipe group, so when one is unlocked the recipe book shows all rotations as a single cyclable entry. You don't need to do anything special; the auto-unlock works the same way as for any other type.

Shaped Recipe

A shaped recipe uses a 3x3 crafting grid where each slot maps to a specific ingredient. The shape field defines the pattern using letters, and the ingredients map assigns materials to each letter.

- key: "ender_eye_bundle"
  type: "shaped"
  shape:
    - "ABC"
    - "DEF"
    - "GHI"
  ingredients:
    A: "ECHO_SHARD"
    B: "PRISMARINE_CRYSTALS"
    C: "BLAZE_POWDER"
    D: "RESIN_CLUMP"
    E: "ENDER_PEARL"
    F: "NETHERITE_UPGRADE_SMITHING_TEMPLATE"
    G: "HEART_OF_THE_SEA"
    H: "WIND_CHARGE"
    I: "TOTEM_OF_UNDYING"
  result:
    item: "ENDER_EYE"
    amount: 12
  auto_unlock_on: ["ENDER_PEARL"]
Use a space character (" ") in the shape to leave a slot empty. Example: [" D ", " D ", " S "]

Shapeless Recipe

A shapeless recipe doesn't care about arrangement. Players can place the ingredients in any slot. Supports up to 9 ingredients.

- key: "cheap_torch"
  type: "shapeless"
  ingredients: ["STICK", "COAL"]
  result:
    item: "TORCH"
    amount: 8
  auto_unlock_on: ["COAL", "CHARCOAL"]

Furnace Recipe

Standard furnace smelting recipe with configurable experience and cooking time.

- key: "smelt_rotten_flesh"
  type: "furnace"
  input: "ROTTEN_FLESH"
  experience: 0.35
  cooking_time: 200          # ticks (200 = 10 seconds)
  result:
    item: "LEATHER"
    amount: 1
  auto_unlock_on: ["ROTTEN_FLESH"]

Cooking time reference

TicksSecondsTypical use
1005sQuick smelt
20010sStandard (vanilla default)
60030sCampfire cooking (vanilla)

Blasting Recipe

Blast furnace recipe. Works the same as furnace but only in a blast furnace (2x speed in vanilla).

- key: "blast_raw_iron"
  type: "blasting"
  input: "RAW_IRON"
  experience: 1.0
  cooking_time: 100
  result:
    item: "IRON_INGOT"
    amount: 2
    name: "&fRefined Iron"
  auto_unlock_on: ["RAW_IRON"]

Smoking Recipe

Smoker recipe for food items. Behaves like furnace but only works in a smoker.

- key: "smoke_apple"
  type: "smoking"
  input: "APPLE"
  experience: 2.0
  cooking_time: 100
  cooldown: 300                # 5-minute cooldown between crafts
  result:
    item: "GOLDEN_APPLE"
    amount: 1
    name: "&6Smoked Golden Apple"
  auto_unlock_on: ["APPLE"]

Campfire Recipe

Campfire cooking recipe. No fuel required, but typically has a longer cooking time.

- key: "campfire_kelp"
  type: "campfire"
  input: "KELP"
  experience: 0.1
  cooking_time: 600            # 30 seconds
  result:
    item: "DRIED_KELP"
    amount: 1
  auto_unlock_on: ["KELP"]

Fuel Restrictions (Cooking Recipes)

For furnace, blasting, and smoking recipes, you can restrict which fuels are allowed. Add the allowed_fuels field to limit fuel types.

- key: "obsidian_smelt"
  type: "blasting"
  input: "CRYING_OBSIDIAN"
  experience: 10.0
  cooking_time: 200
  allowed_fuels:
    - LAVA_BUCKET
  result:
    item: "OBSIDIAN"
    amount: 1
If allowed_fuels is omitted, any valid fuel can be used (vanilla behavior).

Stonecutting Recipe

Stonecutter recipe with a single input and output. No cooking time or experience.

- key: "cut_stone_bricks"
  type: "stonecutting"
  input: "STONE"
  result:
    item: "STONE_BRICKS"
    amount: 2
  auto_unlock_on: ["STONE"]

Smithing Transform Recipe

Smithing table recipe that transforms a base item using a template and an addition material. Requires three inputs: template, base item, and addition.

- key: "custom_netherite_pickaxe"
  type: "smithing_transform"
  template: "NETHERITE_UPGRADE_SMITHING_TEMPLATE"
  base: "DIAMOND_PICKAXE"
  addition: "NETHERITE_INGOT"
  result:
    item: "NETHERITE_PICKAXE"
    amount: 1
    name: "&4Infernal Pickaxe"
    lore:
      - "&7Forged in the depths"
    enchantments:
      - "EFFICIENCY:5"
    custom_model_data: 2001
  auto_unlock_on: ["NETHERITE_INGOT"]

Adjacent Pair Recipe

A unique recipe type where two items are placed next to each other in the crafting grid. LumenSmith automatically registers all valid placements.

- key: "glowing_ink_sac_craft"
  type: "adjacent_pair"
  items:
    - "GLOWSTONE_DUST"
    - "INK_SAC"
  direction: "both"           # horizontal, vertical, or both (default)
  result:
    item: "GLOW_INK_SAC"
    amount: 1
  auto_unlock_on: ["GLOWSTONE_DUST", "INK_SAC"]

Direction options

ValueRegistered placements
horizontalSide by side (left-right) in all rows
verticalStacked (top-bottom) in all columns
both (default)All horizontal and vertical placements
If both items are the same material, it works as a "double block" recipe (e.g., 2x Cobbled Deepslate = Crying Obsidian).

Brewing Recipe NEW v0.1.5

Brewing recipes substitute the result of a brewing-stand operation. The match is (ingredient material, bottle material): when the player puts your ingredient in the top slot and any of your input bottles below, the result is replaced with what you defined.

- key: "potion_of_speed"
  type: "brewing"
  ingredient: "SUGAR"
  input: "POTION"               # POTION | SPLASH_POTION | LINGERING_POTION
  result:
    item: "POTION"
    potion_type: "SWIFTNESS"    # any PotionType: STRENGTH, LONG_FIRE_RESISTANCE, ...
    name: "&bSpeed Brew"
  auto_unlock_on: ["SUGAR"]

Required fields

FieldTypeDescription
ingredientMaterialThe item placed in the top brewing-stand slot
inputMaterialMust be POTION, SPLASH_POTION, or LINGERING_POTION
result.itemMaterialMust also be one of POTION / SPLASH_POTION / LINGERING_POTION

Optional result fields specific to brewing

FieldTypeDescription
potion_typestringBukkit PotionType enum value (e.g. STRENGTH, LONG_NIGHT_VISION, STRONG_REGENERATION). Omit to get a plain water bottle.

How it actually fires

The plugin handles brewing in two ways depending on whether vanilla accepts the ingredient pair:

Don't forget blaze powder in the fuel slot. Brewing still costs one fuel unit even for custom recipes, matching vanilla.
Currently potion_type covers the standard PotionType enum (vanilla potion effects). Fully custom effect lists are planned for a future release.