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

                          @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); // ici le add n'est pas définie pour les array de stack
                           }
                          }
                          
                          @Override
                          public void toBytes(ByteBuf buf) {
                           buf.writeInt(items.size());
                           for(ItemStack[] stacks : items) // et ici j'ai compris, je te met les screens des deux érreur au cas ou.
                           {
                               buf.writeInt(stacks.length);
                               for(int i = 0; i < stacks.length;i++)
                               {
                                    ByteBufUtils.writeItemStack(buf, stacks_);
                               }
                           }
                          
                          

                          Screen:

                          http://puu.sh/nEYgt/2f7b234006.PNG

                          http://puu.sh/nEYhv/862e11f1c4.PNG_

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

                            Eclipse a accepté que tu mettes ArrayStack <itemstack[]>?, parce qu’il faut mettre ArrayList <itemstack[]>au lieu de ce que t’a mis.</itemstack[]></itemstack[]>

                            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
                            • robin4002R Hors-ligne
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                              dernière édition par

                              Tu peux envoyer ta classe avec les importations ? Car ce n’est pas normal.

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

                                import java.util.ArrayList;
                                
                                import scala.collection.mutable.ArrayStack;
                                import io.netty.buffer.ByteBuf;
                                import net.minecraft.entity.player.EntityPlayerMP;
                                import net.minecraft.item.ItemStack;
                                import net.minecraft.network.PacketBuffer;
                                import net.minecraft.world.World;
                                import armacraft.net.AltisMineMod;
                                import armacraft.net.ExtendedEntityPropWater;
                                import armacraft.net.ExtendedPropInv;
                                import armacraft.net.ExtendedPropMoney;
                                import cpw.mods.fml.common.network.ByteBufUtils;
                                import cpw.mods.fml.common.network.simpleimpl.IMessage;
                                import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
                                import cpw.mods.fml.common.network.simpleimpl.MessageContext;
                                
                                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
                                • AymericRedA Hors-ligne
                                  AymericRed
                                  dernière édition par

                                  Ah ok je vois d’où ça vient… Remplace tout les “ArrayStack” par des “ArrayList” (dans ton ExtendedEntityProperties aussi).

                                  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
                                  • robin4002R Hors-ligne
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                    dernière édition par

                                    J’avais même pas vu plutôt x)

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

                                      C’est bon merci ^^ 😄

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

                                        résolu ?

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

                                          Nan ^^ toujours pas,
                                          Question:
                                          Je dois créer une fonction ou passer par un packet pour ouvrir mon inventaire ?

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

                                            Si c’est un GuiContainer : FMLNetworkHandler.openGui(player, instanceDuMod, idDuGui, world, x, y, z);

                                            Si c’est un simple Gui c’est plus compliqué

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB