Workspace avec projets multiples indépendants (Eclipse)



  • Bonjour,

    Ce post va répondre a la question suivante : "Comment séparer chaque mod indépendant les un des autres en plusieurs projet dans le même workspace sous Eclipse ?"

    Ne fonctionne qu'avec des mods utilisant la même version de Forge.

    Prérequis

    Maîtriser la configuration standard : https://www.minecraftforgefrance.fr/topic/506/installer-l-espace-de-travail-pour-eclipse

    Configuration du workspace

    1. Téléchargez les sources de Forge dans un dossier (nous appellerons ce dossier 'root')

    2. Ouvrez une invite de commande dans le dossier root et lancer un gradle setupDevWorkspace ou un gradle setupDecompWorkspace, puis un gradle eclipse


      Votre dossier root doit avoir le contenu suivant si vous avez installé gradle sur votre machine. Si vous n'avez pas installé gradle, vous devriez avoir des fichiers supplémentaires : un dossier gradle et gradlew ou gradlew.bat

    3. Lancez Eclipse avec le workspace root/eclipse


      Dans eclipse, vous devriez avec un projet nommé Minecraft.

    4. Clique droit sur Minecraft -> Buildpath -> Configure Buildpath -> Order and export -> Select all -> Décocher la JRE -> Apply


    Création d'un nouveau mod

    1. Dans le dossier root, créez un nouveau dossier. (nous appellerons ce dossier 'Mod1')

    2. Dans votre dossier mod1, créez votre architecture de sources :
      Par défaut et comme inscrit dans le build.gradle, je vous propose d'utiliser l'architecture suivante :

      • Mod1/src/main/java
      • Mod1/src/main/resources
        Si vous ne choisissez pas cette architecture, vous devrez modifier votre build.gradle
    3. Dans le dossier Mod1, créez un fichier build.gradle, par défaut celui ci aura cette forme :

      buildscript {
          repositories {
              mavenCentral()
              maven {
                  name = "forge"
                  url = "http://files.minecraftforge.net/maven"
              }
              maven {
                  name = "sonatype"
                  url = "https://oss.sonatype.org/content/repositories/snapshots/"
              }
          }
          dependencies {
              classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
          }
      }
      
      apply plugin: 'forge'
      
      //Ici vous connaissez, ce sont les infos habituelles de votre mod
      version = "1.0"
      group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
      archivesBaseName = "modid"
      
      minecraft {
          version = "1.8-11.14.3.1450"
          runDir = "minecraft"
      
          mappings = "snapshot_20141130"
      }
      
      sourceSets.main{
          java{
              srcDirs 'src/main/java'
          }
          resources{
              srcDirs 'src/main/resources'
          }
      }
      
      processResources
      {
          inputs.property "version", project.version
          inputs.property "mcversion", project.minecraft.version
      
          from(sourceSets.main.resources.srcDirs) {
              include 'mcmod.info'
      
              expand 'version':project.version, 'mcversion':project.minecraft.version
          }
      
          from(sourceSets.main.resources.srcDirs) {
              exclude 'mcmod.info'
          }
      }
      
      

    4. S'il n'est pas ouvert, lancez Eclipse avec le workspace root/eclipse

    5. Ajoutez un nouveau projet (que nous nommerons Mod1 histoire d'être cohérent), décochez la case "Use default location" et choisissez votre dossier Mod1 comme emplacement par defaut. Cliquez sur next …


    6. Ajoutez vos dossiers de sources



    7. Allez sur l'onglet Project et ajouter Minecraft

      Votre environnement est presque configuré ! Il ne reste plus qu'a changer les configurations de lancement pour que le bouton Run lance votre mod.

    8. Run Configuration > Dupliquez et modifiez la copie de la configuration Client :


      Main
      Name : Mod1_Client
      Project : Mod1
      Main Class : GradleStart

      Arguments
      Workspace … => votre dossier Mod1/minecraft == C'est la ou se lancera le jeu !

      */!\ N'oubliez pas d'appuyer sur le bouton Apply /!*

      Vous pouvez maintenant lancer votre mod en client

    9. Pareil pour le serveur avec cette fois-ci

      Main
      Name : Mod1_Server
      Project : Mod1
      Main Class : GradleStartServer

      Arguments
      Workspace … => votre dossier Mod1/minecraft

      */!\ N'oubliez pas d'appuyer sur le bouton Apply /!*

      Vous pouvez maintenant lancer votre mod en serveur only

    Compiler votre mod

    Pour compiler votre mod, rien de plus simple ouvrez un terminal dans Mod1 et faites un gradle build.
    Votre .jar se trouvera dans Mod1/build/lib


  • Administrateurs

    Pense à mettre les balises.



  • @'Superloup10':

    Pense à mettre les balises.

    C'est fait 😉



  • Un tuto assez compliqué pour pas grand chose je trouve au final, il doit y avoir un moyen de faire çà avec gradle, non ?



  • @'SCAREX':

    Un tuto assez compliqué pour pas grand chose je trouve au final, il doit y avoir un moyen de faire çà avec gradle, non ?

    Ça va très vite a faire en réalité. Juste les images qui prennent de la place sur le post.
    Possible qu'il y est moyen de le faire avec un fichier gradle.