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

      La fonction que Gugu à parlé plus haut est

      ​if (Loader.isModLoaded("ID_DU_MOD")) //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 ca ! bla, bla…");//Affiche un message dans la console du jeu
                 FMLClientHandler.instance().getClient().shutdown(); //Fait crash le jeu
          }
      

      A mettre dans la fonction postInit de la classe principale

      Si je t'ai filé un coup de main n'oublie pas le + / -
      Par contre évite les demandes d'aides en MP, tu sera sympa'

      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

        Ok, mais on peut faire ca, pour checker si il y a plusieurs mods ? :
        :::

        ​
        **if** !(Loader.isModLoaded("ID_DU_MOD") | Loader.isModLoaded("ID_DU_MOD") ) //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 ca ! bla, bla…");//Affiche un message dans la console du jeu
                   FMLClientHandler.instance().getClient().shutdown(); //Fait crash le jeu
            }
        

        :::

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

          Normalement c’est bon, metbien deux ||

          Envoyé depuis mon Android edition by sfr STARADDICT avec Tapatalk

          Si je t'ai filé un coup de main n'oublie pas le + / -
          Par contre évite les demandes d'aides en MP, tu sera sympa'

          La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

          Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

            Ok merci

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

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB