MFF

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

    Comment rendre un Launcher obligatoire ?

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    18 Messages 3 Publieurs 4.0k 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.
    • F Hors-ligne
      FR_Style13
      dernière édition par

      Oui c’est une bonne idée mais comment pourrai je faire que sa :
      Minecraft.getMinecraft().mcDataDir.getAbsolutePath()

      Obtient le nom de mon Launcher ?
      Fin le modifier tu vois, car la class Minecraft je ne peut pas la modifier….

      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

        Ton launcher, il utilise bien un dossier de jeu différent, par exemple .nom_de_ton_launcher à la place de .minecraft non ?
        Donc Minecraft.getMinecraft().mcDataDir.getAbsolutePath() contiendra le nom de ton launcher.

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

          Oui mais comment t’éxpliquer … c’est dans le Minecraft.java ou on modifie le nom du launcher, et justement comment je pourrai faire pour le modifier …

          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 robin4002

            Non, c’est toi qui n’a pas comprit ce que je t’expliques.

            Dans ton mod, dans la fonction preInit, mets ça :

            if(event.getSide().isClient())
            {
                 System.out.println("–------ dossier du jeu ----------")
                 System.out.println(Minecraft.getMinecraft().mcDataDir.getAbsolutePath())
            }
            

            Ensuite compile ton mod, mets-le sur ton launcher, lances le jeu, et regardes les logs. Tu vas comprendre.

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

              ça m’affiches : –------ dossier du jeu ----------
              C:\Users\xxxx\Desktop\1.7.2 Forge\eclipse.

              Même il a juste à reprendre les mods dans le .minecraft/mods , et voilà il pourra jouer sur le launcher…

              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

                Une fois compilé et sur ton launcher. Pas sur eclipse.

                @‘FR_Style13’:

                Même il a juste à reprendre les mods dans le .minecraft/mods , et voilà il pourra jouer sur le launcher…

                Justement non, puisqu’on va faire crasher le jeu si il n’y a pas le nom de ton launcher dans le chemin du jeu.

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

                  Ah …Mais je pourrai mêttre comment le code ? 😕 Genre quand il crash si ce n’ai pas le nom du launcher

                  1 réponse Dernière réponse Répondre Citer 0
                  • isadorI Hors-ligne
                    isador Moddeurs confirmés Modérateurs
                    dernière édition par

                    bha
                    une condition qui verifie le string du launcher, et au passage base du java

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

                      Oui je suis un débutant… avant j’avais juste à modifier les class du Minecraft… mais bon maintenant c’est un peu plus compliqué car on ne peut plus …

                      Mais bon pour l’instant j’ai déjà bien avancer sur mon projet 🙂 Bref, revenons sur la transformation de la class, On ne pourrai pas tout simplement modifier le numéro ?

                      Je sais je suis nul mais bon ^^ sans aide on ne peut pas avancer 😕

                      Merci de votre aide,

                      1 réponse Dernière réponse Répondre Citer 0
                      • isadorI Hors-ligne
                        isador Moddeurs confirmés Modérateurs
                        dernière édition par

                        Comment ça modifier le numéro?

                        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 robin4002

                          Bon, dans la fonction preinit de ton mod, ajoutes ça :

                          if(event.getSide().isClient())
                          {
                              if(!Minecraft.getMinecraft().mcDataDir.getAbsolutePath().contains("nom_de_ton_launcher") && !Minecraft.getMinecraft().mcDataDir.equals(new File(".")))
                              {
                                  Throwables.propagate(new Exception("Launcher non autorisé"));
                              }
                          }
                          

                          Ensuite compiles ton mod en tapant gradlew build dans la console, mets le mod dans ton launcher et regardes. Mais le mod dans un autre launcher et regardes également.

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

                            Rien qui change 😕 Même dans les logs il y a aucune chose

                            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

                              Avec ce que je t’ai donné le jeu devrait crasher si tu le lance sur un autre launcher que le tiens.

                              1 réponse Dernière réponse Répondre Citer 0
                              • F Hors-ligne
                                FR_Style13
                                dernière édition par robin4002

                                Regarde le code :

                                –-------------------------------------------------

                                package fr.style13;
                                
                                import java.io.File;
                                import com.google.common.base.Throwables;
                                import net.minecraft.client.Minecraft;
                                import net.minecraft.client.gui.GuiMainMenu;
                                import net.minecraft.client.gui.GuiScreen;
                                import net.minecraft.init.Blocks;
                                import net.minecraftforge.common.MinecraftForge;
                                import cpw.mods.fml.common.FMLCommonHandler;
                                import cpw.mods.fml.common.Mod;
                                import cpw.mods.fml.common.Mod.EventHandler;
                                import cpw.mods.fml.common.event.FMLInitializationEvent;
                                import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                                import cpw.mods.fml.common.gameevent.TickEvent;
                                import cpw.mods.fml.common.gameevent.TickEvent.Phase;
                                import cpw.mods.fml.relauncher.Side;
                                import cpw.mods.fml.relauncher.SideOnly;
                                
                                @Mod(modid = BaseMod.MODID, version = BaseMod.VERSION)
                                public class BaseMod
                                {
                                    public static final String MODID = "examplemod";
                                    public static final String VERSION = "1.0";
                                
                                    @SubscribeEvent
                                    @EventHandler
                                    public void init(FMLInitializationEvent event)
                                    {
                                        // some example code
                                
                                        System.out.println("DIRT BLOCK >> " + Blocks.dirt.getUnlocalizedName());
                                    }
                                
                                    @SideOnly(Side.CLIENT)
                                    public void preInit(FMLInitializationEvent event)
                                    {
                                
                                        if(event.getSide().isClient())
                                        {
                                            if(!Minecraft.getMinecraft().mcDataDir.getAbsolutePath().contains("originalcraft") && !Minecraft.getMinecraft().mcDataDir.equals(new File(".")))
                                            {
                                                Throwables.propagate(new Exception("Launcher non autorisé"));
                                
                                            }
                                        }
                                    }
                                }
                                

                                Quand je le recompile avec gradlew je le met dans mon .minecraft/mods et aucun succès normalement il dois crash… 😞

                                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

                                  @SideOnly(Side.CLIENT)
                                  public void preInit(FMLInitializationEvent event)
                                  

                                  -> c’est complètement faux.
                                  ça devrait être comme ça :

                                  @EventHandler
                                  public void preInit(FMLPreInitializationEvent event)
                                  
                                  1 réponse Dernière réponse Répondre Citer 0
                                  • F Hors-ligne
                                    FR_Style13
                                    dernière édition par

                                    Tu es un dieu mec !! :rolleyes:

                                    ça me fait bien une erreur :

                                    java.lang.RuntimeException: java.lang.Exception: Launcher non autoris�

                                    Merci beaucoup 😄

                                    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