MFF

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

    Mêttre des effets sur un Kit

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    28 Messages 5 Publieurs 7.6k 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.
    • GuguG Hors-ligne
      Gugu
      dernière édition par

      Tu regarde l’item que le player tiens a chaque tick, et si il tiens l’épée ou la pioche, tu vérifie son inventaire pour voir si il a le reste des items correspondants.

      "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
      ― Jordan B. Peterson

      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

        @‘règlement de la section’:

        Avant d’exposer son problème :

        Sachez que le support est fait durant notre temps libre, et donc comme nous sommes aussi des moddeurs, nous avons aussi nous propre mods à faire, et notre vie privé à côté, nous ne pouvons donc pas faire du support 24/24h, 7/7 jours. En conséquence, avant de crier “à l’aide” nous vous demandons de faire un minimum de recherche, au minimum dans les tutoriels du site et dans les demandes d’aide déjà existantes, si possible sur le forum officiel de forge et au mieux, passer sur les deux premières pages de la recherche google.

        Le pire c’est que c’est expliqué dans le tutoriel que tu as cité, juste un peu plus bas dans la partie sur les event.

        http://www.minecraftforgefrance.fr/showthread.php?tid=674#bonus2

        ItemStack boots = event.entityLiving.getEquipmentInSlot(1);
        ItemStack leggings = event.entityLiving.getEquipmentInSlot(2);
        ItemStack chestPlate = event.entityLiving.getEquipmentInSlot(3);
        ItemStack helmet = event.entityLiving.getEquipmentInSlot(4);
        
        if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto)
        {
        // La suite ici
        }
        

        Sachant que tu peux très bien utiliser ce code dans la fonction onArmorTick de l’armure, il faut juste remplace event.entityLiving par player.

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

          http://www.minecraftforgefrance.fr/showthread.php?tid=183&page=2

          Sa devrait t’aider si tu veux enchanter n’importe quel item comme dans le pvp swap d’épicube ou d’autres mini jeux sur d’autres serveurs

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

            @‘robin4002’:

            @‘règlement de la section’:

            Avant d’exposer son problème :

            Sachez que le support est fait durant notre temps libre, et donc comme nous sommes aussi des moddeurs, nous avons aussi nous propre mods à faire, et notre vie privé à côté, nous ne pouvons donc pas faire du support 24/24h, 7/7 jours. En conséquence, avant de crier “à l’aide” nous vous demandons de faire un minimum de recherche, au minimum dans les tutoriels du site et dans les demandes d’aide déjà existantes, si possible sur le forum officiel de forge et au mieux, passer sur les deux premières pages de la recherche google.

            Le pire c’est que c’est expliqué dans le tutoriel que tu as cité, juste un peu plus bas dans la partie sur les event.

            http://www.minecraftforgefrance.fr/showthread.php?tid=674#bonus2

            ItemStack boots = event.entityLiving.getEquipmentInSlot(1);
            ItemStack leggings = event.entityLiving.getEquipmentInSlot(2);
            ItemStack chestPlate = event.entityLiving.getEquipmentInSlot(3);
            ItemStack helmet = event.entityLiving.getEquipmentInSlot(4);
            
            if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto)
            {
            // La suite ici
            }
            

            Sachant que tu peux très bien utiliser ce code dans la fonction onArmorTick de l’armure, il faut juste remplace event.entityLiving par player.

            Désolé robin mais j’ai vu la vidéo sur youtube sur la chaine MFF , et je n’ai pas vu ce sujet

            Oui ça marche niquel ! mais comment je pourrai faire pour qu’il détecte l’item dans l’inventaire ?

            ItemStack apple = player.?????;
            
            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

              Il n’y a pas de fonction pré faite pour ça, il faut que tu la fasse toi-même.

              exemple :

              ​public boolean playerAsItem(EntityPlayer player, Item item, int metadata)
              {
                  for (int i = 0; i < player.inventory.mainInventory.length; ++i)
                  {
                      if (player.inventory.mainInventory* != null && player.inventory.mainInventory*.getItem() == item && player.inventory.mainInventory[j].getItemDamage() == metadata)
                      {
                          return true;
                      }
                  }
              return false;
              }
              
              1 réponse Dernière réponse Répondre Citer 0
              • H33nokH Hors-ligne
                H33nok
                dernière édition par

                Merci ,Une fois que j’ai créer la fonction dans ma class comment je fais pour ici ?

                ItemStack apple = this.playerAsItem(?????);
                
                1 réponse Dernière réponse Répondre Citer 0
                • DeletedD Hors-ligne
                  Deleted
                  dernière édition par

                  @‘H33nok’:

                  Merci ,Une fois que j’ai créer la fonction dans ma class comment je fais pour ici ?

                  ItemStack apple = this.playerAsItem(?????);
                  

                  Perso je dirai cimmz ceci mais je ne suis pas sûr pour le metadata : si c est pas 0 mets 1

                  ItemStack apple = this.playerAsItem(Minecraft.getMinecraft.thePlayer,Items.apple, 0);

                  Tiens moi au courant stp 😉

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

                    ça me fait une erreur enfaite… ça me fait :

                    Type mismatch: cannot convert from boolean to ItemStack
                    
                    2 quick fixes available :
                    
                    Change type of 'apple' to 'boolean'
                    
                    Change return type of 'playerAsItem(..)' to 'ItemStack
                    

                    ItemStack apple = this.playerAsItem(Minecraft.getMinecraft().thePlayer,Items.apple, 0); Je met ça pourtant

                    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

                      La fonction que je t’ai donné permet directement de savoir si ou ou non le joueur à l’item, et on n’utilise JAMAIS Minecraft.getMinecraft().thePlayer sur une classe serveur, ça détruit la compatibilité serveur.

                      ​boolean asApple = playerAsItem(player, Items.apples, 0);
                      

                      ou alors tu peux directement faire :

                      ​if(playerAsItem(player, Items.apples, 0))
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • H33nokH Hors-ligne
                        H33nok
                        dernière édition par

                               ItemStack boots = player.getEquipmentInSlot(1);
                        ItemStack leggings = player.getEquipmentInSlot(2);
                        ItemStack chestPlate = player.getEquipmentInSlot(3);
                        ItemStack helmet = player.getEquipmentInSlot(4);
                        boolean asApple = playerAsItem(player, Items.apple, 0);
                        
                        if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto)
                        {
                        player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10));
                        }
                        

                        Comment j’ajoute l’item Apple ?.. 😕

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

                          @‘H33nok’:

                                 ItemStack boots = player.getEquipmentInSlot(1);
                          ItemStack leggings = player.getEquipmentInSlot(2);
                          ItemStack chestPlate = player.getEquipmentInSlot(3);
                          ItemStack helmet = player.getEquipmentInSlot(4);
                                 boolean asApple = playerAsItem(player, Items.apple, 0);
                                 
                          
                          if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto)
                          {
                          player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10));
                          }
                          

                          Comment j’ajoute l’item Apple ?.. 😕

                          Tout simplement en ajoutant le boolean dans tes conditions
                           && asApple….

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

                            Je l’ai déjà fait ça , sa marche pas car c’est un Boolean

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

                              Bah oui merde ^^ J’avais oublié de rajouter ça

                              Par contre comment je pourrai faire une fois mi le kit sa envoie un message dans le chat genre ‘Vous avez un kit de speed’ ?

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

                                bah tu as déjà ta condition qui t’ajoute un effet de potion donc tu as juste à rajouter ce code là en dessous :

                                ​ player.addChatComponentMessage(new ChatComponentTranslation("tile.testTonMessage.kitVitesseDetectee", new Object[0]));
                                

                                et ensuite dans tes dossiers lang tu ajoutes la traduction en mettant

                                tile.testTonMessage.kitVitesseDetectee = traduction que tu veux

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

                                  Le message il me le met à l’infini , y’aurai t-il une méthode pour en afficher qu’un ?

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

                                    Je te propose ce code ou tu fais une boucle for qui affiche le message autant de fois que = i

                                    (Desole du manque de balise, sur mon tel elles ne marchent pas…)

                                    [font=Monaco, Consolas, Courier, monospace    ItemStack boots = player.getEquipmentInSlot(1);
                                    ]
                                    [size=x-small    ItemStack leggings = player.getEquipmentInSlot(2);]

                                    [size=x-small    ItemStack chestPlate = player.getEquipmentInSlot(3);]

                                    [size=x-small    ItemStack helmet = player.getEquipmentInSlot(4);]

                                    [size=x-small       boolean asApple = playerAsItem(player, Items.apple, 0);]

                                    [size=x-small       ]

                                    [font=Monaco, Consolas, Courier, monospace    if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto] [size=xx-small && asApple)]

                                    [font=Monaco, Consolas, Courier, monospace    {]
                                    [font=Monaco, Consolas, Courier, monospace        player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 10, 10));]
                                    [font=Monaco, Consolas, Courier, monospace for (int i = 0; i < 1;  i++)]
                                    [font=Monaco, Consolas, Courier, monospace{]

                                    [size=x-largeplayer][size=x-large.][size=x-largeaddChatComponentMessage][size=x-large(][size=x-largenew] [size=x-largeChatComponentTranslation][size=x-large(][size=x-large“tile.testTonMessage.kitVitesseDetectee”][size=x-large,] [size=x-largenew] [size=x-largeObject][size=x-large[[/font]][size=x-large0][size=x-large]));]
                                    [font=Monaco, Consolas, Courier, monospace}]
                                    [font=Monaco, Consolas, Courier, monospace}]

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

                                      Fonctionne pas 😕 sa me l’affiche illimité

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

                                        @‘H33nok’:

                                        Fonctionne pas 😕 sa me l’affiche illimité

                                        remplace la boucle for par

                                        ​if (i < 1) { i++; %(#000000)[[size=xx-small]player]%(#666600)[[size=xx-small].]%(#000000)[[size=xx-small]addChatComponentMessage]%(#666600)[[size=xx-small](]%(#7f0055)[[size=xx-small]**new**]%(#000000)[[size=xx-small]ChatComponentTranslation]%(#666600)[[size=xx-small](]%(#2a00ff)[[size=xx-small]"tile.testTonMessage.kitVitesseDetectee"]%(#666600)[[size=xx-small],]%(#555555)[[size=xx-small] ]%(#7f0055)[[size=xx-small]**new**]%(#555555)[[size=xx-small] ]%(#000000)[[size=xx-small]Object]%(#666600)[[size=xx-small][[/font]]%(#646464)[[size=xx-small]0]%(#666600)[[size=xx-small]]));] }
                                        

                                        et crées une variable de type int égal à 0

                                        Sinon je ne sais pas  :huh: :huh:

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

                                          Rahh ça marche toujours pas 😕

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

                                            Quelqu’un serait comment faire ? 😕 car le message s’affiche en illimité

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB