Cómo crear Hologramas de Título Flotantes en Hytale

Hytale: Guías, Mods, Opiniones | Videojuegos en CIBERED

En esta guía aprenderás a crear un holograma de título usando un nameplate de entidad.

Explorando el Código de HytaleServer.jar

Pasos Iniciales (Con Herramienta)

  1. Abre y equipa la Entity Grabber Tool.

image.png

⚠️ Mantén la herramienta equipada, te permitirá ajustar la posición del nameplate durante todo el proceso.


  1. Genera una entidad pequeña (por ejemplo, escombros) y reduce su escala al valor mínimo.

image.png


  1. Haz hover sobre la entidad y ejecuta el comando:
/entity nameplate "Texto Aquí"

image.png


Tu holograma de título ahora debería estar visible flotando en la posición de la entidad.

image.png


Bonus: Crear Hologramas de Título con Código

Puedes usar un comando de plugin para crear un holograma invisible con un nameplate flotante en la ubicación del jugador.

public class TitleHologramCommand extends CommandBase {

    public TitleHologramCommand() {
        super("TitleHologram", "Create a title hologram.");
    }

    @Override
    protected void executeSync(@Nonnull CommandContext ctx) {

        UUID playerUUID = ctx.sender().getUuid();
        PlayerRef playerRef = Universe.get().getPlayer(playerUUID);
        World world = Universe.get().getWorld(playerRef.getWorldUuid());
        Transform playerTransform = playerRef.getTransform();

        world.execute(() -> {

            Holder<EntityStore> holder = EntityStore.REGISTRY.newHolder();
            ProjectileComponent projectileComponent = new ProjectileComponent("Projectile");
            holder.putComponent(ProjectileComponent.getComponentType(), projectileComponent);
            holder.putComponent(TransformComponent.getComponentType(), new TransformComponent(playerTransform.getPosition().clone(), playerTransform.getRotation().clone()));
            holder.ensureComponent(UUIDComponent.getComponentType());
            holder.ensureComponent(Intangible.getComponentType());

            if (projectileComponent.getProjectile() == null) {
                projectileComponent.initialize();
                if (projectileComponent.getProjectile() == null) return;
            }

            holder.addComponent(NetworkId.getComponentType(), new NetworkId(world.getEntityStore().getStore().getExternalData().takeNextNetworkId()));
            holder.addComponent(Nameplate.getComponentType(), new Nameplate("Testing Holograms"));

            world.getEntityStore().getStore().addEntity(holder, com.hypixel.hytale.component.AddReason.SPAWN);
        });
    }
}

Resumen del Código

PasoExplicación
Obtener player y worldPara determinar dónde aparecerá el holograma.
world.execute()Ejecuta todo en el hilo del mundo para seguridad ECS.
Crear entidad (Holder<EntityStore>)Se necesita un shell válido de entidad (Projectile).
Añadir componentesTransformComponent, UUIDComponent, Intangible para posicionar y volverla no interactuable.
Inicializar ProjectileAsegura que la entidad se cree correctamente.
Añadir NetworkId y NameplateSincroniza la entidad y muestra el texto del holograma.
addEntityInserta la entidad en el mundo y la hace visible.

image.png

Tip: Puedes reutilizar este método para mostrar hologramas dinámicos, indicadores de misión o efectos visuales sobre cualquier entidad invisible.