Saltearse al contenido

Referencia de Blueprints de Procesos

Los blueprints de procesos son las definiciones de crafteo centrales en CraftingEngine. Guardados como archivos YAML en plugins/CraftingEngine/processes/, configuran flujos de crafteo multicapa, requerimientos de ítems, herramientas, catalizadores y condiciones de entorno.


1. Estructura de Alto Nivel del Esquema

id: "infernal_blade"
name: "<gradient:#ff4500:#ff8c00>Espadón Infernal</gradient>"
priority: 10
station_id: "example_runic_forge"
close_gui_on_craft: true
cancel_on_gui_close: false
policies:
multiplayer: "INDIVIDUAL" # INDIVIDUAL | CO_OP
failure: "REFUND_INPUTS" # DESTROY_INPUTS | REFUND_INPUTS | PRODUCE_FAILURE_OUTPUTS
obtaining: "DROP_IN_INVENTORY" # DROP | DROP_IN_WORLD | DROP_IN_INVENTORY | INTERACTION
abandonment:
max_distance: 6.0
grace_period_ticks: 60
tool_breakage:
allow_hotbar_swap: true
grace_period_ticks: 40
requirements:
capabilities:
- "high_temperature"
- "forging"
stations:
- "example_runic_forge"
conditions:
- id: "night_time"
environment: "minecraft"
condition: "time_between"
args: ["13000", "23000"]
inputs:
- resource: "minecraft:netherite_ingot"
quantity: 3
mode: "CONSUME"
- resource: "minecraft:blaze_rod"
quantity: 2
mode: "CONSUME"
tools:
- resource: "minecraft:netherite_pickaxe"
quantity: 1
catalysts:
- resource: "minecraft:lava_bucket"
quantity: 1
mode: "PRESERVE"
triggers:
- type: "INTERACTION"
stages:
- id: "heating"
duration: "4s"
- id: "hammering"
mode: "MANUAL_ACTION"
action_type: "LEFT_CLICK_BLOCK"
required_strikes: 6
outputs:
- resource: "minecraft:netherite_sword"
display: "<gradient:#ff4500:#ff8c00><b>Espadón Infernal</b></gradient>"
quantity: 1
type: "SUCCESS"

2. Especificación Detallada de Campos

Identidad y Presentación

  • id (String, Obligatorio): Identificador único usado en comandos, API y menús GUI.
  • name (String, Opcional): Nombre con formato MiniMessage de Adventure (colores hex, gradientes).
  • priority (Integer, Defecto: 0): Orden de aparición en los menús de recetas de la estación. Valores más altos aparecen primero.
  • station_id (String, Opcional): Limita la receta a una estación de trabajo específica.

Políticas Operativas (policies)

  • multiplayer:
    • INDIVIDUAL: Solo el jugador que inició el crafteo puede interactuar con él.
    • CO_OP: Permite que múltiples jugadores cercanos colaboren golpeando o aportando acciones.
  • failure:
    • REFUND_INPUTS: Devuelve los materiales al inventario del jugador o los suelta en el suelo.
    • DESTROY_INPUTS: Elimina los materiales en caso de fallo (para recetas de alto riesgo).
    • PRODUCE_FAILURE_OUTPUTS: Entrega subproductos de fallo (ej. Escoria, Carbón).
  • obtaining:
    • DROP_IN_INVENTORY: Coloca el ítem crafteado directamente en el inventario del jugador.
    • DROP_IN_WORLD: Suelta el ítem físico sobre el bloque de la estación.
    • INTERACTION: Deja el ítem flotando sobre la estación hasta que el jugador hace clic derecho para recogerlo.
  • abandonment:
    • max_distance: Distancia máxima en bloques antes de iniciar la cuenta atrás de abandono.
    • grace_period_ticks: Período de gracia en ticks (20 ticks = 1s) para regresar antes de cancelar el crafteo.
  • tool_breakage:
    • allow_hotbar_swap: Si la herramienta del jugador se rompe a mitad del crafteo, permite cambiarla por otra idéntica de la barra de acceso rápido sin cancelar el proceso.
    • grace_period_ticks: Ventana de tiempo permitida para realizar el cambio de herramienta.

Requisitos y Condiciones (requirements)

  • capabilities: Lista de capacidades (ej. forging, heating, pressure) que la estación debe proporcionar activamente.
  • stations: Lista de IDs de estación o materiales vanilla permitidos (blacksmith_anvil, minecraft:cauldron).
  • conditions: Comprobaciones de entorno evaluadas antes de iniciar el crafteo:
    • minecraft: Hora del día, clima, bioma, nivel de luz o altura (Y).
    • worldguard: Pertenencia a regiones o comprobación de flags.
    • papi: Expresiones lógicas evaluadas mediante PlaceholderAPI.

Recursos: Entradas, Herramientas y Catalizadores

Entradas (inputs)

Materiales consumidos o requeridos:

  • resource: Identificador con espacio de nombres (Vanilla minecraft:iron_ingot, o externo ia:custom_steel, oraxen:mythic_gem, eb:energy_core).
  • quantity: Cantidad requerida.
  • mode:
    • CONSUME (Por defecto): Se retira del inventario.
    • PRESERVE: Debe estar presente pero no se gasta.

Herramientas (tools)

Equipamiento que el jugador debe sostener en la mano activa. Se comprueba su durabilidad y puede sufrir daño por cada golpe o etapa.

Catalizadores (catalysts)

Ítems de apoyo (ej. moldes, lentes rúnicas, combustible) requeridos en la estación sin consumirse.


3. Crafteos Instantáneos vs Multietapa

  • Crafteo Instantáneo: Si el bloque stages: se omite o está vacío, el crafteo se ejecuta al instante y permite crafteo masivo mediante Shift-Click.
  • Crafteo Multietapa: Si se definen stages:, CraftingEngine inicia una instancia activa con seguimiento de estado, hologramas, temporizadores y transformaciones físicas.

Siguientes Pasos