MFF

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

    Comment interdir l'ajout d'autres mods dans le dossier

    Planifier Épinglé Verrouillé Déplacé Sans suite
    26 Messages 12 Publieurs 6.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.
    • G Hors-ligne
      galaxyoyo
      dernière édition par

      Sinon,  un coremod qui check tous les MD5 ou les noms de fichiers dès l’instanciation du coremod.

      package ton.package;
      
      // Ctrl+Maj+O
      
      public class ModChecker implements IFMLLoadingPlugin
      {
      private static Map <string, string="">validMD5sMap = new HashMap<string, string="">();
      private static List <string>validMD5sList = new ArrayList<string>();
      
      public ModChecker()
      {
      buildMap();
      checkMods();
      }
      
      public static void buildMap()
      {
      // Entre ici tous tes noms de fichiers à whitelist
      // Ex : Whitelist de NEI version 1.0.3.67
      validMD5sMap.put("NotEnoughItems-1.7.10-1.0.3.67-universal.jar", "B0431D2D45BFBAD636F5C7C9357A3660");
      validMD5sList.add("B0431D2D45BFBAD636F5C7C9357A3660");
      }
      
      public static void checkMods()
      {
      for (File f : new File("mods"))
      {
      if (!isValidMD5(f))
      {
      f.delete();
      }
      }
      
      for (File f : new File("mods/1.7.10")
      {
      if (!isValidMD5(f))
      {
      f.delete();
      }
      }
      }
      
      public static boolean isValidMD5(File f)
      {
      String MD5 = DigestUtils.md5Hex(new BufferedInputStream(new FileInputStream(f)));
      return (validMD5sMap.hasKey(f.getName()) && validMD5sMap.get(f.getName()).equalsIgnoreCase(MD5)) || validMD5sList.contains(MD5);
      }
      }
      

      Je te conseille le site http://onlinemd5.com pour trouver les MD5.</string></string></string,></string,>

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

        @‘galaxyoyo’:

        Sinon,  un coremod qui check tous les MD5 ou les noms de fichiers dès l’instanciation du coremod.

        package ton.package;
        
        // Ctrl+Maj+O
        
        public class ModChecker implements IFMLLoadingPlugin
        {
               private static Map <string, string="">validMD5sMap = new HashMap<string, string="">();
               private static List <string>validMD5sList = new ArrayList<string>();
               
               public ModChecker()
               {
                       buildMap();
                       checkMods();
               }
               
               public static void buildMap()
               {
                       // Entre ici tous tes noms de fichiers à whitelist
                       // Ex : Whitelist de NEI version 1.0.3.67
                       validMD5sMap.put("NotEnoughItems-1.7.10-1.0.3.67-universal.jar", "B0431D2D45BFBAD636F5C7C9357A3660");
                       validMD5sList.add("B0431D2D45BFBAD636F5C7C9357A3660");
               }
               
               public static void checkMods()
               {
                       for (File f : new File("mods"))
                       {
                               if (!isValidMD5(f))
                               {
                                       f.delete();
                               }
                       }
                       
                       for (File f : new File("mods/1.7.10")
                       {
                               if (!isValidMD5(f))
                               {
                                       f.delete();
                               }
                       }
               }
               
               public static boolean isValidMD5(File f)
               {
                       String MD5 = DigestUtils.md5Hex(new BufferedInputStream(new FileInputStream(f)));
                       return (validMD5sMap.hasKey(f.getName()) && validMD5sMap.get(f.getName()).equalsIgnoreCase(MD5)) || validMD5sList.contains(MD5);
               }
        }
        

        Je te conseille le site http://onlinemd5.com pour trouver les MD5.</string></string></string,></string,>

        En utilisant cela comment faire pour que ça retélécharge les mod où alors que ça fasse crasher le jeu ?

        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

          FMLCommonHandler.instance().handleExit(0);

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

            Merci à tous,
            mais je n’ai pas compris une chose comment créer votre ''white-list ‘’.
            Faire un nouveau mod? Si oui pourriez vous m’expliquer comment faire car je débute.
            Merci vraiment pour vos réponses.

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

              Tu mets ça, dans la fonction post-init dans ta classe principale:

              
              if (!Loader.isModLoaded("modid")) //Vous aurez l'ID du mod dans le mcmod.info qui ce trouve dans l'archive du mod elle contient l'ID du mod, généralement en minuscule, à la ligne "modid"
              
                 {
                        System.out.println("Vous avez ajouter un mod, il est interdit de faire ça ! Tant qu'un mod extérieur a ceux du serveur sera présent, le jeu ne se lancera pas.");//Affiche un message dans la console du jeu
                        FMLClientHandler.instance().getClient().shutdown(); //Fait crash le jeu
                 }
              
              

              Donc si le jeu charge un mod avec un modid different de ce que tu as mis dans

              Loader.isModLoaded(“modid”)

              Alors il met un message dans la console puis fait crash ton jeu.
              Tu peux faire qu’il crash que si il charge un mod que tu veux pas genre, un mod qui permet d’exploiter un bug sur ton mod/serveur moddé, pour cela il faut enlever le “!” devant Loader.isModLoaded dans la condition.
              J’espère avoir était claire, si ce n’est pas le cas, n’hésites pas à me demander des précisions… 🙂

              Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                Merci je vais essayer demain ou mercredi je vous tient au courant

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

                MINECRAFT FORGE FRANCE © 2024

                Powered by NodeBB