MFF

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

    Problème d'erreur empêchant la compilation du mod

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8.9
    13 Messages 3 Publieurs 2.8k 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.
    • E Hors-ligne
      elx9000
      dernière édition par

      Bonjour, j’ai essayé de compiler mon mod, mais il y à échec sur le build de gradlew : voici la fenêtre de commande :

      
      C:\Users\user\Desktop\forge-1.8.9-11.15.1.1747-mdk>gradlew build
      This mapping 'stable_20' was designed for MC 1.8.8! Use at your own peril.
      #################################################
              ForgeGradle 2.1-SNAPSHOT-17806f4
       https://github.com/MinecraftForge/ForgeGradle
      #################################################
                    Powered by MCP unknown
                  http://modcoderpack.com
              by: Searge, ProfMobius, Fesh0r,
              R4wk, ZeuX, IngisKahn, bspkrs
      #################################################
      :deobfCompileDummyTask
      :deobfProvidedDummyTask
      :sourceApiJava UP-TO-DATE
      :compileApiJava UP-TO-DATE
      :processApiResources UP-TO-DATE
      :apiClasses UP-TO-DATE
      :sourceMainJava UP-TO-DATE
      :compileJava
      warning: [options] bootstrap class path not set in conjunction with -source 1.6
      C:\Users\user\Desktop\forge-1.8.9-11.15.1.1747-mdk\build\sources\main\java\com\s
      urvivant\mod\Packet\Message.java:53: error: local variable message is accessed f
      rom within inner class; needs to be declared final
                         thirst.set(message.thirstVal);
                                    ^
      Note: Some input files use or override a deprecated API.
      Note: Recompile with -Xlint:deprecation for details.
      Note: Some input files use unchecked or unsafe operations.
      Note: Recompile with -Xlint:unchecked for details.
      1 error
      1 warning
      :compileJava FAILED
      
      FAILURE: Build failed with an exception.
      
      * What went wrong:
      Execution failed for task ':compileJava'.
      > Compilation failed; see the compiler error output for details.
      
      * Try:
      Run with –stacktrace option to get the stack trace. Run with --info or --debug
      option to get more log output.
      
      BUILD FAILED
      
      Total time: 20.221 secs
      
      C:\Users\user\Desktop\forge-1.8.9-11.15.1.1747-mdk>
      
      

      Merci d’avance.

      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

        Salut,
        Ça ne compile pas car il y a une erreur dans ton code.

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

          Ok… J’ai retrouvé la ligne qui pose problème :

          
          public static class Handler implements IMessageHandler <message, imessage="">{
          
                 @Override
                 public IMessage onMessage(Message message, MessageContext ctx)
                 {
                     Minecraft.getMinecraft().addScheduledTask(new Runnable()
                     {
                         @Override
                         public void run()
                         {
                             EntityPlayer player = Minecraft.getMinecraft().thePlayer;
                             IThirst thirst = player.getCapability(ThirstProvider.THIRST_CAP, null);
                             thirst.set(message.thirstVal);                
                         }              
                     });
                     return null;
                 }
          
             }
          
          

          Mais ils veulent que je passe la variable message en final, cependant message est dans les paramètre de la fonction, donc comment faire ?

          Merci d’avance.</message,>

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

            @‘elx9000’:

            Mais ils veulent que je passe la variable message en final, cependant message est dans les paramètre de la fonction, donc comment faire ?

            Cela n’empêche pas de mettre la variable en final. Si une variable local à une fonction ou un paramètre de fonction est final, cela signifie juste que sa valeur ne va pas être modifiée.

            1 réponse Dernière réponse Répondre Citer 1
            • E Hors-ligne
              elx9000
              dernière édition par

              Ok, j’ai fait ceci :

              
              public static class Handler implements IMessageHandler <message, imessage="">{
              
                     @Override
                     public IMessage onMessage(final Message message, MessageContext ctx)
                     {
                         Minecraft.getMinecraft().addScheduledTask(new Runnable()
                         {
                             @Override
                             public void run()
                             {
                                 EntityPlayer player = Minecraft.getMinecraft().thePlayer;
                                 IThirst thirst = player.getCapability(ThirstProvider.THIRST_CAP, null);
                                 thirst.set(message.thirstVal);                
                             }              
                         });
                         return null;
                     }
              
                 }
              
              

              Le build du mod est un succès.
              Par contre, le fichier lang n’a pas l’air ne s’être chargé, car en jeux (une fois le mod compilé) aucun de mes items, blocs,… n’a de noms. Avez-vous une idée sur ce problème ?

              Merci d’avance.</message,>

              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 fichier de lang est où est se nomme comment ?

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

                  Mon fichier lang se situe :

                  forge-1.8.9-11.15.1.1747-mdk\src\main\resources\assets\survivant\lang

                  et se nomme fr_FR

                  Merci d’avance.

                  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

                    Ça me semble bon.
                    Le fichier se trouve bien dans le zip final ?

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

                      Oui, il est bien dans le mod fini. Au fait, c’est normal d’avoir deux mod une fois la compilation fini : un nommé survivant-1.0.0 et l’autre nommé survivant-1.0.0-sources ?

                      Merci d’avance.

                      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

                        Oui c’est normal d’avoir deux jar.

                        Tu peux envoyer le jar que je puisse regarder ?

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

                          elx9000 as-tu essayé de ne tout mettre de minuscule dans le nom du fichier lang ? Car si je ne dis pas de bêtise, dans les dernières versions, c’est comme ça qu"il faut faire.
                          (http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2818534-forge-lang-file-didnt-work :

                          In your pack.mcmeta file, is “pack_format” set to 3?

                          If it is, Minecraft will only load resources with lowercase names, including lang files. Rename en_US.lang to en_us.lang and pl_PL.lang to pl_pl.lang.

                          If it’s set to 2 or not set at all (either because you don’t have a pack.mcmeta file or because it doesn’t contain a “pack” section), FML will use the LegacyV2Adapter IResourcePack wrapper for your mod’s resources. This will still only load resources with lowercase names, except lang files. Lang files will only be loaded with the mixed case names used in earlier versions (e.g. en_US.lang).

                          )

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

                            Maintenant, j’ai un autre souci, il y a échec lorsque je fais gradlew clean.
                            Je n’arrive pas à vous transmettre le jar, je dois demander l’autorisation à l’administrateur (j’avoue que là j’y comprends plus rien normalement je suis l’administrateur de mon pc, comment corriger ceci ?)

                            Merci d’avance.

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

                              J’ai réussi à retenter un build. Le souci du fichier lang a pu être réglé : je l’ai nommé fr_FR, et j’ai mis mon jeu en français (ce que je n’avais pas fait avant 😄 ).
                              Le problème de la texture bugées était dû à une erreur de lettre j’avais mis I au lieu de i sur la texture.

                              Du coup, mes 2 problèmes ont été résolu, merci de l’aide.

                              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