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

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

          Tu as une erreur car je pense que tu m’as mal compris 😞
          Quand je t’ai dis de mettre le this.size = size +10, fallait pas enlever le +10 au size de ton this.content.

          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

            Non Non je t’ai bien compris^^
            j’ai ça:

            
             public InventaireArma(int size, EntityPlayer player) {
                this.prop = ExtendedPropInv.get(player);
                    this.size = size + 10;
                    this.prop.content = new ItemStack;
                    this.player = player;
            
            1 réponse Dernière réponse Répondre Citer 0
            • AymericRedA Hors-ligne
              AymericRed
              dernière édition par

              Nn tu m’as mal compris ^^
              Ça “ItemStack” devient ça “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
              • GabsG Hors-ligne
                Gabs
                dernière édition par

                Ok niquel j’ai plus l’érreur merci,
                mais maintenant mon inventaire s’ouvre plus x)

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

                  Ah…. Refait le truc des system.out.println alors

                  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

                    @‘floriangabet’:

                    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 .

                    Où ?
                    Sinon envoies-moi un zip complet de tes sources. Et dit moi exactement ce que tu veux faire (j’ai complètement perdu de vue ton objectif de base avec ces 17 pages et sur la première page tu n’avais pas expliqué ce que tu veux faire)

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

                      @‘robin4002’:

                      @‘floriangabet’:

                      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 .

                      Où ?
                      Sinon envoies-moi un zip complet de tes sources. Et dit moi exactement ce que tu veux faire (j’ai complètement perdu de vue ton objectif de base avec ces 17 pages et sur la première page tu n’avais pas expliqué ce que tu veux faire)

                      Tien je te passe mon SRC.
                      En gros se que je veux faire, c’est remplacer l’inventaire de minecraft de base, j’ai toute les class mais la j’ai un soucis c’est que l’inventaire s’ouvre plus x) et que mon item quand je le met dans mon slot et que je ferme puis ré ouvre mon inventaire il disparaît en gros l’item se save pas.
                      PS: Robin si c’est pas trop te demandé essaye de regarder aussi mon slot quand je met le curseur dessus il est tout blanc comme si le slot avait pas de texture.
                      Merci d’avance.

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

                        @‘AymericRed’:

                        Ah…. Refait le truc des system.out.println alors

                        Ouaip je fais ça de suite 🙂
                        EDIT: c’est bon aymeric l’inventaire s’ouvre c’est bon j’avais oublier un truc tout con^^ ( j’avais register mon packet côté client et je l’ouvrer côté serveur …).
                        L’item se save toujours pad 😕

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

                            Rappel : 24h entre 2 messages

                            Renvoies ton code

                            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

                              C’est vrai désolé j’avais oublier, euhh quelle classe ? Tout?

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

                                Tout ce qui est en rapport

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

                                  Il a envoyé un zip de son code précédemment, je vais regarder ça demain (pas eu le temps aujourd’hui).

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

                                    Tien robin la c’est le code que j’ai actuellement .

                                    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

                                      Bon, il y a du travail en vue …
                                      J’ai déjà modifier le nom des packages et de certaines variables pour respecter la convention Java.

                                      Utiliser le common proxy comme gui handler ce n’est pas une bonne idée.
                                      Et avoir plusieurs EEP ce n’est pas une bonne idée non plus, on peut tout mettre dans le même. En passant je vais supprimer le système obsolète de gugu pour la persistance des données (la map dans le commonproxy) et le replacer par PlayerCloneEvent (qui permet de faire la même chose mais plus facilement). J’imagine que seul l’argent doit rester, l’inventaire et l’eau non ?

                                      Sinon, c’est quoi ça ?

                                                  if(mc.thePlayer.getFoodStats().getFoodLevel() == 20)
                                                  {
                                                      str = EnumChatFormatting.WHITE + String.valueOf("100");
                                                      Minecraft.getMinecraft().fontRenderer.drawString(str, i - Minecraft.getMinecraft().fontRenderer.getStringWidth(str), j, 0);
                                                  }
                                                  else if(mc.thePlayer.getFoodStats().getFoodLevel() == 19)
                                                  {
                                                      str = EnumChatFormatting.WHITE + String.valueOf("95");
                                                      Minecraft.getMinecraft().fontRenderer.drawString(str, i - Minecraft.getMinecraft().fontRenderer.getStringWidth(str), j, 0);
                                                  }
                                       etc ...
                                      

                                      pas plus simple de rendre mc.thePlayer.getFoodStats().getFoodLevel() * 5 au lieu de faire 20 conditions ? o_O  ?

                                      Et ça :

                                                      if(prop.getAlcool() == 20 | prop.getAlcool() == 18 | prop.getAlcool() == 16 | prop.getAlcool() == 14 | prop.getAlcool() == 12 | prop.getAlcool() == 10 | prop.getAlcool() == 8 | prop.getAlcool() == 6 | prop.getAlcool() == 4 | prop.getAlcool() == 2)
                                      

                                      ???

                                      Encore dans les incohérences, j’avais pas comprit pourquoi tu voulais faire passer une arraylist d’item stack dans un paquet, je comprends encore moins. Aucun intérêt. Ton array ne sert à rien.

                                      Bon je ne sais pas exactement ce que tu veux faire avec ton gui (les slots sont visiblement mal placé et le bouton pour ouvrir ton gui est vraiment mal choisis car A sert souvent pour le drop) mais en tout cas j’ai corrigé pas mal de problème.

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

                                        Salut,

                                        Il est vrai que de faire *5 c’est beaucoup plus simple je n’ai pas pensé a ça.

                                        pour le bouton après je pourrais le modifié .

                                        Juste une question quand je veux placé un item dans mon slot quand je clique sur l’item en bas dans la barre il se drop et impossible de le placer dans le slot.

                                        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

                                          Il y a surement un problème avec la fonction transferStackInSlot du container.
                                          Franchement j’ai rien comprit à ton container, je ne vois pas comment tu veux le faire.

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

                                            Bah je veux simplement re faire un inventaire … j’ai suivi les conseils de aymeric après et j’ai pris des code de scarex.

                                            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