Utiliser gradle pour gérer les dépendances
-
Sommaire
Introduction
Vous voulez créer un mod en utilisant l’énergie de Thermal Expansion ou/et d’IndustrialCraft 2, ou même l’API de ComputerCraft, voici comment gérer ça facilement.
Pré-requis
Code
La première chose que nous allons faire c’est faire quelque chose de plus propre pour gérer les versions, voici 2 moyens :
- Utiliser le fichier gradle.properties
- Créer un nouveau fichier appelé gradle.properties
- Nous allons ajouter nos valeurs sous la forme “clé=valeur”
- Nous récupérerons ces valeurs avec ${clé} (en le mettant entre des guillemets doubles ("), les guillemets simples (') ne marchent pas)
- Utiliser un ConfigSlurper
- Créer un fichier du nom que vous voulez
- Dans le build.gradle, ajoutez ceci :
ext.configFile = file “<chemin vers votre fichier>” // configFile peut être ce que vous voulez tant que vous mettez le même plus basconfigFile.withReader { def properties = new Properties() properties.load(it) project.ext.config = new ConfigSlurper().parse properties // ici config (project.ext.config) peut être ce que vous voulez mais vous devrez récupérer vos valeurs avec ${<le nom>.clé}} - Les valeurs auront la même forme qu’au-dessus : clé=valeur
- Nous récupérerons ces valeurs avec ${config.clé} (en le mettant entre des guillemets doubles ("), les guillemets simples (') ne marchent pas)
Si vous le voulez vous pouvez aussi utiliser le format json en utilisant JsonSlurper.
Ce fichier va nous servir à stocker toutes les versions des dépendances dedans.
(Dans ce tutoriel j’utiliserai la première technique)Maintenant que l’on a un moyen de rassembler nos valeurs dans un fichier à part, je vous conseille très fortement de rajouter dans votre fichier de configuration (celui défini au-dessus) la version de minecraft ainsi que celle de forge, voici ce à quoi devrait ressembler vos fichiers :
gradle.properties (fichier de configuration) :
mc_version=1.7.10 forge_version=10.13.4.1448-1.7.10
build.gradle :
buildscript { // Retiré pour plus de compréhension } apply plugin: 'forge' version = "1.0" group= "com.yourname.modid" archivesBaseName = "modid" minecraft { version = "${mc_version}-${forge_version}" runDir = "eclipse" } dependencies { // Retiré pour plus de compréhension } processResources { // Retiré pour plus de compréhension }
Pour pouvoir télécharger automatiquement les versions des mods voulus, il va falloir dire à gradle où les télécharger, on peut lui donner 2 types de liens :
Ces informations sont à rajouter dans le block “repositories”, qui est à créer :buildscript { // Retiré pour plus de compréhension } apply plugin: 'forge' repositories { // C'est ici que l'on va rajouter nos repositories } version = "1.0" group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "modid" minecraft { // Retiré pour plus de compréhension } dependencies { // Retiré pour plus de compréhension } processResources { // Retiré pour plus de compréhension }
- Un repo maven (c’est ce qu’il y a de plus simple) :
maven { name “<le nom du repo>” // ce nom est optionnel et importe très peu url “<lien vers le repo maven>” // ici le lien vers le repo maven voulu, exemple : http://files.minecraftforgefrance.fr/maven/} - Un repo ivy, c’est un lien auquel vous allez définir un pattern (https://docs.gradle.org/current/userguide/dependency_management.html#sec:ivy_repositories) :
ivy { name “<le nom du repo>” // facultatif artifactPattern “<lien avec= le pattern>” // exemple de pattern : http://addons-origin.cursecdn.com/files/2246/919/[module]-[revision].[ext] (repo du CoFHCore)}
Voici les repositories que je vais rajouter pour ce tutoriel :
repositories { mavenCentral() maven { // le repo de chicken bones, celui-ci est obligatoire pour faire fonctionner les mods non-déobfusqués name 'CB Repo' url "http://chickenbones.net/maven/" } maven { // le repo de profMobius pour waila name 'ProfMobius Repo' url "http://mobiusstrip.eu/maven/" } maven { // celui d'IC2 name 'Player' url "http://maven.ic2.player.to/" } maven { // celui de RX14 pour inventorytweaks, et pleins d'autres name 'RX14' url "http://mvn.rx14.co.uk/repo/" } maven { name = "Tterrag" url = "http://maven.tterrag.com/" } ivy { // nous sommes obligés de passer par un repo ivy car la CoFHTeam n'a pas de maven name "CoFHCore" artifactPattern 'http://addons-origin.cursecdn.com/files/2246/919/[module]-[revision].[ext]' } ivy { name "ThermalFoundation" artifactPattern 'http://addons-origin.cursecdn.com/files/2246/921/[module]-[revision].[ext]' } ivy { name "ThermalFoundation" artifactPattern 'http://addons-origin.cursecdn.com/files/2246/924/[module]-[revision].[ext]' } ivy { name "ThermalDynamics" artifactPattern 'http://addons-origin.cursecdn.com/files/2246/949/[module]-[revision].[ext]' } ivy { name "MineFactoryReloaded" artifactPattern 'http://addons-origin.cursecdn.com/files/2233/906/[module]-[revision].[ext]' } ivy { // BuildCraft est téléchargé depuis son site web name "BuildCraft" artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]" } }
Si vous avez des fichiers à télécharger avec curse, il faut juste trouver les 2 nombres après “files/” en téléchargeant un fichier (le 1er dépend de l’auteur).
Maintenant il ne reste plus qu’à dire à gradle quels mods il faut télécharger dans le block “dependencies” (celui en bas de votre fichier build.gradle) :
dependencies { compile "codechicken:CodeChickenCore:${mc_version}-${ccc_version}:dev" // obligatoire pour faire fonctionner les autres mods compile "codechicken:CodeChickenLib:${mc_version}-${ccl_version}:dev" // pas obligatoire : si vous ne le mettez pas, le CCC va le télécharger dans le dossier mods compile "codechicken:ForgeMultipart:${mc_version}-${fmp_version}:dev" compile "codechicken:NotEnoughItems:${mc_version}-${nei_version}:dev" compile "mcp.mobius.waila:Waila:${waila_version}_${mc_version}" compile "cofh:CoFHCore:[${mc_version}]${cofhcore_version}" compile "cofh:ThermalFoundation:[${mc_version}]${tf_version}" compile "cofh:ThermalExpansion:[${mc_version}]${te_version}" compile "cofh:ThermalDynamics:[${mc_version}]${td_version}" compile "cofh:MineFactoryReloaded:[${mc_version}]${mfr_version}" compile "net.industrial-craft:industrialcraft-2:${ic2_version}-experimental:dev" compile "buildcraft:buildcraft:${bc_version}:dev" compile "com.enderio:EnderIO:${mc_version}-${enderio_version}:dev" compile "inventorytweaks:InventoryTweaks:${invtweaks_version}" }
Voici comment se compose la fonction “compile” :
compile “organisation:mod:version:classifier” (les guillemets doubles sont importants pour la raison spécifiée en haut)
organisation : le plus souvent l’auteur, à voir en fonction du repo spécifié au-dessus
mod : dépend aussi du repo
version : à choisir parmi les versions disponibles sur le repo
classifier : non obligatoire car, si le repo est fait correctement, le plugin eclipse (ou idea) téléchargera les sources avec et le CCC (CodeChickenCore) permet de jouer avec des mods non-déobfusqués.Et voilà ! Il ne vous reste plus qu’à mettre vos versions dans votre fichier de configuration et faire “gradlew eclipse” pour télécharger et jouer avec vos mods préférés.
Voici ce que vous devriez avoir au final :
build.gradlebuildscript { 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' repositories { mavenCentral() maven { name 'CB Repo' url "http://chickenbones.net/maven/" } maven { name 'ProfMobius Repo' url "http://mobiusstrip.eu/maven/" } maven { name 'Player' url "http://maven.ic2.player.to/" } maven { name 'RX14' url "http://mvn.rx14.co.uk/repo/" } maven { name = "Tterrag" url = "http://maven.tterrag.com/" } ivy { name "CoFHCore" artifactPattern 'http://addons-origin.cursecdn.com/files/2246/919/[module]-[revision].[ext]' } ivy { name "ThermalFoundation" artifactPattern 'http://addons-origin.cursecdn.com/files/2246/921/[module]-[revision].[ext]' } ivy { name "ThermalFoundation" artifactPattern 'http://addons-origin.cursecdn.com/files/2246/924/[module]-[revision].[ext]' } ivy { name "ThermalDynamics" artifactPattern 'http://addons-origin.cursecdn.com/files/2246/949/[module]-[revision].[ext]' } ivy { name "MineFactoryReloaded" artifactPattern 'http://addons-origin.cursecdn.com/files/2233/906/[module]-[revision].[ext]' } ivy { name "BuildCraft" artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]" } } version = "1.0" group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "modid" minecraft { version = "${mc_version}-${forge_version}" runDir = "eclipse" } dependencies { compile "codechicken:CodeChickenCore:${mc_version}-${ccc_version}:dev" compile "codechicken:CodeChickenLib:${mc_version}-${ccl_version}:dev" compile "codechicken:ForgeMultipart:${mc_version}-${fmp_version}:dev" compile "codechicken:NotEnoughItems:${mc_version}-${nei_version}:dev" compile "mcp.mobius.waila:Waila:${waila_version}_${mc_version}" compile "cofh:CoFHCore:[${mc_version}]${cofhcore_version}" compile "cofh:ThermalFoundation:[${mc_version}]${tf_version}" compile "cofh:ThermalExpansion:[${mc_version}]${te_version}" compile "cofh:ThermalDynamics:[${mc_version}]${td_version}" compile "cofh:MineFactoryReloaded:[${mc_version}]${mfr_version}" compile "net.industrial-craft:industrialcraft-2:${ic2_version}-experimental:dev" compile "buildcraft:buildcraft:${bc_version}:dev" compile "com.enderio:EnderIO:${mc_version}-${enderio_version}:dev" compile "inventorytweaks:InventoryTweaks:${invtweaks_version}" } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } }
gradle.properties (fichier de configuration) :
mc_version=1.7.10 forge_version=10.13.4.1448-1.7.10 ccc_version=1.0.7.46 ccl_version=1.1.3.138 fmp_version=1.1.2.331 nei_version=1.0.5.118 waila_version=1.5.10 cofhcore_version=3.0.3-303 tf_version=1.2.0-102 te_version=4.0.3B1-218 td_version=1.1.0-161 mfr_version=2.8.0-104 ic2_version=2.2.717 bc_version=7.1.9 enderio_version=2.3.0.375_beta invtweaks_version=1.58
Lors de votre premier lancement, le code chicken lib va vous demander de trouver le dossier conf, il se trouve dans GRADLE_HOME\caches\minecraft\net\minecraftforge\forge<votre version de forge>\unpacked\conf , GRADLE_HOME est par défaut C:\Users<utilisateur>.gradle .
Bonus
Pour modifier automatiquement la version de votre mod ainsi que d’autres paramètres, voici comment faire :
minecraft { version = "${mc_version}-${forge_version}" runDir = "eclipse" replace "@VERSION@", project.version // ici on cherche le pattern @VERSION@ et on le remplace par la version du mod replaceIn "<votre classe principale>.java" // on le remplace uniquement dans la classe principale, en enlevant cette ligne le remplacement se fera dans tous les fichiers }
Dans votre classe principale :
@Mod(modid = <classe principale>.MODID, version = <classe principale>.VERSION) public class <classe principale> { public static final String MODID = "modid"; public static final String VERSION = "@VERSION@"; }
Comment créer une version déobfusquée et un jar contenant les sources de votre mod (à placer à la fin de votre build.gradle) :
task deobfJar(type: Jar) { from sourceSets.main.output classifier = 'dev' } task sourceJar(type: Jar) { from sourceSets.main.allSource classifier = 'sources' // il est conseillé de mettre "sources" au lieu de "src", sinon gradle ne le considérera pas comme les sources du mod } artifacts { archives deobfJar archives sourceJar archives jar }
Si vous voulez que ces archives soient créées à chaque fois que vous faîtes un “gradlew build” :
tasks.assemble.dependsOn('deobfJar', 'sourceJar')
Résultat
Crédits
Rédaction :
Correction :
Ce tutoriel de SCAREX publié sur Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International -
Très bon tuto, certains mods ne sont pas Open-Source et ça peut être embêtant parfois.
PS: “Si vous avez des fichiers à télécharger des fichiers avec curse” Je ne comprends pas vraiment ce que tu veux dire ^^.
-
Je ne vois pas le problème du fait qu’ils soient open-source ou non, les mods sont compilés en java et il est autorisé de les décompilés pour une utilisation personnelle. Aucun mod n’est décompilé d’ailleurs, il n’est pas interdit de jouer avec les mods.
J’écris avec une seule main donc il m’arrive d’écrire n’importe quoi, je parlais des mods téléchargés avec Curse.
-
Je parle de l’evironnement de développement, en ne connaissant pas cette solution il fallait ajouter les sources aux siennes. Si le mod n’était pas open source, il fallait le decompiler et parfois ça donnait plus d’erreurs qu’autre chose.
-
Justement, avec le code chicken core, il n’y a pas besoin de décompiler les mods
-
Si un correcteur pouvait passer par ici ça serait génial.
-
Tutoriel très utile, je viens de tester c’est magique
-
Ce message a été supprimé ! -
La seule chose qu’il faut modifier c’est le fichier build.gradle.
Il y a pas grand chose de compliqué, si ? -
Je pense que je vais faire une version vidéo pour expliquer plus en détails
-
Déja un tuto pour l’utiliser tout cours serait bien car certain plugins sponge n’ont pas de eclipse en dossier et je ne sais pas l’utilisé correctement gradlew donc si tu peux en profité (en tant que bonus par exemple je te ferais tout plein de bisous sur la fesse droite) xD
-
plugins sponge ?
-
Euh ce tutoriel concerne gradle, il n’utilise presque rien de ForgeGradle, je ne vois pas trop le rapport avec Sponge ni même ce que tu veux faire
-
Bonjour !
J’essaye d’ajouter NEI a mon espace de travail afin de creer un plugin NEI mais le problème est que ça fonctionne pas j’ai lancé le client grace a eclipse mais minecraft me dit qu’il y a seulement 4 mods actifs (mcp, fml, mcforge, IUtils(mon mod) )voici mon build.gradle :
buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } maven { name 'CB Repo' url "http://chickenbones.net/maven/" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' } } apply plugin: 'forge' version = "1.0" group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "modid" minecraft { version = "1.7.10-10.13.4.1614-1.7.10" runDir = "eclipse" } dependencies { // you may put jars on which you depend on in ./libs // or you may define them like so.. //compile "some.group:artifact:version:classifier" //compile "some.group:artifact:version" // real examples //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env // for more info… // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html // http://www.gradle.org/docs/current/userguide/dependency_management.html compile "codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev" compile "codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev" } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } }
Aidez moi s’il vous plaît !
-
Je pense que non mais est-ce que les mods apparaissent dans les liste des librairies de ton projet dans eclipse ?
Sinon essayes un gradle cleanEclipse puis gradle eclipse.
-
Problème a moitié réglé , maintenant mon client minecraft sur eclipse crash quand je le lance
voici les logs d’eclipse quand j’ai démarré mon client minecraft sur eclipse (je ne trouve pas le crash report):
[14:21:50] [main/INFO] [GradleStart]: Extra: [] [14:21:50] [main/INFO] [GradleStart]: Found and added coremod: codechicken.nei.asm.NEICorePlugin [14:21:50] [main/INFO] [GradleStart]: Found and added coremod: codechicken.core.launch.CodeChickenCorePlugin [14:21:50] [main/INFO] [GradleStart]: Running with arguments: [–userProperties, {}, --assetsDir, C:/Users/axel/.gradle/caches/minecraft/assets, --assetIndex, 1.7.10, --accessToken, {REDACTED}, --version, 1.7.10, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker] [14:21:50] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [14:21:50] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [14:21:50] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker [14:21:50] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [14:21:50] [main/INFO] [FML]: Forge Mod Loader version 7.99.40.1614 for Minecraft 1.7.10 loading [14:21:50] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_121, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_121 [14:21:50] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [14:21:50] [main/INFO] [FML]: Found a command line coremod : codechicken.nei.asm.NEICorePlugin [14:21:50] [main/WARN] [FML]: The coremod codechicken.nei.asm.NEICorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.NoClassDefFoundError: codechicken/lib/asm/ASMInit [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at codechicken.nei.asm.NEICorePlugin.<init>(NEICorePlugin.java:18) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.reflect.Constructor.newInstance(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Class.newInstance(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:501) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:219) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:90) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:67) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:34) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:126) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at GradleStart.main(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.ClassNotFoundException: codechicken.lib.asm.ASMInit [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: … 16 more [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.NullPointerException [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: … 18 more [14:21:50] [main/ERROR] [FML]: An error occurred trying to configure the minecraft home at C:\Users\axel\Desktop\ModdingIUtils\eclipse\. for Forge Mod Loader java.lang.NoClassDefFoundError: codechicken/lib/asm/ASMInit at codechicken.nei.asm.NEICorePlugin.<init>(NEICorePlugin.java:18) ~[NotEnoughItems-1.7.10-1.0.5.120-dev.jar:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_121] at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_121] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_121] at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_121] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_121] at cpw.mods.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:501) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?] at cpw.mods.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:219) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?] at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:90) [forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?] at cpw.mods.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:67) [forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?] at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:34) [forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?] at cpw.mods.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:126) [forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?] at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?] at GradleStart.main(Unknown Source) [start/:?] Caused by: java.lang.ClassNotFoundException: codechicken.lib.asm.ASMInit at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121] … 16 more Caused by: java.lang.NullPointerException at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121] … 16 more Exception in thread "main" [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.NoClassDefFoundError: codechicken/lib/asm/ASMInit [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at codechicken.nei.asm.NEICorePlugin.<init>(NEICorePlugin.java:18) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.reflect.Constructor.newInstance(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Class.newInstance(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:501) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:219) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:90) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:67) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:34) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:126) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at GradleStart.main(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.ClassNotFoundException: codechicken.lib.asm.ASMInit [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: … 16 more [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.NullPointerException [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) [14:21:50] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: … 18 more Picked up _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
J’ai identifié le problème : il manque CCL , quelqu’un aurait le repo pour CCL 1.7.10 ?</init></init></init>
-
Désolé mais CCL n’est plus disponible sur le repo de codechickenbones en 1.7.10 donc soit tu essayes de le trouver sur le repo de quelqu’un d’autre soit tu te mets à jour (je te conseille cette dernière).
-
Pour tout les gens qui veulent un repo qui possède CCL pour 1.7.10 :
repositories { mavenCentral() maven { name 'MCForge Repo' url "http://files.minecraftforge.net/maven/" } }
et
dependencies { compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev" }
Voila !
-
Ce message a été supprimé ! -
pas de commit github?