MFF

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

    Demande sur le serveur.dat

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    24 Messages 6 Publieurs 4.4k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Cela sert à obtenir la tag list nommé servers.

      Quelle est l’erreur ?

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

        @‘robin4002’:

        Cela sert à obtenir la tag list nommé servers.

        Quelle est l’erreur ?

        L’erreur est nbttagcompound cannot be resolved et il me propose de le changer en NBTTagCompound et alors l’erreur devient : Cannot make a static reference to the non-static method getTagList(String, int) from the type NBTTagCompound

        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

          remplaces par serverNbt

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

            @‘robin4002’:

            remplaces par serverNbt

            Ah oui merci et j’ais une derniére erreur à ```java
            serverNbt.setTag(“servers”, nbttaglist);

            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

              serverList devrait passer.

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

                @‘robin4002’:

                serverList  devrait passer.

                non cela donne comme erreur : Default constructor cannot handle exception type IOException thrown by implicit super constructor. Must define an explicit constructor

                à CompressedStreamTools.read(serverDatFile);
                et à CompressedStreamTools.safeWrite(serverNbt, serverDatFile);

                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 mettre tout le code dans un bloc try catch.

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

                    @‘robin4002’:

                    il faut mettre tout le code dans un bloc try catch.

                    package fr.extazilia.extaziliamod.common;
                    
                    import java.io.File;
                    
                    import net.minecraft.client.Minecraft;
                    import net.minecraft.client.multiplayer.ServerData;
                    import net.minecraft.nbt.CompressedStreamTools;
                    import net.minecraft.nbt.NBTTagCompound;
                    import net.minecraft.nbt.NBTTagList;
                    
                    public class test {
                    
                    File serverDatFile = new File(Minecraft.getMinecraft().mcDataDir, "servers.dat");
                    boolean found = false;
                    NBTTagCompound serverNbt = CompressedStreamTools.read(serverDatFile);
                    NBTTagList serverList = serverNbt.getTagList("servers", 10);{
                    for (int i = 0; i < serverList.tagCount(); ++i)
                    {
                       ServerData data = ServerData.getServerDataFromNBTCompound(serverList.getCompoundTagAt(i));
                       if(data.serverName.equals("Extazilia serveur principal"))
                       {
                           found = true;
                       }
                    
                    }
                    if(!found)
                    {
                       ServerData data1 = new ServerData("Extazilia serveur principal", "ip: port");
                       serverList.appendTag(data1.getNBTCompound());
                       serverNbt.setTag("servers", serverList);
                       CompressedStreamTools.safeWrite(serverNbt, serverDatFile);
                    }
                    }}
                    
                    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

                      ….

                      …

                      …

                      Comment veux-tu que ce code fonctionne s’il n’est même pas à l’intérieur d’une fonction ?

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

                        @‘robin4002’:

                        ….

                        …

                        …

                        Comment veux-tu que ce code fonctionne s’il n’est même pas à l’intérieur d’une fonction ?

                        Je pensais que sa suffierait de le mettre dans une classe. Je suis un débutant. je doit la mettre ou dans la classe principal ?

                        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

                          à l’intérieur de la fonction init ou de la fonction preinit.

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

                            @‘robin4002’:

                            à l’intérieur de la fonction init ou de la fonction preinit.

                            Cela marche merci ^^

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

                              NBTTagCompound serverNbt = CompressedStreamTools.read(serverDatFile);
                              NBTTagList serverList = NBTTagCompound serverNbt.getTagList(“servers”, 10);

                              C’est pourquoi il ne faut JAMAIS faire un copier collé tout bête…

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

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB