▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/LumenSmith
LumenSmith

LumenSmith

Configurable recipe manager: disable vanilla recipes and add your own

104
0
Все версииLumenSmith 0.1.4

LumenSmith 0.1.4

Release1 мес. назад

Список изменений

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_on from ingredients
  • Saves directly to config.yml and 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 direction config field for adjacent pair recipes: horizontal, vertical, or both (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 FurnaceSmeltEvent to FurnaceBurnEvent for fuel checking
  • FurnaceBurnEvent fires before fuel is consumed, making getFuel() reliable
  • Prevents infinite smelting loops when wrong fuel was used

Ingredient Display Deduplication

  • /ls recipes browser and detail view now groups duplicate ingredients
  • Shows STONE x9 instead of listing STONE nine separate times
  • Applies to both shapeless and shaped recipe displays

Performance Optimizations

O(1) Fuel Index Lookup

  • Pre-built cookingFuelIndex map in RecipeLoader (built once during config load)
  • CookingBlockListener.onBurn now 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 pendingRescan set + 2-tick delay
  • boolean[] indexed by Material.ordinal() for O(1) material presence checks in UnlockListener
  • Immutable List.copyOf / Map.copyOf for cached recipe data

Permissions

PermissionDescription
lumensmith.adminAccess to /ls reload, /ls rescan, /ls list, /ls delete
lumensmith.createAccess 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.4.jar(133.60 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

0.1.4

Загрузчики

Paper
Purpur
Spigot

Версии игры

1.20–1.21.11

Загрузок

26

Дата публикации

1 мес. назад

Загрузил

ID версии

Главная