MFF

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

    Problème IGUIHandler

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    191 Messages 7 Publieurs 34.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.
    • AymericRedA Hors-ligne
      AymericRed
      dernière édition par

      Tiens

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

        Ah ouais merci, j’avais déjà utilisé ça, par contre a la place je dois prendre mon inv c’est ça ? alors je dois prendre le joueur et dans le packet j’ouvre l’inv au joueur .

        Sinon y’a pas un moyen plus simplement normalement on a pas besoin de ça j’crois ^^

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

          Si tu n’as pas d’item ou de bloc pour le sauvegarder, t’es obligé de passer pas la

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

            D’acc bon bah je vais essayer merci je te dis si j’ai besoin d’aide juste tu peux répondre a la question juste au desus ?

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

              Je sais pas pour ta question du haut, je sais pas du tout comment les entity Properties fonctionnent, dsl.

              EDIT : j’ai regardé rapidement le tuto, et donc dans le packet, il faut que tu mettes ton array de stacks sous forme de nbt que tu write dans le PacketBuffer (ou ByteBuffer), à la réception, tu récupère le tag et tu recompose ton array.

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

                D’accord merci je pense que j’ai un truc la, par contre j’ai un soucis comment je fais la?:
                class packet:

                
                public ArrayList <itemstack[]>items = new ArrayList<itemstack[]>();
                
                @Override
                public void fromBytes(ByteBuf buf) {
                                this.items = buf.readBytes(this.items); // érreur ici
                }
                
                @Override
                public void toBytes(ByteBuf buf) {
                                buf.array().equals(this.items); // j'ai mis sa j'ai pas dérreur mais jpense que c'est faux 
                }
                

                Je trouve pas le bon buf</itemstack[]></itemstack[]>

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

                  Si tu veux utiliser les nbt avec les buffets, il faut un PacketBuffer (new PacketBuffer (ton bytebuffer);)

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

                    Comment ça? tu peux m’expliqué mieux j’ai du mal a comprendre .

                    Dis moi quand j’ouvre mon inv avec un packet side serveur j’ai plus le soucis de l’item qui se drop quand je ferme l’inv par contre l’item se save pas dans le slot que ferme et je ré ouvre il est plus dedans .

                    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

                      Faut faire comme ça pour une array list :

                      
                      public ArrayList <itemstack[]>items = new ArrayList<itemstack[]>();
                      
                      @Override
                      public void fromBytes(ByteBuf buf) {
                      int size = buf.readInt();
                      for(int i = 0; i < size; i++)
                      {
                      items.add(ByteBufUtils.readItemStack(buf));
                      }
                      }
                      
                      @Override
                      public void toBytes(ByteBuf buf) {
                      buf.writeInt(items.size);
                      for(ItemStack stack : items)
                      {
                      ByteBufUtils.writeItemStack(buf, stack);
                      }
                      }
                      ```</itemstack[]></itemstack[]>
                      1 réponse Dernière réponse Répondre Citer 0
                      • AymericRedA Hors-ligne
                        AymericRed
                        dernière édition par

                        Ah oui je me rappelkais plus qu’on pouvait mettre directement les items stacks

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

                          Merci robin,

                          j’ai quelques érreur par contre:

                          
                          @Override
                          public void fromBytes(ByteBuf buf) {
                             int size = buf.readInt();
                             for(int i = 0; i < size; i++)
                             {
                                 items.add(ByteBufUtils.readItemStack(buf)); // ici le add a une érreur et quand je met addAll c'est pareil.
                             }
                          }
                          
                          @Override
                          public void toBytes(ByteBuf buf) {
                             buf.writeInt(items.size());
                             for(ItemStack stack : items) // ici il me demande de mettre ItemStack[] a la place.
                             {
                                 ByteBufUtils.writeItemStack(buf, stack);
                             }
                          }
                          
                          

                          Merci de votre aide!

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

                            Si tu veux faire comme ça, ne passe pas par une liste mais directement par un array de stacks

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

                              C’est pareil 😕

                              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

                                Ah j’avais pas fait attention que s’était une liste de tableau d’item stack x)
                                Du-coup faut deux boucles.

                                @Override
                                public void fromBytes(ByteBuf buf) {
                                  int size = buf.readInt();
                                  for(int i = 0; i < size; i++)
                                  {
                                      ItemStack[] stacks = new ItemStack[buf.readInt()];
                                      for(int j = 0; j < stacks.length; j++)
                                      {
                                          stacks[j] = ByteBufUtils.readItemStack(buf);
                                      }
                                      items.add(stacks);
                                  }
                                }
                                
                                @Override
                                public void toBytes(ByteBuf buf) {
                                  buf.writeInt(items.size());
                                  for(ItemStack[] stacks : items)
                                  {
                                      buf.writeInt(stacks.length);
                                      for(int i = 0; i < stacks.length;i++)
                                      {
                                           ByteBufUtils.writeItemStack(buf, stacks_);
                                      }
                                  }
                                }
                                ```_
                                1 réponse Dernière réponse Répondre Citer 0
                                • AymericRedA Hors-ligne
                                  AymericRed
                                  dernière édition par

                                  Pas besoin de se compliquer la vie avec une liste, une n’a pas plusieurs array à envoyer

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

                                    C’e’st toujours pareil j’ai toujours deux érreur pour l’instant au même endroit

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

                                      Montre le code que tu as

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

                                        Tien:

                                        
                                        public class PacketInv implements IMessage{
                                        
                                        public ArrayStack <itemstack[]>items = new ArrayStack<itemstack[]>();
                                        
                                        public PacketInv(ArrayStack <itemstack[]>items2) {
                                        this.items = items2;
                                        }
                                        
                                        @Override
                                        public void fromBytes(ByteBuf buf) {
                                         int size = buf.readInt();
                                         for(int i = 0; i < size; i++)
                                         {
                                             ItemStack[] stacks = new ItemStack[buf.readInt()];
                                             for(int j = 0; j < stacks.length; j++)
                                             {
                                                 stacks[j] = ByteBufUtils.readItemStack(buf);
                                             }
                                             items.add(stacks);
                                         }
                                        }
                                        
                                        @Override
                                        public void toBytes(ByteBuf buf) {
                                         buf.writeInt(items.size());
                                         for(ItemStack[] stacks : items)
                                         {
                                             buf.writeInt(stacks.length);
                                             for(int i = 0; i < stacks.length;i++)
                                             {
                                                  ByteBufUtils.writeItemStack(buf, stacks_);
                                             }
                                         }
                                        }
                                        
                                         public static class Handler implements IMessageHandler <packetinv, imessage="">{
                                        
                                        @Override
                                        public IMessage onMessage(PacketInv message, MessageContext ctx) {
                                        EntityPlayerMP player = ctx.getServerHandler().playerEntity;
                                        ExtendedPropInv props = ExtendedPropInv
                                        .get(player);
                                        props.setItem(message.items);
                                        return message;
                                        }
                                         }
                                        
                                        }
                                        
                                        ```</packetinv,>_</itemstack[]></itemstack[]></itemstack[]>
                                        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

                                          Elles sont où les erreurs ?

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

                                            
                                            1.  public ItemStack[] items;
                                            2.  public PacketInv(ItemStack[] items2) {
                                            3.  this.items = items2;
                                            4.  }
                                            5.  @Override
                                            6.  public void fromBytes(ByteBuf buf) {
                                            7.  int size = buf.readInt();
                                            8.  items = new ItemStack;
                                            9.  for(int i = 0; i < size; i++)
                                            10.  {
                                            11.  items* = ByteBufUtils.readItemStack(buf);
                                            12.  }
                                            13.  }
                                            14.  @Override
                                            15.  public void toBytes(ByteBuf buf) {
                                            16.  buf.writeInt(items.lenght);
                                            17.  for(ItemStack stack : items)
                                            18.  {
                                            19.  ByteBufUtils.writeItemStack(buf, stack);
                                            20.  }
                                            21.  }
                                            22.  public static class Handler implements IMessageHandler <packetinv, imessage="">{</packetinv,>
                                            23.  @Override
                                            24.  public IMessage onMessage(PacketInv message, MessageContext ctx) {
                                            25.  EntityPlayerMP player = ctx.getServerHandler().playerEntity;
                                            26.  ExtendedPropInv props = ExtendedPropInv
                                            27.  .get(player);
                                            28.  props.setItem(message.items);
                                            29.  return message;
                                            30.  }
                                            31.  }
                                            32.  }
                                            
                                            

                                            Ce sera plus simple comme ça, après faut que tu changes deux trois trucs au niveau de ton ExtendedPropInv comme c’est un array au lieu d’une liste d’arrays.

                                            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
                                            • 1
                                            • 2
                                            • 6
                                            • 7
                                            • 8
                                            • 9
                                            • 10
                                            • 9 / 10
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB