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.
    • YeyvoY Hors-ligne
      Yeyvo
      dernière édition par

      @‘yveslefou’:

      Bonjour à tous j’aimerais savoir si avec un mod on peut ajouter une adresse de serveur dans l’onglet multijoueur ? Si oui comment ?

      Oui je croit regarde le GuiMultiplayer

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

        @‘yveslefou’:

        Bonjour à tous j’aimerais savoir si avec un mod on peut ajouter une adresse de serveur dans l’onglet multijoueur ? Si oui comment ?

        Oui tu peux, tu dois avoir des tutos sur le forum.
        Tu en a un déjà pour mettre un raccourcie vers Teamspeak tu as juste a prendre ce code est modifier pour connecté à ton serveur.
        cadeau: https://www.minecraftforgefrance.fr/showthread.php?tid=2386

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

          @‘floriangabet’:

          @‘yveslefou’:

          Bonjour à tous j’aimerais savoir si avec un mod on peut ajouter une adresse de serveur dans l’onglet multijoueur ? Si oui comment ?

          Oui tu peux, tu dois avoir des tutos sur le forum.
          Tu en a un déjà pour mettre un raccourcie vers Teamspeak tu as juste a prendre ce code est modifier pour connecté à ton serveur.
          cadeau: https://www.minecraftforgefrance.fr/showthread.php?tid=2386

          Je suis obligé de passer par un changement du gui, je peux pas juste ajouter ajouter une information dans le fichier ?

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

            Honnêtement… Tu peu (enfin je connais pas le fonctionnement précis du fichier mais j’imagine qu’il lit des informations basique), mais se sera beaucoup plus compliqué.

            Modifié le Gui, ta un tuto tout prêt, tu copie/colle/adapte et c’est bon.

            Modifier le fichier il faut que tu créer une class custom qui puissent :

            • Localiser le fichier (bon courage : chemin relatif obligatoire)
            • Lire le fichier et le mettre en mémoire
            • Checker la présence ou non de ton serveur dans la liste
            • Recopier comme il se doit le fichier (si ton mod supprime la liste existante des serveurs, les gens n’en voudront pas)
            • Ajoutez éventuellement la/les lignes nécessaire pour ajoutez ton serveur

            C’est de mon point de vue beaucoup plus compliqué si tu n’y connais pas grand chose en gestion de fichier Java…

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

              Ça doit être moins compliqué que ça, Minecraft doit avoir une fonction pour ajouter un serveur au fichier, faut la trouver (regarder du côté du gui qui permet d’ajouter un serveur).

              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

                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(nbttaglist.getCompoundTagAt(i)));
                    if(data.serverName.equals("nom de ton serveur"))
                    {
                        found = true;
                    }
                
                }
                if(!found)
                {
                    ServerData data = new ServerData("nom de ton serveur", "ip: port");
                    serverList.appendTag(serverdata.getNBTCompound());
                    serverNbt.setTag("servers", serverList );
                    CompressedStreamTools.safeWrite(serverNbt, serverDatFile);
                }
                

                Non, rien de compliqué.

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

                  @Robin4002 : Rien n’est compliqué en prog, quand tu connais les class x) Mais les class tel que ServerData ou CompressedStreamTools sont si peu utilisés que peu de monde peut y arrivé. Moi même je ne connaissais pas ces classes qui simplifie grandement la tâche ^^’

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

                    @‘robin4002’:

                    File serverDatFile = new File(Minecraft.getMinecraft().mcDataDir, "servers.dat");
                    boolean found = false;
                    NBTTagCompound serverNbt = CompressedStreamTools.read(serverDatFile);
                    NBTTagList serverList = nbttagcompound.getTagList("servers", 10);
                    for (int i = 0; i < serverList.tagCount(); ++i)
                    {
                        ServerData data = ServerData.getServerDataFromNBTCompound(nbttaglist.getCompoundTagAt(i)));
                        if(data.serverName.equals("nom de ton serveur"))
                        {
                            found = true;
                        }
                    
                    }
                    if(!found)
                    {
                        ServerData data = new ServerData("nom de ton serveur", "ip: port");
                        serverList.appendTag(serverdata.getNBTCompound());
                        serverNbt.setTag("servers", nbttaglist);
                        CompressedStreamTools.safeWrite(serverNbt, serverDatFile);
                    }
                    

                    Non, rien de compliqué.

                    Oh merci je vais essayé cela tout de suite ^^

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

                      @Jodge il suffit de regarder comment fait mc dans ces cas là, c’est plus simple que de faire quelque chose à partir de 0 ^^

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

                        @‘robin4002’:

                        File serverDatFile = new File(Minecraft.getMinecraft().mcDataDir, "servers.dat");
                        boolean found = false;
                        NBTTagCompound serverNbt = CompressedStreamTools.read(serverDatFile);
                        NBTTagList serverList = nbttagcompound.getTagList("servers", 10);
                        for (int i = 0; i < serverList.tagCount(); ++i)
                        {
                            ServerData data = ServerData.getServerDataFromNBTCompound(nbttaglist.getCompoundTagAt(i)));
                            if(data.serverName.equals("nom de ton serveur"))
                            {
                                found = true;
                            }
                        
                        }
                        if(!found)
                        {
                            ServerData data = new ServerData("nom de ton serveur", "ip: port");
                            serverList.appendTag(serverdata.getNBTCompound());
                            serverNbt.setTag("servers", nbttaglist);
                            CompressedStreamTools.safeWrite(serverNbt, serverDatFile);
                        }
                        

                        Non, rien de compliqué.

                        Pourrais tu m’expliquer s’il te plait la ligne :

                        [font=monospaceNBTTagList][font=monospace serverList ][font=monospace=][font=monospace nbttagcompound][font=monospace.][font=monospacegetTagList][font=monospace(][font=monospace“servers”][font=monospace,] [font=monospace10][font=monospace);]

                        [font=monospacecar je ne la comprend pas et j’ais toujours une erreur dessus.]

                        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

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB