MFF

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

    Création d'un mod avec un backpack

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    15 Messages 4 Publieurs 1.5k 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.
    • Z Hors-ligne
      Zoulette
      dernière édition par

      Bonjour, tout d’abord merci à toi robin, je n’avais pas vu que j’etais dans le if.
      et je me demandais coment je peux interdire d’avoir 2backpack à la fois dans l’inventaire.
      je pensais faire:
      public void (ItemStack itemstack, EntityPlayer player, List list, boolean)
      {
      if (ItemStack = null)
      {
      String owner = ItemStack (“interdit”)
      list.add(EnumChatFormatting.RED + owner);
      }

      est-il possible de m’aider car je n’arrive pas à completer le code 😕

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

        /**
        * Prevents backpack-ception
        */
        @Override
        public boolean isItemValidForSlot(int index, ItemStack stack) {
        return !(stack.getItem() instanceof ItemBackPack);
        }
        

        Faudrait chercher sur le fofo, c’était mis noir sur blanc dans ce tuto : https://www.minecraftforgefrance.fr/showthread.php?tid=2197&highlight=backpack

        Oui ce gif est drôle.

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

          Bonjour, ce n’est pas de cela que je parle (tu le saurais si tu avais lu mon message comme il faut) je parle du fait d’avoir 2 backpack dans ton inventaire (pas un backpack dans un backpack)

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

            Alors je ne comprends pas vraiment le sens de la fonction que tu as faite, mais c’est qu’il faut, c’est une boucle for qui parcourt tout l’inventaire du joueur, et si un sac est rencontré ça incrément une variable. Tu peux placer ce for dans la fonction “onUpdate” ou “update” je sais plus de ton item.
            Ensuite si ta variable >= 2 tu fais quelque chose comme looter le sac au sol ou mettre un message adéquat.

            Si tu veux plus d’aide/détails fais d’abord une recherche ce sujet a déjà été traité de nombreuses fois.

            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
            • FlowF Hors-ligne
              Flow
              dernière édition par

              @‘Zoulette’:

              Bonjour, ce n’est pas de cela que je parle (tu le saurais si tu avais lu mon message comme il faut) je parle du fait d’avoir 2 backpack dans ton inventaire (pas un backpack dans un backpack)

              En soit quand tu dis l’inventaire, pour moi c’est l’inventaire du backpack. Du coup oui tu dois faire comme Aymeric t’as dis.

              Oui ce gif est drôle.

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

                Bonjou, je n’ai aucun update ou onupdate, j’ai juste OnItemRightClick

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

                  C’est normal il faut que tu l’implémentes (= ajoute), va dans la classe de l’item, commence à taper “update” et fais ctrl+space eclipse te proposera.

                  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
                  • Z Hors-ligne
                    Zoulette
                    dernière édition par

                    ReBonjour, je suis désole mais la depuis tout a lh’eur je cherche comment faire, donc j’ai creer ma boucle for et je cherche sur tous le forum pour check l’inventaire mais je trouve absolument rien Oo

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

                      Pour parcourir l’inventaire du player ca doit être assez simple, personnellement je fais comme ceci pour l’inventaire de mes propres blockContainer 🙂

                      
                             for(int i = 0; i < player.inventory.getSizeInventory(); i++) //Boucle ou l'on crée une variable i qui représente les slots de l'inventaire du joueur
                              {
                               if(player.inventory.getStackInSlot(i) != null) //Si le slot n'est pas null alors on passe au prochain
                                {
                                 if(player.inventory.getStackInSlot(i).getItem() instanceof TonItemBackPack) //Si l'item dans le slot est l'instance de ton item alors tu exécutes quelque chose
                                 {
                                    /* Ce que tu dois éxécuter */
                                 }
                                }
                               }
                      
                      

                      C’est une piste il faut améliorer.

                      Oui ce gif est drôle.

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

                        Merci, j’y vois un peu plus clair, malgré tout quelque chose reste obscurs Oo c’est le player.inventory
                        tu as créer une class player?

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

                          Re ! Donc j’ai demander à Robin (grand merci à lui de m’avoir éclairer :p)

                          Mais effectivement comme il me l’as dit il est préférable de passer par l’évent PlayerTickEvent car avec le OnUpdate côté client il pourra être contourné du coup c’est préférable de passer ça côté serveur je te conseille ce tutoriel pour te créer une classe Event (https://www.minecraftforgefrance.fr/showthread.php?tid=4207) et ensuite y ajouter cet event

                          
                          @SubscribeEvent
                          public void tickEvent(PlayerTickEvent event)
                          {
                          EntityPlayer player = event.player; //Tu récupères le player par l'event
                          if(player.inventory.hasItem(TonItem)) //Pour finir BrokenSwing (merci :p) m'a parler d'un fonction qui existe pour vérifier si le joueur à l'item, donc tu remplaces "TonItem" par ton item x)  
                              {  
                              }
                          }
                          
                          

                          Oui ce gif est drôle.

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

                            Re ! Donc j’ai demander à Robin (grand merci à lui de m’avoir éclairer :p)

                            Mais effectivement comme il me l’as dit il est préférable de passer par l’évent PlayerTickEvent car avec le OnUpdate côté client il pourra être contourné du coup c’est préférable de passer ça côté serveur je te conseille ce tutoriel pour te créer une classe Event (https://www.minecraftforgefrance.fr/showthread.php?tid=4207) et ensuite y ajouter cet event

                            
                            @SubscribeEvent
                            public void tickEvent(PlayerTickEvent event)
                            {
                            EntityPlayer player = event.player; //Tu récupères le player par l'event
                            if(player.inventory.hasItemStack(new ItemStack(TonItem))) //Pour finir BrokenSwing (merci :p) m'a parler d'un fonction qui existe pour vérifier si le joueur à l'item, donc tu remplaces "TonItem" par ton item x)  
                                {  
                                }
                            }
                            
                            

                            Oui ce gif est drôle.

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

                              j’ai un petit problème, j’ai utilisé ton code (merci au passage) mais rien ne se passe.
                              https://pastebin.com/cqMxBgmi

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

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB