Saltearse al contenido

Displays, Hologramas y Efectos Visuales

CraftingEngine aprovecha las entidades nativas TextDisplay e ItemDisplay de Minecraft para proporcionar indicaciones visuales claras en tiempo real sobre las estaciones, prescindiendo de los antiguos soportes de armadura invisibles.


1. Presets de Hologramas Flotantes (presets/holograms/*.yml)

Los hologramas flotantes muestran el progreso del crafteo, temporizadores de etapa, golpes asestados y estado actual directamente sobre la estación:

[Forja Rúnica Ancestral]
Etapa: Forjando Lingote (3/5 Golpes)
[■■■■■■■■■■□□□□□] 60%
Tiempo: 4.2s

Configuración YAML del Holograma

id: "default_progress_hologram"
height_offset: 1.2 # Altura en metros sobre el bloque de la estación
billboard: "CENTER" # CENTER | VERTICAL | HORIZONTAL | FIXED
background:
color: "#40000000" # Formato ARGB hex para fondo oscuro semitransparente
see_through: false
lines:
- "<bold><gradient:#ff9800:#f44336>%process_name%</gradient></bold>"
- "<gray>Etapa:</gray> <white>%stage_name%</white>"
- "%progress_bar%"
- "<dark_gray>Golpes: <white>%strikes_current%/%strikes_required%</white></dark_gray>"
progress_bar:
length: 15
completed_char: "■"
remaining_char: "□"
completed_color: "<gradient:#4caf50:#8bc34a>"
remaining_color: "<dark_gray>"

2. Gestión de Ciclo de Vida sin Entidades Huérfanas

Un problema frecuente en servidores es la aparición de hologramas “fantasma” que quedan flotando tras reinicios o descargas de chunks. CraftingEngine implementa garantías estrictas de limpieza:

  • Etiquetas PDC: Cada entidad display porta identificadores UUID asociados a la sesión del proceso.
  • Hook de Cierre del Servidor: Limpia y elimina todos los displays activos al desactivar el plugin.
  • Intercepción de Descarga de Chunk: Al descargarse un chunk, sus displays son desregistrados y purgados de la memoria.

3. Presets de Colocación Espacial 3D (presets/placements/*.yml)

Permiten posicionar objetos estáticos de muestra sobre las estaciones antes o durante el crafteo:

id: "anvil_resting_ingot"
translation: [0.0, 0.95, 0.0]
rotation: [90.0, 0.0, 0.0] # Apoyado plano sobre la superficie del yunque
scale: [0.65, 0.65, 0.65]
billboard: "FIXED"
item_transform: "GROUND"

Siguientes Pasos