3 févr. 2015, 16:42

Sommaire

Introduction

Vous sûrement déjà vu dans des Hunger Games, ou bien dans KTP, des têtes de joueurs qui tombent lors de leur mort et qui comporte la texture de sa tête, et bien voilà ce qu’on va faire.

Pré-requis

Code

Dans la classe où sont enregistrés vos événements :

package VotrePackage;

public class VotreClasse
{
    @SubscribeEvent
    public void onLivingDeathEvent(LivingDeathEvent event)
    {
        if(event.entityLiving instanceof EntityPlayer)
        { // EntityPlayer ou EntityPlayerMP si vous êtes sur un serveur (c'est pas très important)
            // On récupère le joueur
            EntityPlayer player = (EntityPlayer)event.entityLiving; // Ou EntityPlayerMP
            // On créer la tête
            Item item = Items.skull;
            ItemStack stack = new ItemStack(item, 1, 3);

            // On créer 2 NBTTagCompound pour ensuite ajouter le 2ème au 1er
            NBTTagCompound compound = new NBTTagCompound();
            NBTTagCompound compound1 = new NBTTagCompound();

            // On associe le NBTTagCompound au stack pour éviter de faire des erreurs
            stack.writeToNBT(compound);

            // On ajoute le nom du joueur au 2ème NBTTagCompound
            compound1.setString("SkullOwner", player.getName());

            // On demande à Mojang d'aller récupérer le UUID et tout le tralala pour nous
            ((ItemSkull)item).updateItemStackNBT(compound1);

            // On ajouter le tag créer par le code de Mojang à l'ItemStack
            compound.setTag("tag", compound1);

            // On recréer l'ItemStack à partir du NBTTagCompound
            stack.readFromNBT(compound);

            // Et pour finir on le fait apparaître à la position du joueur
            player.worldObj.spawnEntityInWorld(new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, stack));
        }
    }
}

Résultat

Une tête sur le sol.

Crédits

Rédaction :

Correction :

Creative Commons
Ce tutoriel de SCAREX publié sur Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

retourRetour vers le sommaire des tutoriels