Saltar al contenido principal

Cabeza/Perfil de Jugador

Con el class SkullTexture puedes obtener cabezas con textura desde el formato base64, url, ID de textura, nombre o UUID del jugador, y también perfiles de jugador.

Cabeza

Obtener la siguiente textura como un ItemStack de una cabeza usando todos los tipos de métodos.

String texture = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmVkZmEyZTBmZGVhMGMwNDIzODA0Y2RiNWI2MmFkMDVhNmU5MTRjMDQ2YzRhM2I3ZTM1NWJmODEyNjkxMjVmZCJ9fQ==";
ItemStack head = SkullTexture.getTexturedHead(texture);

</TabItem>
<TabItem value="url" label="URL">

```java
String texture = "http://textures.minecraft.net/texture/fedfa2e0fdea0c0423804cdb5b62ad05a6e914c046c4a3b7e355bf81269125fd";
ItemStack head = SkullTexture.getTexturedHead(texture);
Rendimiento del servidor

Si quieres obtener la cabeza de un jugador usando el nombre o UUID del jugador, es recomendable usar los métodos async ya que probablemente se usará internet para obtener la textura.

Además, crea un Executor si lo que quieres es obtener una cantidad exagerada de cabezas con textura usando nombres y UUIDs, NO USES el scheduler de Bukkit porque podrías lagear otros plugins.

Perfil

Obtener un SkullTexture.Profile (es una encapsulación del GameProfile de Mojang) usando diferentes objetos de los cuales se puede extraer un perfil.

// --- Compatible con diferentes formas de declarar un jugador
// El mismo jugador
Player player = Bukkit.getPlayer("Rubenicos");
// Nombre del jugador
String player = "Rubenicos";
// ID del jugador
UUID player = UUID.fromString("7ca003dc-175f-4f1f-b490-5651045311ad");
String player = "7ca003dc-175f-4f1f-b490-5651045311ad";
String player = "7ca003dc175f4f1fb4905651045311ad";

// Usando la API de Mojang
SkullTexture.Profile profile = SkullTexture.mojang().profileFrom(player);
// Usando la API de PlayerDB
SkullTexture.Profile profile = SkullTexture.playerDB().profileFrom(player);
// Usando la API de CraftHead
SkullTexture.Profile profile = SkullTexture.craftHead().profileFrom(player);
Obtener perfiles

La obtención de perfiles en la mayoría de veces requiere conexión a internet con largos tiempos de espera, NO USES estos métodos para obtener muchos perfiles diferentes de manera continua en el hilo principal del servidor o usando el scheduler de Bukkit (Es mejor que te hagas tu propio scheduler en este caso).

Reglas para el caché

Los valores de los perfiles son guardados en el caché por 3 horas desde su último acceso para reduir el consumo de datos.

Si no quieres que nada se guarde en el caché deberías hacer tu propia implementación de SkullTexture o crear un SkullTexture.Mojang, SkullTexture.PlayerDB o SkullTexture.CraftHead usando null en el parámetro del caché.