
LumenSmith
Configurable recipe manager: disable vanilla recipes and add your own
LumenSmith 0.1.4
release17 февраля 2026 г.LumenSmith v0.1.4 — Major Update
New Features
In-Game Recipe Creator (/ls create <key>)
- Full click-based GUI recipe builder — no YAML editing needed
- Supports all 9 recipe types: shaped, shapeless, furnace, blasting, smoking, campfire, stonecutting, smithing transform, and adjacent pair
- Click a slot, then click any item in your inventory to assign materials
- Type selector — pick your recipe type visually, change it anytime
- Result amount control — set output amount from 1-64 with +/- buttons (always starts at 1 when picking an item)
- Cooking controls — adjust cooking time (+/-50 ticks) and experience (+/-0.1) directly in the GUI
- Fuel selector — restrict which fuels are allowed for cooking recipes (click to add fuels, right-click to clear)
- Direction option — for adjacent pair recipes, choose horizontal, vertical, or both placement directions
- Auto-generates
auto_unlock_onfrom ingredients - Saves directly to
config.ymland reloads instantly
Recipe Editing
- Edit button in recipe detail view (writable book icon) — loads existing recipe into the creator with all data pre-filled
- Supports editing all recipe types including shaped grid layout, cooking settings, fuel restrictions, and direction
- Saves changes in-place (replaces old config entry)
Recipe Deletion
- Delete button in recipe detail view (TNT icon) — removes recipe from config with one click
- Instantly reloads after deletion
Adjacent Pair Direction
- New
directionconfig field for adjacent pair recipes:horizontal,vertical, orboth(default) - Controls which placement orientations are registered
- Fully configurable from both YAML and the in-game creator
Bug Fixes
Smelting Output Fix
- Fixed critical bug where custom cooking recipe outputs were blocked by
remove_by_output - Example: custom "Crying Obsidian -> Obsidian" recipe was blocked because OBSIDIAN was in the blocked outputs list
- Custom recipes now correctly bypass the vanilla output blocker
Fuel Enforcement Fix
- Switched from
FurnaceSmeltEventtoFurnaceBurnEventfor fuel checking FurnaceBurnEventfires before fuel is consumed, makinggetFuel()reliable- Prevents infinite smelting loops when wrong fuel was used
Ingredient Display Deduplication
/ls recipesbrowser and detail view now groups duplicate ingredients- Shows
STONE x9instead of listing STONE nine separate times - Applies to both shapeless and shaped recipe displays
Performance Optimizations
O(1) Fuel Index Lookup
- Pre-built
cookingFuelIndexmap in RecipeLoader (built once during config load) CookingBlockListener.onBurnnow uses direct map lookup instead of iterating all recipes- Reduces furnace burn event processing from O(n) to O(1) where n = total recipe count
Memory Leak Prevention
- Creator sessions are now cleaned up on
PlayerQuitEvent - Prevents session map from growing unbounded when players disconnect without closing the GUI
Existing Optimizations
- Pre-computed static messages in BlockCraftListener (no string processing on hot paths)
- Debounced recipe book rescanning with
pendingRescanset + 2-tick delay boolean[]indexed byMaterial.ordinal()for O(1) material presence checks in UnlockListener- Immutable
List.copyOf/Map.copyOffor cached recipe data
Permissions
| Permission | Description |
|---|---|
lumensmith.admin | Access to /ls reload, /ls rescan, /ls list, /ls delete |
lumensmith.create | Access to /ls create, edit, and delete recipes from GUI |
Config Changes
New optional fields for cooking recipes:
custom_recipes:
- key: "my_smelt"
type: "furnace"
input: "CRYING_OBSIDIAN"
experience: 1.0
cooking_time: 200
allowed_fuels: # NEW — restrict fuel types
- COAL
- LAVA_BUCKET
result:
item: "OBSIDIAN"
amount: 1
New optional field for adjacent pair recipes:
- key: "my_pair"
type: "adjacent_pair"
items: ["DIAMOND_BLOCK", "GOLD_BLOCK"]
direction: "horizontal" # NEW — horizontal, vertical, or both (default)
result:
item: "NETHERITE_BLOCK"
amount: 1
Full Changelog: v0.1.3 -> v0.1.4
LumenSmith 0.1.3
release21 октября 2025 г.LumenSmith 0.1.3
✦ Added
- Instant recipe unlocks players now automatically unlock custom recipes the moment they obtain any item listed in
auto_unlock_on. - /ls rescan command instantly refreshes all players’ recipe books without reloading the plugin.
- World filter improvements more stable handling when switching between
whitelistworldoff: true/false.
✦ Fixed
- Fixed a bug where players had to rejoin the server or restart to see newly unlocked recipes.
- Fixed delayed unlocks when using
/give, crafting, or picking up trigger items. - Fixed rare cases where crafting events didn’t update the recipe book correctly.
✦ Improved
- Refined UnlockListener for smoother and faster detection of inventory changes.
- Small cleanup and safety checks for reload and recipe validation.
- Polished internal logs and better formatting for
/ls list.
✦ Notes
This version focuses entirely on real-time recipe unlocking and smoother gameplay no more relogs, no restarts. Next version (0.1.4) is coming soon, as fast as possible!
LumenSmith 0.1.2
release14 октября 2025 г.-
Added full support for world_filter — LumenSmith features can now be enabled globally or restricted to specific worlds.
-
Added adjacent_pair recipe type: lets two items crafted side-by-side or vertically anywhere on the 3×3 grid produce a result.
-
Added auto_unlock_on fix — recipes now appear correctly in the green book once a player obtains any listed items.
-
Added /ls rescan command to re-check all online players’ inventories and unlock missing recipes instantly.
-
Added /ls fixbook command to clean duplicate or outdated recipe entries in players’ books.
-
Improved /ls list output for better readability and detailed recipe status.
-
Improved configuration comments and layout for a clearer, beginner-friendly setup.
-
Minor internal cleanup and stability improvements on Paper / Spigot 1.21.x.
LumenSmith 0.1.1
release13 октября 2025 г.Added full protection for remove_by_output items → Blocked items can no longer be clicked, shift-crafted, or taken from the crafting table. → Ingredients are not consumed, and the result slot stays empty.
Added extra safety checks for drag and result slot interactions.
Updated /ls help version info to v0.1.1.
Improved overall crafting event handling for Paper & Spigot 1.21.x.
LumenSmith 0.1.0
release12 октября 2025 г.LumenSmith 0.1.0 | Initial Release
Added support for custom shaped and shapeless recipes via config.yml
Added remove_by_output to block crafting of vanilla items (e.g., TNT, TNT Minecart)
Added auto_unlock_on so recipes appear automatically in the recipe book when a trigger item is obtained
Added /lumensmith command (alias /ls)
/ls help – show available commands
/ls list – list blocked outputs and custom recipes
/ls reload – reload all recipes and configuration
Added beginner-friendly configuration layout with clear comments
Added automatic replacement of vanilla recipes when custom ones use the same key
Added colored console summary of loaded recipes
Added permission system (lumensmith.admin)
Fully reload-safe and compatible with Paper, Spigot, and Purpur (1.20.x – 1.21.x)
