+0

Hologramas en Minecraft



Vamos a ver cómo crear y poner hologramas en nuestro servidor de Minecraft con un plugin Spigot.

¿Qué es un holograma?

Un holograma es texto que aparece en el mundo. Esto se puede comparar a las nametags que tienen los jugadores o los monstruos, etc.

Ejemplo de un holograma en Minecraft en el servidor de Hypixel

Ejemplo de un holograma en Minecraft en el servidor de Hypixel

Crear un holograma

Como he mencionado en la explicación anterior, un holograma no deja de ser un nametag de una entidad. La entidad más sencilla en la que le podemos poner un nametag y que sea invisible es un armor stand, con lo cual para crear un holograma dentro de nuestro mundo spawnearemos una entidad de armor stand invisible con un nombre personalizado.

Si reaprovechamos el comando que hemos utilizado, haremos que cuando corra haga aparecer un armor stand con un nombre personalizado.

Player player = (Player) commandSender;
 
ArmorStand as = (ArmorStand) player.getWorld().spawnEntity(player.getLocation(), EntityType.ARMOR_STAND);
as.setInvisible(true);
as.setGravity(false);
as.setInvulnerale(true);
 
as.setCustomNameVisible(true);
as.setCustomName(Component.text("HOLOGRAMA PERSONALIZADO :D"));

¡Así de sencillo!

Holograma con múltiples líneas

¿Qué es mejor que un holograma? Múltiples hologramas.

El truco aquí está en hacer que los hologramas aparezcan en vertical, pero uno más arriba que el otro. Ya que somos expertos en Java, lo que haremos es una lista con todos los componentes que queremos usar y luego con un bucle crearemos los ArmorStands una arriba del otro.

Player player = (Player) commandSender;
 
Component[] components = new Components[]{
	Component.text("LÍNEA 3 :("),
	Component.text("LÍNEA 2 :)"),
	Component.text("HOLOGRAMA PERSONALIZADO :D")
};
 
Location loc = player.getLocation().clone();
 
for (Component component : components) {
	ArmorStand as = (ArmorStand) player.getWorld().spawnEntity(loc, EntityType.ARMOR_STAND);
	as.setInvisible(true);
	as.setGravity(false);
	as.setInvulnerale(true);
	
	as.setCustomNameVisible(true);
	as.setCustomName(component);
	
	loc = loc.add(0, 0.5, 0)
}

Date cuenta que el array lo he puesto al revés ya que empezamos de abajo arriba.

Y ya estaría. Ahora si lo probamos dentro del juego veremos como aparecen múltiples hologramas.