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

      Pas forcément comme t’a changer le code, montre ton inv du coup

      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

        package armacraft.net.GUI;
        
        import armacraft.net.ExtendedPropInv;
        import armacraft.net.Items.Water;
        import net.minecraft.client.Minecraft;
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.inventory.IInventory;
        import net.minecraft.item.Item;
        import net.minecraft.item.ItemStack;
        import net.minecraft.nbt.NBTTagCompound;
        import net.minecraft.nbt.NBTTagList;
        import net.minecraftforge.common.util.Constants;
        
        public class InventaireArma implements IInventory
        {
            private EntityPlayer player;
            ExtendedPropInv prop;
            public int size;
        
            public InventaireArma(int size, EntityPlayer player) {
                this.size = size;
                this.prop.content = new ItemStack;
                this.player = player;
                this.prop = ExtendedPropInv.get(player);
            }
        
        /**
        * This methods reads the content of the NBTTagCompound inside the container
        * 
        * @param comp
        *            the container NBTTagCompound
        */
        public void readFromNBT(NBTTagCompound comp) {
        NBTTagList nbtlist = comp.getTagList("a", Constants.NBT.TAG_COMPOUND);
        for (int i = 0; i < nbtlist.tagCount(); i++) {
        NBTTagCompound comp1 = nbtlist.getCompoundTagAt(i);
        int slot = comp1.getInteger("z");
        this.prop.content[slot] = ItemStack.loadItemStackFromNBT(comp1);
        }
        }
        
        /**
        * This methods saves the content inside the container
        * 
        * @param comp
        *            the NBTTagCompound to write in
        */
        public void writeToNBT(NBTTagCompound comp)
           {
        NBTTagList nbtlist = new NBTTagList();
        
        for (int i = 0; i < this.size; i++) {
        if (this.prop.content* != null) {
        NBTTagCompound comp1 = new NBTTagCompound();
        comp1.setInteger("Slot", i);
        this.prop.content*.writeToNBT(comp1);
        nbtlist.appendTag(comp1);
        }
        }
        comp.setTag("Inventory", nbtlist);
           }
        
        @Override
        public int getSizeInventory() {
        return this.size;
        }
        
        @Override
        public ItemStack getStackInSlot(int index) {
        return this.prop.content[index];
        }
        
        @Override
        public ItemStack decrStackSize(int index, int amount) {
        ItemStack stack = getStackInSlot(index);
        if (stack != null) {
        if (stack.stackSize > amount) {
        stack = stack.splitStack(amount);
        if (stack.stackSize == 0) this.prop.content[index] = null;
        } else {
        this.prop.content[index] = null;
        }
        }
        return stack;
        }
        
        @Override
        public ItemStack getStackInSlotOnClosing(int index) {
        ItemStack stack = getStackInSlot(index);
        if (stack != null) this.prop.content[index] = null;
        return stack;
        }
        
        @Override
        public void setInventorySlotContents(int index, ItemStack stack) {
        this.prop.content[index] = stack;
        }
        
        @Override
        public String getInventoryName() {
        return "amm" + ".inventaire.arma";
        }
        
        @Override
        public boolean hasCustomInventoryName() {
        return false;
        }
        
        @Override
        public int getInventoryStackLimit() {
        return 64;
        }
        
        @Override
        public void markDirty() {}
        
        @Override
        public boolean isUseableByPlayer(EntityPlayer player) {
        return true;
        }
        
        @Override
        public void openInventory() {
        
        }
        
        @Override
        public void closeInventory() {
        }
        
        /**
        * Prevents backpack-ception
        */
        @Override
        public boolean isItemValidForSlot(int index, ItemStack stack) {
        return !(stack.getItem() instanceof Water);
        }
        
        }
        
        1 réponse Dernière réponse Répondre Citer 0
        • AymericRedA Hors-ligne
          AymericRed
          dernière édition par

          T’a fait ce que j’ai dit dans l’autre message à moitié… Il faut que tu définisses this.prop dans ton constructeur, sinon ça marchera pas.

          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

            Attend, le constructeur c’est pas le code dans le commonproxy ?

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

              Whaaaat ? Je parle du constructeur de ton InventaireArma.

              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

                Est bah le soucis il est ou ? 
                j’ai ça dedant: this.prop = ExtendedPropInv.get(player);

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

                  Ah oui dsl, j’avais pas vu :-/, mais de tt façon, il faut que tu le mettes avant this.prop.content = ……, car à cette endroit, prop n’est pas encore défini.

                  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

                    Pas grave ^^, Effectivement, quand je le met en premier plus de crash mais par contre mon inventaire s’ouvre pas et  y’a des soucis avec les packet a l’infinie tu m’avais dis de faire quoi déjà j’ai oublier ^^

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

                      C’était que à la réception du packet, tu appelles setItem() de ton extended prop et que cette fonction appele sync() qui renvoie un packet.

                      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

                        Effectivement ^^, par contre mon inv s’ouvre pas 😮 comme si il était cancelled.

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

                          ? Tu ouvres bien le container sur le serveur et le gui sur le client ? Met un System.out.println() dans ton GuiHandler, puis dans tes différents composants pour voir où ça se bloque

                          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

                            Je pense que c’est ici le prob.
                            [19:36:29] [Client thread/INFO] [STDOUT]: [armacraft.net.GUI.ContainerArma:<init>:29]: // il s’ouvre côté client puis serveur
                            [19:36:29] [Server thread/INFO] [STDOUT]: [armacraft.net.GUI.ContainerArma:<init>:29]:</init></init>

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

                              Je sais pas, pense pas mais possible, alors ouvre uniquement sur le serveur if(!world.isRemote) où tu appelles openGui

                              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

                                Ok,
                                donc j’ai ça maintenant:

                                [21:49:39] [Server thread/INFO] [STDOUT]: [armacraft.net.GUI.ContainerArma:<init>:29]: 
                                [21:49:39] [Server thread/INFO] [STDOUT]: [armacraft.net.Packets.PacketInv$Handler:onMessage:69]: 
                                [21:49:39] [Server thread/INFO] [STDOUT]: [armacraft.net.Packets.PacketInv$Handler:onMessage:69]:
                                [21:49:39] [Client thread/INFO] [STDOUT]: [armacraft.net.GUI.ContainerArma:<init>:29]: 
                                [21:49:39] [Server thread/INFO] [STDOUT]: [armacraft.net.Packets.PacketInv$Handler:onMessage:69]:
                                

                                Et mon inv s’ouvre pas, pour info j’ouvre mon inv avec un packet qui passe côté serveur .</init></init>

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

                                  Donc t’a une boucle, tu renvoies où le packet ?

                                  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

                                    Je r’envois rien du tout j’ai juste le player.opengui et le if(!world.isremote) dans mon IMessage

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

                                      Je voulais pas dire Renvoie, mais envoie le packet

                                      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, bah je return message; donc je return sur mon Packet ou y’a le player.opengui

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

                                          Ahhh bah dans mon keyinputevent dans mon client proxy je l’envois avec un sendtoserver

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

                                            Vérifies que cette méthode ne soit pas rappeler quelle que part. Et vérifiés aussi que t’envoie pas ce packet dans ton Extended Properties

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB