Skip to content

Item Providers and External Integrations

CraftingEngine includes a universal item matching and serialization SPI (ItemProvider) that allows recipes, inputs, tools, and outputs to reference custom items seamlessly across modern Minecraft plugins.


1. Supported Namespaces & Providers

You can reference items using namespaced string identifiers:

ProviderSyntax PrefixExample IdentifierDescription
Vanillaminecraft:minecraft:diamond_swordStandard Minecraft materials and items.
CustomModelDatacmd:cmd:iron_sword:10042Vanilla material with specific CustomModelData tag.
ItemsAdderia: / itemsadder:ia:ruby_swordFull integration with ItemsAdder custom items.
Oraxenoraxen:oraxen:titanium_ingotFull integration with Oraxen custom items.
MMOItemsmmoitems:mmoitems:SWORD:DARK_REAPERFormat: mmoitems:<TYPE>:<ID>.
ExecutableItemsei:ei:god_pickaxeExecutableItems custom weapons and items.
ExecutableBlockseb:eb:mana_crystalExecutableBlocks custom block items.
MythicMobsmythicmobs: / mm:mm:SkeletonKingCrownMythicMobs drop items.

2. In-Game Inspection Tool

To verify the exact namespaced identifier of any item in your hand, execute:

Ventana de terminal
/cfe item inspect

CraftingEngine inspects the item’s NBT, PersistentDataContainer, and active external item provider hooks, printing the exact copy-paste string to use in your inputs: or outputs: YAML blocks.


3. Strict vs Loose Matching

In recipe definitions, you can control how strictly ingredients are matched:

inputs:
- resource: "minecraft:diamond_sword"
match_mode: "STRICT_NBT" # STRICT_NBT | IGNORE_DURABILITY | MATERIAL_ONLY
  • STRICT_NBT: Enforces identical NBT, custom lore, and enchantments.
  • IGNORE_DURABILITY: Accepts damaged tools or weapons of the same material.
  • MATERIAL_ONLY: Matches purely on Bukkit Material type, ignoring custom names and lore.

4. PlaceholderAPI Integration

CraftingEngine exposes contextual placeholders via PlaceholderAPI:

  • %craftingengine_active_processes%: Number of active crafts running for the player.
  • %craftingengine_current_stage%: Name of the active stage at the current station.
  • %craftingengine_process_progress%: Numeric percentage (0-100) of the active craft.

Next Steps