LumenSmith Logo

Lightweight, configurable recipe management for Paper and Purpur servers, now with brewing-stand recipes and a fully redesigned in-game creator.

Minecraft 1.21 & 26.x Paper / Purpur v0.1.5

What is LumenSmith?

LumenSmith is a beginner-friendly plugin that lets you disable, replace, and create crafting, cooking, smithing, stonecutting and brewing recipes entirely through an in-game GUI or a simple config.yml. No coding, no datapacks. Just type /ls and click.

Version v0.1.5 adds the 10th recipe type (brewing), reorganises the recipe creator into clean sub-menus, ships a quick-create / delete-mode toggle inside the browser, makes auto-unlock instant the same tick the trigger item arrives, and lands a sweep of security and reload-safety fixes.

Key Features

10 Recipe Types

Shaped, shapeless, furnace, blasting, smoking, campfire, stonecutting, smithing transform, adjacent pair, and now brewing.

Categorised Recipe Creator

The creator opens with 5 grouped categories (Crafting, Cooking, Stonecutting, Smithing, Brewing) and drills into sub-menus. No more wall of icons.

Block Vanilla Recipes

Prevent items like TNT or Ender Chests from being crafted. Manage the blocked list in config.yml or live from the in-game browser.

Fast Create & Delete

Quick-create button right inside the browser (chat-prompts for the key), plus a Delete Mode for shift-click bulk cleanup.

Real-Time Auto-Unlock

Recipes appear in the recipe book the same tick a trigger item enters the player's inventory. Pickups, crafts, /give, shift-clicks out of chests: all instant.

Permissions & Cooldowns

Require permissions, set cooldowns, cap total crafts per player. Defense-in-depth checks across every consume path.

World Filter

Enable or disable crafting rules per world. Perfect for SMP / RPG / creative-vs-survival setups.

Reload-Safe

Deleting a recipe and reloading restores any vanilla recipe it replaced. No server restart needed.

Ultra-Lightweight

Async-safe cooldown saves, O(1) fuel lookups, holder-based GUI routing, no per-tick overhead.

Supported Crafting Stations

LumenSmith hooks into every vanilla crafting station the game ships with, plus a custom adjacent-pair type that uses the regular crafting grid. One configuration file, ten recipe types, all of these blocks covered:

Crafting table, furnace, blast furnace, smoker, smithing table, brewing stand, campfire and stonecutter all in a row
StationRecipe types
Crafting Tableshaped, shapeless, adjacent_pair
Furnacefurnace
Blast Furnaceblasting
Smokersmoking
Campfire / Soul Campfirecampfire
Stonecutterstonecutting
Smithing Tablesmithing_transform
Brewing Standbrewing NEW v0.1.5

How Auto-Unlock Works

LumenSmith decides when a custom recipe should appear in a player's recipe book using the auto_unlock_on field. The plugin watches every way a player can pick up an item and, the moment a trigger material lands in their inventory, the relevant recipe is added to the book.

Two ways to set the trigger

You don't have to think about this for most recipes; the default is sensible.

What counts as "obtaining" a trigger

Recipe unlocks fire the same tick a trigger item lands in the player's inventory through:

The unlock is instant: no 2-tick delay, no "close the chest first" gotcha. As of v0.1.5 every event path checks the picked-up material directly and discovers the recipe in the same handler.

Example: only unlock when the player finds something rare

- key: "ancient_blade"
  type: "shaped"
  shape:
    - " D "
    - " D "
    - " S "
  ingredients:
    D: "DIAMOND"
    S: "STICK"
  result:
    item: "DIAMOND_SWORD"
    name: "&6Ancient Blade"
  # Don't auto-unlock from ingredients; only show after the player finds an Ancient Debris.
  auto_unlock_on:
    - ANCIENT_DEBRIS

Even though the recipe uses diamonds and sticks, the player won't see it in their book until they pick up an ancient debris. Perfect for hiding endgame recipes behind exploration milestones.

Using the In-Game GUI

Everything LumenSmith does is reachable from /ls alone. The v0.1.5 release reorganised the menus so every action is a couple of clicks deep.

Step 1: open the browser

Type /ls in chat. The recipe browser opens immediately, with one icon per custom recipe and a navigation row at the bottom:

Recipe browser with the nether star, barrier, and TNT buttons on the bottom row

Step 2: click a recipe to inspect it

The detail view lays the recipe out the way you'd see it in vanilla (3x3 grid, smithing table layout, brewing stand layout, etc.) plus an info panel with cooldowns, permissions, and effects. Admins see an Edit button (writable book) and a Delete button (TNT).

Recipe detail view with ingredients laid out and an Edit / Delete row

Step 3: pick a category

When you create a new recipe, the type selector opens with five categories instead of nine flat icons:

Type selector showing the five centred category icons in row two

Step 4: build the recipe

The editor uses virtual slots: no real items are moved or consumed. Click a slot to select it, then click any item in your inventory to assign that material. Right-click a slot to clear it.

Common controls (visible based on the recipe type):

Editor showing ingredient slots, result, result-amount arrow, and the Knowledge Book Unlock Triggers button
Broken recipes are rejected at save time. If you click Confirm on a brewing recipe without a bottle, or on any recipe without a result, you get a clear error message instead of a silent half-saved entry.

Quick Start

  1. Download LumenSmith and place it in your server's plugins/ folder.
  2. Start (or restart) your server.
  3. Type /ls in-game. It opens the recipe browser straight away.
  4. Click the green star to create a new recipe (you'll be asked for a key in chat).
  5. Need to edit config.yml by hand? Run /ls reload after changes.
/ls with no arguments opens the recipe browser. Type /ls help to see every subcommand.

Screenshots

In-game recipe browser opened with /ls, showing custom recipe icons and the bottom navigation row Recipe creator with the categorised type selector and a recipe being built Custom brewing recipe in action on a brewing stand with the LumenSmith ingredient on top Blocked Outputs view inside the browser, listing every material in remove_by_output

Why LumenSmith?