• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • S'inscrire
  • Se connecter
  • Recherche
  • Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes

Résolu Problème IGUIHandler

1.7.x
1.7.10
7
191
29.4k
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.
  • AymericRed
    AymericRed dernière édition par 11 mars 2016, 16:13

    ça m’a l’air d’être bon, je vérifierais en détail tout à l’heure en regardant comment la fermeture des container est gérée. Vérifies juste que tes méthodes read et write soient bien appelée (clic droit sur la fonction –> Call hierarchy).
    Et je précise que tu tu compliques la vie dans des fonctions de nbt, tu pourrais directement utiliser le tag pasé en paramètre pour set l’id du slot et sont contenu au lieu de passé pas un tag que tu mets dans une liste que tu mets dans le tag d’origine.

    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
    • Gabs
      Gabs dernière édition par 11 mars 2016, 17:18

      D’accord merci,
      [font=Ubuntu, sans-serifJe préfère pas toucher car je connais pas les container et tout si je commence a touché ça va crash et tout donc je préfère laisser comme ça pour le moment du moment que ça marche ça me dérange pas x) .]

      [font=Ubuntu, sans-serifEDIT:]

      [font=Ubuntu, sans-serifAlors,]

      [font=Ubuntu, sans-serifdans le read c’est vide il est pas appeler et dans le write il est juste appeler dans la class container quand on close dans la fonction “onContainerClosed” .]

      1 réponse Dernière réponse Répondre Citer 0
      • AymericRed
        AymericRed dernière édition par 11 mars 2016, 18:59

        Ton container, il est ouvert avec ton item ?
        Donc il faut que tu récupères le held item du joueur, que tu vérifies si il a des tags nbt et si oui, t’appelle ta fonction read avec ces tags.

        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
        • Gabs
          Gabs dernière édition par 11 mars 2016, 19:17

          Nan il est ouvert avec un keybinding ^^, Je dois faire comment quand c’est comme ça ?

          Edit:
          J’ai essayer ça:

          private void keyTestTyped()
          {
          EntityPlayer player = Minecraft.getMinecraft().thePlayer;
          World world = player.worldObj;
          if (stack.hasTagCompound()) stack.setTagCompound(new NBTTagCompound()); // ici la ligne qui cause prob.
          inv.readFromNBT(stack.getTagCompound());
          player.openGui(AltisMineMod.INSTANCE, 0, world, (int) player.posX, (int) player.posY, (int) player.posZ);
          }

          J’ai un crash ^^

          1 réponse Dernière réponse Répondre Citer 0
          • AymericRed
            AymericRed dernière édition par 11 mars 2016, 21:57

            Non mais en fait ce qu’il faut dans ce cas où l’inventaire n’est pas dans un item, c’est faire un extended entity Properties (je n’en ai jamais fait mais y a un tuto je crois)

            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
            • Gabs
              Gabs dernière édition par 11 mars 2016, 23:54

              Waa le bordel ^^ ehh t’aurais le lien ou des mots clé pour que je trouve ? se serrai super 😄

              1 réponse Dernière réponse Répondre Citer 0
              • AymericRed
                AymericRed dernière édition par 12 mars 2016, 10:03

                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
                • Gabs
                  Gabs dernière édition par 12 mars 2016, 10:46

                  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
                  • AymericRed
                    AymericRed dernière édition par 12 mars 2016, 11:17

                    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
                    • Gabs
                      Gabs dernière édition par 12 mars 2016, 11:22

                      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
                      • AymericRed
                        AymericRed dernière édition par 12 mars 2016, 12:19

                        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
                        • Gabs
                          Gabs dernière édition par 12 mars 2016, 13:06

                          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
                          • AymericRed
                            AymericRed dernière édition par 12 mars 2016, 13:25

                            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
                            • Gabs
                              Gabs dernière édition par 12 mars 2016, 21:42

                              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
                              • robin4002
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 12 mars 2016, 21:57

                                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
                                • AymericRed
                                  AymericRed dernière édition par 12 mars 2016, 22:04

                                  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
                                  • Gabs
                                    Gabs dernière édition par 12 mars 2016, 23:53

                                    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
                                    • AymericRed
                                      AymericRed dernière édition par 13 mars 2016, 00:04

                                      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
                                      • Gabs
                                        Gabs dernière édition par 13 mars 2016, 00:07

                                        C’est pareil 😕

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • robin4002
                                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 13 mars 2016, 09:48

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

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB