Global Settings

update_checker: true
cooldown_storage: file
KeyTypeDefaultDescription
update_checker boolean true Check for new versions on startup
cooldown_storage string "file" "file" = persistent across restarts, "session" = memory-only (resets on restart)

World Filter

Control which worlds LumenSmith's rules apply in.

world_filter:
  whitelistworldoff: true
  worlds:
    - world
    - world_nether
    - world_the_end
KeyTypeDefaultDescription
whitelistworldoff boolean true true = features active in ALL worlds. false = only in listed worlds.
worlds list World names where rules apply (only used when whitelistworldoff: false)
Most servers should keep whitelistworldoff: true to apply rules everywhere. Only change this if you need per-world control.

Blocked Outputs

Any material listed under remove_by_output will be completely uncraftable. The recipe book shows no output, clicks are blocked, and ingredients are not consumed.

remove_by_output:
  - TNT
  - TNT_MINECART
  # - ENDER_CHEST
  # - TRIDENT
Material names use Bukkit's Material enum. See the Spigot JavaDocs for a complete list.

Deny Message

Shown when a player tries to craft a blocked output. Supports color codes and the %item% placeholder.

deny_message: '&cCrafting of &e%item% &cis disabled on this server.'

Custom Recipes

Each recipe is an entry under the custom_recipes list. Here are all available fields:

Required Fields

FieldTypeDescription
keystringUnique recipe ID (letters, numbers, underscores only)
typestringRecipe type (see Recipe Types)
resultobjectThe output item (see below)

Result Object

FieldTypeDefaultDescription
itemstringMaterial name (required)
amountint1Output amount (1–64)
namestringCustom display name (supports & color codes)
lorelistLore lines (supports & color codes)
enchantmentslistEnchantments in "NAME:LEVEL" format
custom_model_dataintCustom model data for resource packs

Optional Fields

FieldTypeDefaultDescription
auto_unlock_onlistMaterials that trigger recipe book unlock
replace_existingbooleantrueReplace conflicting vanilla recipes
permissionstringPermission required to craft
permission_deny_messagestringMessage shown when permission is missing
cooldownintSeconds between crafts (per-player)
max_craftsintLifetime craft limit (per-player)
cooldown_messagestringMessage on cooldown (%remaining% placeholder)
max_crafts_messagestringMessage when limit is reached

Effects (Optional)

Play a sound and/or particle effect when the recipe is successfully crafted.

effects:
  sound: "ENTITY_PLAYER_LEVELUP"
  sound_volume: 1.0
  sound_pitch: 1.2
  particle: "ENCHANT"
  particle_count: 50
FieldTypeDescription
soundstringBukkit Sound enum name
sound_volumefloatVolume (0.0 – 1.0)
sound_pitchfloatPitch (0.5 – 2.0)
particlestringBukkit Particle enum name
particle_countintNumber of particles

Full Example Config

update_checker: true
cooldown_storage: file

world_filter:
  whitelistworldoff: true
  worlds:
    - world

remove_by_output:
  - TNT
  - TNT_MINECART

custom_recipes:
  - key: "excalibur"
    type: "shaped"
    shape: [" D ", " D ", " S "]
    ingredients:
      D: "DIAMOND"
      S: "STICK"
    result:
      item: "DIAMOND_SWORD"
      amount: 1
      name: "&6Excalibur"
      lore:
        - "&7A blade of legend"
        - "&5+10 Attack Damage"
      enchantments:
        - "SHARPNESS:5"
        - "UNBREAKING:3"
        - "FIRE_ASPECT:2"
      custom_model_data: 1001
    permission: "lumensmith.craft.excalibur"
    permission_deny_message: "&cYou need VIP rank to forge Excalibur!"
    cooldown: 3600
    max_crafts: 3
    cooldown_message: "&cExcalibur needs &e%remaining%s &cto recharge."
    max_crafts_message: "&cYou have forged all the Excaliburs fate allows."
    effects:
      sound: "ENTITY_PLAYER_LEVELUP"
      sound_volume: 1.0
      sound_pitch: 1.2
      particle: "ENCHANT"
      particle_count: 50
    auto_unlock_on: ["DIAMOND"]

deny_message: '&cCrafting of &e%item% &cis disabled on this server.'