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
-
Téléchargez les sources de Forge dans un dossier (nous appellerons ce dossier ‘root’)
-
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 -
Lancez Eclipse avec le workspace root/eclipse
Dans eclipse, vous devriez avec un projet nommé Minecraft. -
Clique droit sur Minecraft -> Buildpath -> Configure Buildpath -> Order and export -> Select all -> Décocher la JRE -> Apply
Création d’un nouveau mod
-
Dans le dossier root, créez un nouveau dossier. (nous appellerons ce dossier ‘Mod1’)
-
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
-
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' } }
-
S’il n’est pas ouvert, lancez Eclipse avec le workspace root/eclipse
-
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 …
-
Ajoutez vos dossiers de sources
-
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.
-
Run Configuration > Dupliquez et modifiez la copie de la configuration Client :
Main
Name : Mod1_Client
Project : Mod1
Main Class : GradleStartArguments
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
-
Pareil pour le serveur avec cette fois-ci
Main
Name : Mod1_Server
Project : Mod1
Main Class : GradleStartServerArguments
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 -
-
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.