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

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

            Ok, donc j’ai bien tout regardé mon packet n’est pas envoyer dans l’extended , et ma méthode est appeler que une fois.
            Mon inventaire s’ouvre toujours pas.

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

              Help?.

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

                Envoie ton code dans un zip, je regarderais avec une vue d’ensemble comme ça 🙂

                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 😄
                  Tien:

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

                    Je vais regarder ça ^^
                    Mais c’est normal que quand j’ai cliqué, j’ai eu 2 téléchargements ??

                    Alors, compte-rendu détaillé de ce que j’ai vu :

                    NBTTagCompound comp = new NBTTagCompound();
                           this.writeToNBT(comp);
                        ExtendedPropInv prop = ExtendedPropInv
                        .get(player);
                           prop.sync();
                    

                    Ceci est dans les fonctions canPlayerInteractWith()  et onGuiClosed() de ton container, et vu ce que tu en fait, ça ne sert à rien, car tu définis “comp”, tu met les données de ton inv dans ce tag et… c’est tout, le tag ne devient rien. Tu peux enlever tout ce qu’il y a en rapport avec la nbt dans ton container, car à partir du moment où tu as ajouté ton slot, minecraft s’occupe de tout synchroniser.

                    this.size = size;
                    this.content = new ItemStack;
                    

                    Dans les constructeurs de ton ExtendedInv et de ton InventaireArma, tu assignes une taille à ton inv qui est size +10, alors pouquoi tu ne met pas “this.size = size + 10” ? Car avec ce que t’a mis, comme tu réutilise ça avec tes tags, tes 10 derniers slots ne peuvent être sauvegardés.

                    Je vois aussi que tu as mis ton array de stack dans ton EntityProp, ça serait plus logique de mettre cet array dans InventaireArma (après ça change pas le fonctionnement).

                    Et une question, tu veux totalement remplacer l’inventaire vanilla ou juste l’étendre, car dans ton container, on n’a pas accès à l’inventaire vanilla (mis à part la hotbar) ?

                    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 j’essaye ça je te dis des nouvelles,
                      en gros moi aymeric se que je veux faire c’est remplacer l’inv vanilla oui, je les cancelled en solo mais en multi non pour les construction etc ^^.
                      Résultat: l’inv s’ouvre plus d’érreur niquel mais j’ai encore un soucis il save pas mon item! c’est chiant ça je vois pas d’ou ça vient .

                      EDIT: ah si finalement j’ai un soucis (quand j’ouvre l’inventaire que je ferme puis que je réouvre j’ai ça 😞

                      
                      [19:21:48] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 100 packets have leaked. Top offenders
                      [19:21:48] [Client thread/ERROR] [FML]: amm: : 100
                      [19:21:52] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 200 packets have leaked. Top offenders
                      [19:21:52] [Client thread/ERROR] [FML]: amm: : 200
                      [19:21:53] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 300 packets have leaked. Top offenders
                      [19:21:53] [Client thread/ERROR] [FML]: amm: : 300
                      [19:21:54] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 400 packets have leaked. Top offenders
                      [19:21:54] [Client thread/ERROR] [FML]: amm: : 400
                      [19:21:56] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 500 packets have leaked. Top offenders
                      [19:21:56] [Client thread/ERROR] [FML]: amm: : 500
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • AymericRedA Hors-ligne
                        AymericRed
                        dernière édition par

                        Ah oui, il y a un problème de packets, je mange donc je vois ça après, sinon essaye de mettre un throw new Throwable() dans le constructeur du pa ket, t’aura tt la stack trace pour savoir où c’est appelé

                        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, mais le problème de packet n’est pas le plus important pour moi le gros soucis c’est que ça ne save pas mon item .
                          Pour le throwable je vais regarder comment ça marche car j’ai j’aimais utilisé.

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

                            C’est juste une erreur, et comme les erreurs donnent des stacks trace, ben c’est pratique, ou sinon tu peux aussi faire clic droit sur la fonction et open call hierarchy dans éclipse.pour le pb de packet,je pense qu’il vaut mieux le résoudre parce ça va lagger

                            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, pour le soucis des packets je sais pas du tout d’ou il vient.
                              EDIT: Quand je spam la touche pour ouvrir l’inventaire la les erreurs apparaisse .
                              Et pour le guiclosed, j’ai plus que le extendedprop donc le soucis vient de la sync du extended je pense …

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

                                T’a qu’à mettre un blocage si le gui est déjà ouvert.
                                Et pour la sync, Minecraft s’occupe déjà de sync tt cequi est slots, donc tu peux l’enlever.

                                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 con je vais voir ça, pour le slot j’ai tout viré c’est pareil…

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

                                    T’es sur ? Tu mets bien l’item, tu sors et tu remets ?
                                    Aussi je viens de penser, oublie pas, dans les méthodes de ton container de mettre les super.lenomdelafonction() à chaque

                                    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

                                      Oui je met mon item dans le slot, je quitte l’inventaire puis je le ré ouvre l’item a disparu comme si mon inventaire était une poubelle x).
                                      Pour le super.nomfonction(); je l’avais déjà.
                                      Je vois pas comment minecraft peut enregistrer mon item aussi j’ai que ça dans ma fonction de close:

                                      @Override
                                      public void onContainerClosed(EntityPlayer player) {
                                             super.onContainerClosed(player);
                                      }
                                      
                                      1 réponse Dernière réponse Répondre Citer 0
                                      • AymericRedA Hors-ligne
                                        AymericRed
                                        dernière édition par

                                        Vérifies aussi pour tes autres fonctions.
                                        Parce que quand par exemple tu fais un four, ta pas besoin de rajouter de packet pour sync ou quoi que ce soit

                                        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

                                          J’ai que pour le containerclosed et slotclick en super.fonction();

                                          J’ai une érreur ici quand je ferme mon inv:

                                          
                                          [19:09:17] [Client Shutdown Thread/ERROR] [FML]: Failed to save extended properties for ExtPropInv.  This is a mod issue.
                                          [19:09:17] [Client Shutdown Thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.lang.ArrayIndexOutOfBoundsException: 0
                                          [19:09:17] [Client Shutdown Thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at armacraft.net.ExtendedPropInv.saveNBTData(ExtendedPropInv.java:55)
                                          [19:09:17] [Client Shutdown Thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.entity.Entity.writeToNBT(Entity.java:1527)
                                          [19:09:17] [Client Shutdown Thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.server.integrated.IntegratedPlayerList.writePlayerData(IntegratedPlayerList.java:33)
                                          [19:09:17] [Client Shutdown Thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.server.management.ServerConfigurationManager.saveAllPlayerData(ServerConfigurationManager.java:949)
                                          [19:09:17] [Client Shutdown Thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:398)
                                          [19:09:17] [Client Shutdown Thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:266)
                                          [19:09:17] [Client Shutdown Thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.client.Minecraft.stopIntegratedServer(Minecraft.java:2789)
                                          [19:09:17] [Client Shutdown Thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.client.main.Main$3.run(Main.java:154)
                                          
                                          Java HotSpot(TM) Client VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
                                          
                                          

                                          Class extendedpropinv:

                                          
                                          package armacraft.net;
                                          
                                          import java.util.ArrayList;
                                          
                                          import scala.collection.mutable.ArrayStack;
                                          import armacraft.net.GUI.InventaireArma;
                                          import armacraft.net.Packets.PacketInv;
                                          import armacraft.net.Packets.PacketMoney;
                                          import armacraft.net.Proxy.CommonProxy;
                                          import net.minecraft.entity.Entity;
                                          import net.minecraft.entity.player.EntityPlayer;
                                          import net.minecraft.entity.player.EntityPlayerMP;
                                          import net.minecraft.item.ItemStack;
                                          import net.minecraft.nbt.NBTTagCompound;
                                          import net.minecraft.nbt.NBTTagList;
                                          import net.minecraft.world.World;
                                          import net.minecraftforge.common.IExtendedEntityProperties;
                                          import net.minecraftforge.common.util.Constants;
                                          
                                          public class ExtendedPropInv implements IExtendedEntityProperties{
                                          
                                          public final static String EXT_PROP_Inv = "ExtPropInv";
                                          
                                          private static InventaireArma inv;
                                          private final EntityPlayer player;
                                          public ItemStack[] content;
                                          public static int size;
                                          public ArrayList <itemstack[]>items = new ArrayList<itemstack[]>();
                                          
                                              public ExtendedPropInv(InventaireArma inv, EntityPlayer player, int size) {
                                          this.inv = inv;
                                          this.player = player;
                                          this.size = size + 10;
                                          this.content = new ItemStack;
                                          }
                                          
                                              public static final void register(EntityPlayer player) {
                                          player.registerExtendedProperties(ExtendedPropInv.EXT_PROP_Inv,
                                          new ExtendedPropInv(inv, player, size));
                                              }
                                          
                                              public static final ExtendedPropInv get(EntityPlayer player) {
                                              return (ExtendedPropInv) player.getExtendedProperties(EXT_PROP_Inv);
                                              }
                                          
                                              @Override
                                          public void saveNBTData(NBTTagCompound comp) {
                                              NBTTagList nbtlist = new NBTTagList();
                                          
                                          for (int i = 0; i < this.size; i++) {
                                          if (this.content* != null) {
                                          NBTTagCompound comp1 = new NBTTagCompound();
                                          comp1.setInteger("Slot", i);
                                          this.content*.writeToNBT(comp1);
                                          nbtlist.appendTag(comp1);
                                          }
                                          }
                                          }
                                          
                                          @Override
                                          public void loadNBTData(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.content[slot] = ItemStack.loadItemStackFromNBT(comp1);
                                          }
                                          }
                                          
                                          public final void sync() {
                                          PacketInv packetInv = new PacketInv(this.items);
                                                    AltisMineMod.network.sendToServer(packetInv);
                                          
                                          if (!player.worldObj.isRemote) {
                                          EntityPlayerMP player1 = (EntityPlayerMP) player;
                                          AltisMineMod.network.sendTo(packetInv, player1);
                                          }
                                          }
                                          
                                          private static String getSaveKey(EntityPlayer player) {
                                          return player.getDisplayName() + ":" + EXT_PROP_Inv;
                                          }
                                          
                                          public static void saveProxyData(EntityPlayer player) {
                                          ExtendedPropMoney playerData = ExtendedPropMoney.get(player);
                                          NBTTagCompound savedData = new NBTTagCompound();
                                          
                                          playerData.saveNBTData(savedData);
                                          CommonProxy.storeEntityData(getSaveKey(player), savedData);
                                          }
                                          
                                          public static void loadProxyData(EntityPlayer player) {
                                          ExtendedPropMoney playerData = ExtendedPropMoney.get(player);
                                          NBTTagCompound savedData = CommonProxy
                                          .getEntityData(getSaveKey(player));
                                          
                                          if (savedData != null) {
                                          playerData.loadNBTData(savedData);
                                          }
                                          playerData.sync();
                                          }
                                          
                                          @Override
                                          public void init(Entity entity, World world) {
                                          // TODO Auto-generated method stub
                                          
                                          }
                                          
                                          public void setItem(ArrayList <itemstack[]>items2) {
                                          this.items = items2;
                                          
                                          }
                                          
                                          }
                                          
                                          ```</itemstack[]></itemstack[]></itemstack[]>
                                          1 réponse Dernière réponse Répondre Citer 0
                                          • GabsG Hors-ligne
                                            Gabs
                                            dernière édition par

                                            Robin, Tu peux pas regardé pourquoi mon item se save pas et pourquoi j’ai des erreurs de packet stp ta mon src plus haut .

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 9
                                            • 10
                                            • 2 / 10
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB