1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Bien choisir son API

Discussion dans 'Tutoriels' créé par robin4002, 22 Avr 2013.

  1. robin4002

    robin4002 Support Technique
    Staff

    Inscrit:
    17 Août 2012
    Messages:
    5 478
    Points:
    229
    Sexe:
    Homme
    Salut à tous, vous avez surement constaté que devant les tutoriels il y a une petite balise (Forge, Vanille ou Modloader)
    Il s'agit en fait d'api (sauf pour vanille, j'y viens plus bas).

    Dans ce tutoriel, je vais vous aider à choisir quel api utiliser pour votre mods
    En effet, on fonction de ce que vous voulez faire un api peut être mieux qu'un autre

    Qu'est-ce que le vanille ?
    En fait le vanille (vanilla en anglais) c'est sans api, c'est à dire que vous modifier directement les codes de minecraft.

    Quels sont les avantages du vanille ?
    - Le mod n'est dépendant de rien, on peut directement l'installer dans le minecraft.jar sans installer d'autre chose
    - On peut facilement moder le client, le serveur ou encore bukkit

    Quels sont les désavantages ?
    - Vous modifier directement les classes de minecraft, c'est à dire que si vous voulez ajouter un bloc, il faudra modifier net.minecraft.src.block.java, et donc votre mods sera incompatible avec tout les autres mods qui ajoute un bloc
    ==> Une compatibilité très faible voir nul
    - Le passage de version en version est assez compliqué, il faut copier ses morceaux d'anciens code et le remettre au bon endroit dans la nouvelle version, ce sont les problèmes quand on change directement des classes de minecraft, qui elles aussi changent avec les versions de minecraft

    Conclusion :
    Si vous souhaiter coder du contenue exclusif pour un serveur qui tourne sous bukkit, le vanille est surement la meilleur solution
    Pour un mods public, le vanille n'est pas recommandé, sauf si vous souhaiter faire un mod incompatible avec tout les autres ....

    Qu'est-ce que modloader ?
    Modloader est un api développé par Risugami, il est petit est n'évolue plus beaucoup

    Quels sont les avantages ?
    - Comme cet api n'évolue presque plus, la plupart des codes ne changent pas et reste valable dans les futurs versions de minecraft (sauf pour les changements qui viennent directement de minecraft bien sur)
    - Il permet d'installer des mods plus facilement simplement en plaçant un .zip dans le dossier mods
    - Pour ajouter des blocs ou items vous n'avez pas besoin de modifier les classes de minecraft, votre mods est donc compatible avec d'autres mods
    - L'api est très léger, il est donc pas lourd pour minecraft
    - L'api n'évolue presque plus (je sais je me répète), il y a donc en générale une seul version de modloader par version de minecraft

    Quels sont les désavantages de modloader ?
    - Modloader est conçu pour le ssp, les mods créer avec ne sont donc pas compatible smp, encore moins bukkit, et sont très instable en lan
    - Du fait que l'api est léger, ces fonctions sont très limité, les blocs sont limités à 255 ID (dont plus de 150 déjà utilisé par minecraft), la compatibilité entre mods n'est pas vraiment la
    - Modloader devra être installé pour faire fonctionner votre mod
    - Pour ajouter des sons il faudra que l'utilisateur installe aussi audio mod, et votre mod sera plus compliqué à installer comme les sons devront être dans .minecraft/resource

    Conclusion :
    Modloader peut être utile pour débuter, pas besoin de s’embêter avec le client et le serveur comme il ne fait que le client, mais modloader est très limité.
    Modloader n'est pas recommandé si vous souhaitez faire un mod smp ou un mod pour votre serveur.

    Qu'est-ce que forge ?
    Forge est un api qui a beaucoup évoluer et évolue toujours

    L'histoire de forge :
    De base Forge à été codé en beta 1.7.3 par spacetoad pour compléter modloader et modloadermp (modloadermp est actuellement mort) par la suite eloraam très intéressée par forge à rejoint le développement de forge et y a intégré beaucoup de fonctionnalité qu'elle utilise actuellement dans redpower. Par manque de temps, eloraam et spacetoad on arrêté le développement de forge, et spacetoad a même arrêter le développement de minecraft en générale (eloraam contenue toujours à développer redpower, et buildcraft à été reprit par SirSengir). Heureusement spacetoad n'est pas parti en abonnant forge, mais il a confié le développement de forge à Lexmanos (nous somme actuellement en 1.1.0)
    A coté de ça, il existe depuis un moment le projet mcpc qui portait modloadermp, forge et différent mod pour bukkit (mcpc a joué un rôle très important dans l'évolution de forge)
    En 1.2.3, cpw à rejoint la team de mcpc est s'occupait alors des builds mcpc. Le portage de modloadermp vers bukkit causait énormément de problème, et comme cpw connaissait bien lexmanos, c'est à ce moment qu'il y a la création de FML en 1.2.5.
    A partir de la 1.2.5 FML est donc développer par cpw et intégré a forge, c'est aussi à ce moment que forge n'est plus dépendant de modloadermp.
    Tout au long de la 1.2.5, Lexmanos et cpw11 on fait évoluer forge, à partir des build 3.3.7.xxx forge n'était plus dépendant de modloader, et en 3.3.8.xxx le 4096 fix (pour les ID de bloc) à été intégré à forge
    Ensuite la 1.3.2 à également marqué un gros changement, grâce à la fusion du smp dans le solo pour la mise en place du lan, forge et fml ont été presque entièrement recodé : Fini les mod_monmod extends Network, création des annotations @Mod, @Network, des proxys et du système de side (mod universal)

    Quels sont les avantages de forge & FML ?

    Comme je l'ai dit plus haut, Forge & FML on énormément de fonctionnalité et contenus à évoluer.
    Il y a une grande liste des fonctionnalités ici :
    http://www.minecraftforge.net/wiki/Minecraft_Forge
    Pour résumer :
    - Système de side, votre mod est compatible ssp et smp, il est donc universal, il peut même fonctionner avec des plugins grâce à mcpc plus
    - Jusqu’à 4095 id pour les blocs (les id > 255 ne fonctionnent pas pour la génération de biome)
    - Un api de liquide qui assure une compatibilité entre tout les liquides créer avec forge
    - Le dictionnaire de forge qui assure la compatibilité entre les différents lingots, minerai, etc ... (exemple : le cuivre de forestry, redpower, IC2 peut être utilisé dans n'importe quels crafts d'IC2, redpower ou forestry, même chose pour thermal expension, factorization et d'autre mods)
    - Un fichier de configuration facile à mettre en place pour les IDs
    ==> Compatibilité presque sur entre tout les mods forge
    - De nombreux handler pour vous aidez : Fuel, génération, bone meal ...
    - Api de plante et graine
    - Api pour les dimensions
    - Un système pour le chunk loading
    - Une petite optimisation de minecraft
    - Un event sound qui permet d'intégrer des sons dans votre .zip/.jar
    - Un système de coremods qui peut patcher les classes de minecraft sans toucher directement au minecraft.jar
    - Installation simple, il suffit juste de placer le mod dans le dossier mods ou coremods
    - Bien d'autres fonctionnalités et avantages, ...

    Quels sont les désavantages ?
    - Comme Forge est un api très complexe, il est aussi très lourd, presque 2000 ko actuellement et 11000 ko avec le dossier lib (nécessaire au fonctionnement de forge, automatiquement téléchargé par fml lors du premier lancement) alors que modloader n'en fait que 200 ko.
    - Et comme forge est un api qui évolue beaucoup, en plus des méthodes de minecraft qui change avec les versions, certaines méthodes de forge peuvent changer avec les versions, il y a aussi de nombreuses versions de forge pour la même version de minecraft, certains utilisateurs sont perdu devant une aussi grande liste de version
    - Votre mod est dépendant de forge, forge devra donc être installé pour que votre mods fonctionne

    Conclusion:
    Forge est le mieux si vous souhaiter créer un mod public complexe ou simple, compatible avec un maximum d'autres mods et smp. Dans le cas ou vous souhaitez ajouter du contenu exclusif pour votre serveur et que vous avez déjà des mods forge (exemple : serveur FTB, serveur modé avec son propre launcher (comme cube3)), forge est aussi le mieux.

    J'espère que ce tutoriel vous aura permit de choisir un api en fonction de ce que vous souhaitez faire
    Quelques liens :
    - Tout les tutoriels vanille du forum
    - Tout les tutoriels modloader du forum
    - Tout les tutoriels forge du forum
     
    • Informatif Informatif x 2
    • J'aime J'aime x 1
  2. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Ce n'est pas "Vanille" mais "Vanilla"
     
  3. robin4002

    robin4002 Support Technique
    Staff

    Inscrit:
    17 Août 2012
    Messages:
    5 478
    Points:
    229
    Sexe:
    Homme

Partager cette page