Proveedores de Ítems e Integraciones
CraftingEngine cuenta con una interfaz SPI universal (ItemProvider) para el reconocimiento y serialización de objetos, lo que permite que recetas, entradas, herramientas y salidas interactúen de forma fluida con los principales plugins de ítems personalizados del ecosistema.
1. Espacios de Nombres y Proveedores Compatibles
Puedes indicar ítems utilizando identificadores con prefijo:
| Proveedor | Prefijo de Sintaxis | Ejemplo de Identificador | Descripción |
|---|---|---|---|
| Vanilla | minecraft: | minecraft:diamond_sword | Materiales y objetos estándar de Minecraft. |
| Tags de Ítems (Vanilla y Convención) | #minecraft: / tag: | #minecraft:planks, tag:c:iron_ingots | Coincide con cualquier material registrado en Tag<Material> de Bukkit. |
| CustomModelData | cmd: | cmd:iron_sword:10042 | Material vanilla con etiqueta CustomModelData específica. |
| ItemsAdder | ia: / itemsadder: | ia:ruby_sword | Ítems personalizados creados con ItemsAdder. |
| Oraxen | oraxen: | oraxen:titanium_ingot | Ítems personalizados creados con Oraxen. |
| MMOItems | mmoitems: | mmoitems:SWORD:DARK_REAPER | Formato: mmoitems:<TIPO>:<ID>. |
| ExecutableItems | ei: | ei:god_pickaxe | Ítems y armas de ExecutableItems. |
| ExecutableBlocks | eb: | eb:mana_crystal | Bloques e ítems de ExecutableBlocks. |
| MythicMobs | mythicmobs: / mm: | mm:SkeletonKingCrown | Ítems especiales de drops de MythicMobs 5.x y 4.x. |
2. Herramienta de Inspección en el Juego
Para averiguar el identificador exacto de cualquier objeto que tengas en la mano, ejecuta:
/cfe item inspectCraftingEngine analizará los NBT, el PersistentDataContainer y los hooks externos activos, imprimiendo en el chat la cadena de texto exacta para copiar y pegar en los campos inputs: u outputs: de tus recetas.
3. Modos de Coincidencia de Ítems
En tus recetas, puedes configurar el nivel de precisión exigido para los ingredientes:
inputs: - resource: "minecraft:diamond_sword" match_mode: "STRICT_NBT" # STRICT_NBT | IGNORE_DURABILITY | MATERIAL_ONLYSTRICT_NBT: Exige coincidencia idéntica en NBT, lore, encantamientos y nombres.IGNORE_DURABILITY: Acepta herramientas o armaduras desgastadas del mismo material.MATERIAL_ONLY: Solo compara el tipo de material Bukkit, ignorando nombres o encantamientos.
4. PersistentDataContainer (PDC) y Captura de Metadatos (v2.9.0+)
CraftingEngine incluye un subsistema de captura profunda de metadatos (ItemMetadataSnapshotter). Cuando un ingrediente se consume (mode: CONSUME) o se reserva transaccionalmente (mode: RESERVE), el motor analiza el objeto físico:
- Tipos Primitivos de PDC Capturados:
INTEGER,DOUBLE,FLOAT,LONG,BYTE,SHORTySTRING. - Atributos de Ítem Capturados:
custom_model_data, nombre visible (display_name) y durabilidad. - Almacenamiento en Variables de Proceso: Los metadatos extraídos se guardan como variables de dominio bajo
input_prop:<resource_id>:<key>einput_prop:*:<key>.
Estas variables alimentan directamente el Canal de Herencia de Propiedades para transferir etiquetas persistentes a los ítems finales producidos.
5. Integración con PlaceholderAPI
CraftingEngine expone variables útiles para la comunidad:
%craftingengine_active_processes%: Cantidad de crafteos activos del jugador.%craftingengine_current_stage%: Nombre de la etapa actual en la estación.%craftingengine_process_progress%: Porcentaje numérico (0-100) del proceso en curso.
Siguientes Pasos
- Blueprints de Procesos - Aplica identificadores de ítems externos en tus recetas.
- Estaciones y Multibloques - Asocia bloques de ExecutableBlocks como estaciones.