MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Faire apparaître une tête de joueur avec la texture lors de sa mort

    Planifier Épinglé Verrouillé Déplacé Les events
    1.8
    11 Messages 8 Publieurs 4.4k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par robin4002

      Sommaire

      • Introduction
      • Pré-requis
      • Code
      • Résultat
      • Crédits

      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

      • Utiliser les événements

      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 :

      • SCAREX

      Correction :

      • robin4002

      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

      Site web contenant mes scripts : http://SCAREXgaming.github.io

      Pas de demandes de support par MP ni par skype SVP.
      Je n'accepte sur skype que l…

      1 réponse Dernière réponse Répondre Citer 0
      • isadorI Hors-ligne
        isador Moddeurs confirmés Modérateurs
        dernière édition par

        du devrait peut être un peut plus détailler les méthodes, a quoi elle servent etc… car le tu file juste un code comme ca

        1 réponse Dernière réponse Répondre Citer 0
        • SCAREXS Hors-ligne
          SCAREX
          dernière édition par

          @‘isador34’:

          du devrait peut être un peut plus détailler les méthodes, a quoi elle servent etc… car le tu file juste un code comme ca

          Il me semble avoir tout commenter correctement, quel fonction n’est pas bien expliquée ?

          Site web contenant mes scripts : http://SCAREXgaming.github.io

          Pas de demandes de support par MP ni par skype SVP.
          Je n'accepte sur skype que l…

          1 réponse Dernière réponse Répondre Citer 0
          • isadorI Hors-ligne
            isador Moddeurs confirmés Modérateurs
            dernière édition par

            A oui j’avais pas regarder les commentaire du code excuse moi

            1 réponse Dernière réponse Répondre Citer 0
            • InfiniteI Hors-ligne
              Infinite
              dernière édition par

              Le tutoriel ne marche pas pour la 1.7.10 aparemment , j’ai une erreur sur “((ItemSkull) item).updateItemStackNBT(compound1);” , eclipse me dit The method updateItemStackNBT(NBTTagCompound) is undefined for the type ItemSkull

              voila , help !

              Mes Sites(Mes Sites)
              |
              |    Site général : Game & play
              |   Site de projets (en dev !) :Infinite's Ressources
              J'ai et je suis content d'avoir 16,75 points d'ICRating

              1 réponse Dernière réponse Répondre Citer 0
              • AymericRedA Hors-ligne
                AymericRed
                dernière édition par

                Si tu regardes le code de l’item en 1.7.10 tu pourras voir que cette fonction est remplacée par ```java
                NBTUtil.func_152459_a(letag);

                ```java
                // On ajoute le nom du joueur au 2ème NBTTagCompound
                compound1.setString("SkullOwner", player.getName());
                //ET
                // On ajouter le tag créer par le code de Mojang à l'ItemStack
                compound.setTag("tag", compound1);
                

                “SkullOwner” devient “Name” et “tag” devient “SkullOwner”.

                Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                1 réponse Dernière réponse Répondre Citer 0
                • AlasDiabloA Hors-ligne
                  AlasDiablo
                  dernière édition par

                  J’ai essayé de implémenté se tuto dans mon mod en 1.12.2 mais le stack.readFromNBT et player.worldObj n’existe plus et je n’ai pas trouver autre chose pour le remplacer

                  mes mod actulle:

                  • JANOEO
                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    Salut,
                    C’est player.world tout simplement.
                    Pour stack.readFromNBT je ne sais pas de tête, mais il y a surement une fonction similaire. (cherches tout ce qui contient read)

                    1 réponse Dernière réponse Répondre Citer 0
                    • LeBossMax2L Hors-ligne
                      LeBossMax2
                      dernière édition par

                      Pour stack.readFromNBT, il y as un constructeur à la place (il faut faire new ItemStack(nbt))

                      1 réponse Dernière réponse Répondre Citer 0
                      • AlasDiabloA Hors-ligne
                        AlasDiablo
                        dernière édition par

                        @‘LeBossMax2’:

                        Pour stack.readFromNBT, il y as un constructeur à la place (il faut faire new ItemStack(nbt))

                        J’ai cherché le constructeur, aussi je vois pas comment fait pour remplacer stack.readFromNBT avec new ItemStack(nbt)

                        mes mod actulle:

                        • JANOEO
                        1 réponse Dernière réponse Répondre Citer 0
                        • BrokenSwingB Hors-ligne
                          BrokenSwing Moddeurs confirmés Rédacteurs
                          dernière édition par

                          En gros :

                          
                          ItemStack stack = new ItemStack(Blocks.AIR);
                          stack.readFromNBT(nbt);
                          

                          Devient:

                          
                          ItemStack stack = new ItemStack(nbt);
                          
                          
                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002R robin4002 a fait référence à ce sujet sur
                          • robin4002R robin4002 a fait référence à ce sujet sur
                          • robin4002R robin4002 a fait référence à ce sujet sur
                          • 1 / 1
                          • Premier message
                            Dernier message
                          Design by Woryk
                          ContactMentions Légales

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB