MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    NBTTagCompound avec WorldSavedData qui ne marche qu'à moitié

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    13 Messages 4 Publieurs 3.7k Vues 1 Abonné
    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.
    • RedRelayR Hors-ligne
      RedRelay Moddeurs confirmés
      dernière édition par

      Tu confond readFromNBT et writeToNBT.
      readFromNBT = lire depuis le NBT, donc tu as un NBT remplis et tu dois charger ta liste.
      writeToNBT = ecrire vers le NBT, donc tu as un NBT vide que tu dois remplir

      Pour l’instant tu fais l’inverse, c’est pour ça que ça ne marche pas.

      actualZonesList ne doit pas être en static, soit tu appel Load dès que tu veux l’instance de ZoneListSaved, soit s’il n’y a qu’une seule instance, tu fais un singleton.

      –------------------------------------------------------------------------------------
      Si tu trouves mon intervention pertinente, n'hésite pas a m…

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

        Je ne comprends pas très bien 
        Comment je peux faire une instance de ZoneListSaved si il n’est pas static ?
        Il faut que je fasse une instance de ZoneListSaved comme dans la classe principale ? Dans ce cas autant passer la méthode load en un type void…

        Au fait je viens de rectifier le soucis dans les 2 méthodes NBTTag

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

          Up
          Je n’ai toujours rien trouvé de +
          Blackout à l’aide xD

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

            @Override
            public void readFromNBT(NBTTagCompound compound)
            {
            if(!actualZonesList.isEmpty())
            {
            Iterator <string>iterator = actualZonesList.iterator();
            while(iterator.hasNext())
            {
            compound.setString("actualZonesList", iterator.next());
            }
            }
            }
            

            pourquoi tu setString dans un Read?

            on set le tag dans le Write et on get dans le read pas l inverse xD
            (j’ai fait la même erreur pas plus tard que ce matin)
            sinon forcement ça fonctionne pas</string>

            “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

              Blackout me l’avait déjà signalé plus haut ^^
              J’ai modifié mais en vain rien à faire, le problème persiste …

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

                ici de set un String: compound.setString(“actualZonesList”, iterator.next());

                ici tu recupere un int /int size = compound.getInteger(“actualZonesList”);

                ça peut pas fonctionné si tu set un string tu récupère un string
                si tu veut pour les int ca marche pareil

                “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

                  @‘VirusZ’:

                  ici de set un String: compound.setString(“actualZonesList”, iterator.next());

                  ici tu recupere un int /int size = compound.getInteger(“actualZonesList”);

                  ça peut pas fonctionné si tu set un string tu récupère un string
                  si tu veut pour les int ca marche pareil

                  Si ça fonctionne, j’ai mis le même code dans mon entity.
                  Le seul truc qui doit être en commun c’est pas le type de getter / setter c’est le String passé en argument. Là en l’occurence “actualZoneList”.

                  Tkt les NBT je sais comment ça marche, maintenant. Même si il est vrai qu’il y a plusieurs mois, je n’y comprenais rien xD

                  1 réponse Dernière réponse Répondre Citer 0
                  • RedRelayR Hors-ligne
                    RedRelay Moddeurs confirmés
                    dernière édition par

                    Tu as combien d’instance de ZoneListSaved dans ton mod ? une instance unique ou plusieurs instance ?

                    –------------------------------------------------------------------------------------
                    Si tu trouves mon intervention pertinente, n'hésite pas a m…

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

                      @‘Blackout’:

                      Tu as combien d’instance de ZoneListSaved dans ton mod ? une instance unique ou plusieurs instance ?

                      Je n’ai aucune instance de ZoneListSaved dans mon mod, puique je ne procède que par des méthodes statics : mon getter d’ArrayList <string>en static et la méthode load aussi en static</string>

                      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 faut éviter de mélanger les méthodes non static avec des variables static.
                        Fait toi une instance unique et static de la classe ZoneListSaved, passe la variable actualZonesList en non static puis sert toi de l’instance de la classe ZoneListSaved pour get la liste.

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

                          Je vais réfléchir à ce que tu m’as dit 🙂

                          1 réponse Dernière réponse Répondre Citer 0
                          • RedRelayR Hors-ligne
                            RedRelay Moddeurs confirmés
                            dernière édition par

                            Renseignes toi sur le design pattern Singleton 😉

                            –------------------------------------------------------------------------------------
                            Si tu trouves mon intervention pertinente, n'hésite pas a m…

                            1 réponse Dernière réponse Répondre Citer 0
                            • 1 / 1
                            • Premier message
                              Dernier message
                            Design by Woryk
                            ContactMentions Légales

                            MINECRAFT FORGE FRANCE © 2024

                            Powered by NodeBB