Compiler votre mod


  • Administrateurs

    Une fois que vous avez fini de coder votre mod, il faut le compiler afin de le partager/distribuer.

    Pour débuter, il est plus simple de faire une compilation manuelle, pour ça rendez-vous dans votre dossier forge/mcp, et lancez le script "recompile".
    Concernant l'erreur "!!! can not find server sources, try decompiling!" c'est normal, car comme je l'ai déjà dit, forge regroupe le client et le serveur en un, donc MCP croit que le serveur n'est pas décompilé.

    Une fois la compilation terminée, lancez le script "reobfuscate_srg" ce script va séparer toutes les classes de votre mod des autres classes. Une fois terminé, allez dans le dossier reobf/minecraft/ vous devrez y trouver un dossier du même nom que votre package, faites un clic droit dessus, puis ajoutez le à l'archive…
    Nommez le fichier comme vous le souhaitez, de préférence mettez-y la version du mod le type du mod et la version de minecraft.

    Par exemple :
    ModTutoriel-universal-1.0.0-mc1.6.2.zip
    Si votre mod n'est que du type client side (mod de minimap par exemple) nommez-le ModTutoriel-client-1.0.0-mc1.6.2.zip

    Cela permet d'éviter au débutant de mettre des mods client sur un serveur (et même avec ça certains mettent des mods solo sur des serveurs, normal que ça crash --')
    Vérifiez que l'archive est bien au format .zip, 7-zip propose le format .7z par défaut et winrar le format .rar, vérifiez donc que le format est bien .zip, sinon votre mod ne sera pas détecté par FML.

    Pour l'instant votre archive ne contient que les .class, car en effet, reobfuscate ne récupère que les fichiers .class. Allez dans le dossier /forge/mcp/src/minecraft et ajoutez le fichier "assets" dans l'archive de votre mod. Si vous en avez un, ajoutez aussi votre mcmod.info dans la racine de l'archive.

    Si vous avez une version récente des sources de forge (842 +), supprimez le dossier forge dans le dossier assets de votre archive, il ne sert à rien dans votre mod comme il est déjà dans forge.
    Maintenant votre mod est bien complet, il ne vous reste plus qu'à le mettre dans votre dossier mods et le tester 🙂



  • Salut, tu pourrais faire un tuto sur comment exporter notre mod en .jar (un seul fichier)?



  • Je t'invite a relire le sujet :).


    Apré il me semble qu'il suffi juste de renommai l’extension.


  • Administrateurs

    @'Minecraftienne':

    Salut, tu pourrais faire un tuto sur comment exporter notre mod en .jar (un seul fichier)?

    Comment ça ?
    Le zip est déjà un seul fichier. Si tu parlais de tout faire automatiquement en 1 clic, il faut passer par des compilateurs comme apache ant, je ferai un tutoriel dessus dès que j'ai le temps.



  • Oui c'est ça merci !



  • De rien c’était un plaisir 😉



  • Bonjour je ne sait pas pourquoi mais je n'arrive pas a recompiler aider moi plizz

    == MCP 7.51 (data: 7.51, client: 1.5.2, server: 1.5.2) ==
    "scalac" is not found on the PATH. Scala files will not be recompiled

    found ff, ff patches, srgs, name csvs, doc csvs, param csvs, renumber csv, ast

    yle, astyle config
    == Recompiling client ==

    Cleaning bin
    Recompiling
    '"C:\Program Files\Java\jdk1.7.0_25\bin\javac" -encoding UTF-8 -Xlint:-options -
    deprecation -g -sourc…' failed : 1

    == ERRORS FOUND in JAVA CODE ==

    src\minecraft\MonMod\Client\ClientProxy.java:9: error: unmappable character for
    encoding UTF-8
    *? Ce proxy ne concerne que la partie "Client" du mod, il g?re :
    ^

    src\minecraft\MonMod\Client\ClientProxy.java:9: error: unmappable character for
    encoding UTF-8
    *? Ce proxy ne concerne que la partie "Client" du mod, il g?re :
    ^

    src\minecraft\MonMod\Client\ClientProxy.java:10: error: unmappable character for
    encoding UTF-8
    *? - Les textures ?? ?
    ^

    src\minecraft\MonMod\Client\ClientProxy.java:10: error: unmappable character for
    encoding UTF-8
    *? - Les textures ?? ?
    ^

    src\minecraft\MonMod\Client\ClientProxy.java:10: error: unmappable character for
    encoding UTF-8
    *? - Les textures ?? ?
    ^

    src\minecraft\MonMod\Client\ClientProxy.java:10: error: unmappable character for
    encoding UTF-8
    *? - Les textures ?? ?
    ^

    src\minecraft\MonMod\Client\ClientProxy.java:11: error: unmappable character for
    encoding UTF-8
    *? - Les renders
    ^

    src\minecraft\MonMod\Client\ClientProxy.java:12: error: unmappable character for
    encoding UTF-8
    *? ...
    ^

    8 errors

    !! Can not find server sources, try decompiling !!
    Appuyez sur une touche pour continuer...


  • Administrateurs

    Bug d'encodage, tu dois avoir des accents ClientProxy ligne 10, 11,12.


  • Administrateurs

    Dans eclipse :
    Window -> Preference -> General -> Workspace :

    Ça devrait résoudre ton problème.
    En revanche si tu as mit des accents dans un nom de fonction, retire-les, c'est pas bon. Les seuls endroit ou les accents sont acceptable c'est dans les String des noms. (et puis même, maintenant il y a les fichiers de lang externe, donc c'est plus un problème).



  • Je regarde je vous redit



  • merci sa a marcher



  • Bonjours,
    Et oui c'est encore moi ^^
    J'ai encore un probleme cette fois sur la compilation je comprend pas dans le chemin d'acces que tu decris je n'est pas de fichier assets mais j'ai donc utiliser la fonction recherche de windows j'ai trouver quelque chose s'appellant FMLRelaunchLog.java donc déjà est ce que il s'agit bien de ce fichier la je pense que oui puisqu'il me permet de loader le mod dans minecraft mais un autre probleme a partir de ce moment c'est que mes blocs et armures sont presente dans le jeu mais sans aucune textures les noms sont bien la pas d'autre probleme sauf qu'il y a aucune textures comment puis-je faire ce n'est pas tout a fait normal j'ai essayer de mettre mes dossiers de textures dans l'archive du mod mais sa ne le fait plus loader du tout.
    Comment remedier a ce probleme telle est la question ??
    Merci d'avance^^



  • Tu code en 1.5.2 ou en 1.6.2? (ou inférieur(on sait jamais))



  • @'kevin_68':

    Tu code en 1.5.2 ou en 1.6.2? (ou inférieur(on sait jamais))

    1.5.2


  • Administrateurs

    Dans ce cas c'est le dossier mods et non assets.



  • @'robin4002':

    Dans ce cas c'est le dossier mods et non assets.

    Ba j'ai un dossier mods mais j'ai que les textures dedans par contre j'ai un dossier mod qui lui a les class donc est ce que je dois pas faire le transfert pour tout mettre dans mods ??


  • Administrateurs

    Oui c'est normal, les .class sont déjà dans l'archive de tu as créer depuis forge/mcp/reobf/minecraft



  • @'robin4002':

    Oui c'est normal, les .class sont déjà dans l'archive de tu as créer depuis forge/mcp/reobf/minecraft

    Oui mes .class sont deja dans l'archive avec le client et common proxy dans leur dossiers respectif donc je fais comment pour mes textures ?


  • Administrateurs

    Tu mets juste le dossier "mods" qui se trouve dans forge/mcp/src/minecraft dans l'archive.



  • ba sa marche pas … mon archive se presente telle que dedans il y a le dossier mod avec les .class et le mods avec l'equivalent de modtutoriel texture et les 3 dossiers textures items blocks armors et ensuite aussi dans l'archive mcmodinfo et FMLrelauncher qui permet a moitié de charger le mod parce que j'ai rajouter le dossier blocks dans mod avec item et armors et du coup il se load plus .... Donc la c'est de plus en plus bizarre ???