Mod [1.7][Forge] Craft My Mod [1.1.2]

  • Auteur de la discussion Auteur de la discussion Epharox
  • Date de début Date de début

Epharox

Architecte en herbe
10 Juin 2014
3
2
64
26
craftmymod.png
Craft My Mod est un mod confectionné par mes soins qui permettra à n'importe quel joueur de créer son propre mod sans connaissance dans ce domaine.

Craft My Mod est en version 1.1.2 mais peut tout de même contenir des bugs. Si un bug survient lors d'une de vos partie, n'hésitez pas et prévenez moi.

Le mod dépend de Minecraft Forge.

Dernière mise à jour : 9 juin 2014.
Changelog (version 1.1.2):
  • Mise à jour pour la 1.7.
  • Modification des patterns de création.
  • Création de biome simple.
  • Création de recette pour four.
  • Modification de la création des items (épée, pioches, ...)
  • Correction de bugs.
Todo-list:
  • A refaire.
  • N'hésitez pas à donner vos idées, ça améliore le mod et ça fait plaisir aux utilisateurs ;)
Craft My Mod, explications :
Comme l'expliquait l'introduction du post, Craft My Mod a pour but de proposer aux joueurs et aux administrateurs la possibilité de créer leur(s) propre(s) mod(s) sans réelle connaissances en modding.

Pour commencer, téléchargez le mod et installez Minecraft Forge. Lancez Minecraft et laissez Forge s'installer. Une fois fait, déplacez le fichier Craft My Mod 1.1.2.jar précédemment téléchargé dans le dossier mods

1OY66


Lancez Minecraft, le dossier craftmymod va se créer. C'est ici que votre devrez créer les fichiers de vos blocs, items, etc. L'installation est la même pour le solo, vanilla ou bukkit. Pour se faire, créez un fichier .txt. Attention, le début du nom du fichier est très important ! Voici la list des préfixes :
  • Block : le mod va ajouter un bloc
  • Item : le mod va ajouter un item
  • Craft : le mod va ajouter un craft
  • Furnace : le mod va ajouter une recette pour four
  • Pickaxe : le mod va ajouter une pioche
  • Sword : le mod va ajouter une épée
  • Axe : le mod va ajouter une hache
  • Hoe : le mod va ajouter une faux
  • Shovel : le mod va ajouter une pelle
  • Stair : le mod va ajouter un escalier
  • Slab : le mod va ajouter une dalle
  • Ore : le mod va ajouter un minerai
  • Biome : le mod va ajouter un biome
  • Tool : le mod va ajouter un tool
Détaillons tout ceci.

Ajouter un bloc :
La création d'un bloc est quelque chose de simple (c'est le but du mod en même temps ...). Créez votre fichier BlockMonBlock.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
name :
material :
hardness :
resistance :
quantitydropped :
texture :
tab :
lightvalue :
A savoir également que l'ordre des arguments n'a pas d'importance, si vous voulez vous pouvez placer "name" tout à la fin.
"name" correspond (en gros) à la variable du bloc. Nb : ce n'est pas le nom affiché en jeu.
"material" correspond au matériel du bloc ; vous avez le choix entre tous les matériels du jeu, mais les plus courant sont rock, ground, grass et wood.
"hardness" et "resistance" correspondent au temps qu'il faut pour casser le bloc à la main et à la puissance qu'il faudra pour qu'une explosion puisse détruire ce bloc.
"quantitydropped" correspond à la quantité de l'item que le bloc va dropper lorsqu'il sera cassé.
"texture" correspond à la (aux) texture(s) du bloc. Sa syntaxe est particulière nous verrons ça plus bas.
"tab" correpond à la page de l'inventaire créatif (buildingBlocks pour la page des blocs, decorations pour la page des décorations, redstone pour la page redstone, misc pour la page des items, food pour la page de la nourriture, tools pour la page des outils, combat pour la page des armes, brewing pour la page des potions).
"lightvalue" correspond à l'intensité de lumière que produit le bloc.

Comme expliqué au dessus, "texture" peut prendre deux types d'arguments. Soit un argument simple comme celui-ci :
Code:
texture : stone
qui ferra que mon bloc aura la texture de la pierre sur ses 6 faces soit un argument multiple comme celui-ci :
Code:
texture : {stone, gravel, snow, clay, dirt, sand}
qui ferra que mon bloc aura la texture de la pierre, du gravier, de la neige, de l'argile, de la terre et du sable. Chaque argument représente donc une face du bloc, n'oubliez pas de mettre les 6 arguments afin d'éviter un crash.
A titre d'exemple voici mon fichier :
Code:
name : block
material : rock
hardness : 1
resistance : 1
quantitydropped : 3
texture : {stone, gravel, snow, clay, dirt, sand}
tab : decorations
lightvalue : 0.5

Ajouter un item :
Ajouter un item est encore plus simple que la création d'un bloc. Créez votre fichier ItemMonItem.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
name :
texture :
tab :
maxstacksize :
A savoir également que l'ordre des arguments n'a pas d'importance, si vous voulez vous pouvez placer "name" tout à la fin.
"name" correspond (en gros) à la variable de l'item. Nb : ce n'est pas le nom affiché en jeu.
"texture" correspond à la texture de l'item.
"tab" correpond à la page de l'inventaire créatif (buildingBlocks pour la page des blocs, decorations pour la page des décorations, redstone pour la page redstone, misc pour la page des items, food pour la page de la nourriture, tools pour la page des outils, combat pour la page des armes, brewing pour la page des potions).
"maxstacksize" correspond au maximum qu'un stack de l'item pourra contenir.

A titre d'exemple voici mon fichier :
Code:
name : item
texture : stick
tab : misc
maxstacksize : 64

Ajouter un minerai :
La création d'un minerai est sensiblement la même chose qu'un bloc. Créez votre fichier OreMonMinerai.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
name :
material :
hardness :
resistance :
quantitydropped :
texture :
tab :
lightvalue :
probability :
maxheight :
maxore :
dimension :
replaceID :
Les premiers champs sont les mêmes que pour un bloc normal nous n'allons pas nous y attarder dessus. En revanche vous pouvez voir de nouveaux champs qui sont apparus :
"probability" correspond à la probabilité d'apparition du minerais, plus cette valeur sera élevée plus il y aura de chance que votre minerais apparaisse.
"maxheight" correspond à la hauteur maximale à laquelle le minerais pourra apparaître.
"maxore" correspond au nombre maximum de minerai dans un seul et même filon.
"dimension" correspond à la dimension dans laquelle le minerai pourra apparaître (surface pour le monde normal, nether pour le nether et end pour l'enderworld).
"replaceID" correspond à l'ID du bloc sur lequel le minerai pourra se placer (la pierre pour le monde normal, la netherrack pour le nether, etc.).

A titre d'exemple voici mon fichier :
Code:
name : block
material : rock
hardness :1
resistance: 1
quantitydropped : 3
texture : {stone, gravel, snow, clay, dirt, sand}
tab : decorations
lightvalue: 0.5
probability : 10
maxheight : 64
maxore : 6
dimension : surface
replaceID : 1

Ajouter des outils :
Ajouter un outil est un peu plus complexe que la création d'un item simple. Créez un fichier ToolMonTool.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
name :
harvestlevel :
maxuses :
efficiency :
damage :
enchantibility :
"name" correspond au nom de la variable du tool, par exemple l'or a pour variable gold, le diamant a pour variable emerald (ne cherchez pas la logique de Mojang ...).
"harvestlevel" correspond à ce que l'item pourra casser, par exemple une pioche en diamant a pour harvestlevel 3, une pioche en fer a pour harvestlevel 2.
"maxuses" correspond au nombre maximum d'utilisation d'un outil.
"efficiency" correspond à l'efficacité de l'outil, plus ce nombre est grand plus l'outil sera efficace.
"damage" correspond aux dommages que causera l'outil.
"enchantability" correspond au taux d'enchantement de l'objet, plus ce nombre est grand plus il est facile d'enchanter l'objet.

Ceci fait nous pouvons passer à la création d'un outil. Pour l'exemple nous allons créer une pioche, mais c'est exactement la même technique pour les autres outils. Créez un fichier PickaxeMaPioche.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
name :
texture :
tab :
maxstacksize : 1
tool :
Il s'agit exactement des mêmes champs que pour les items à l'exception d'un. "tool" désigne le tool (créé plus haut) que devra utiliser l'outil. Il s'agit de la variable du tool.

A titre d'exemple voici mes fichiers :
Code:
name : test
harvestlevel : 4
maxuses : 20
efficiency : 15000
damage : 10
enchantibility : 50

Code:
name : pickaxeitem
texture : stick
tab : tools
maxstacksize : 1
tool : test

Ajouter des recettes/crafts :
La création de recettes est un peu plus compliquée que les quatre chapitres abordés au dessus. Commençons par une recette dans la table de craft.
Il existe deux types de recettes : les recettes où l'ordre n'a pas d'importance (comme la recette de la fusée d'artifice) et les recette où l'ordre a de l'importance (comme la recette de la balise).

On va commencer par la recette où l'ordre n'a pas d'importance. Créez votre fichier CraftMonCraft.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
shapelessrecipe : true
outputID :
outputquantity :
item1 :
item2 :
item3 :
item4 :
item5 :
item6 :
item7 :
item8 :
item9 :
"shapelessrecipe" indique au mod s'il s'agit d'une recette où l'ordre est important ou non. true indique que ce n'est pas important.
"outputID" correspond à l'ID de l'item qui résulte du craft.
"outputquantity" correpond à la quantité de l'item qui résulte du craft.
"item1" à "item9" correspondent aux items à utiliser dans le craft.

A titre d'exemple voici mon fichier :
Code:
shapelessrecipe : true
outputID : 280
outputquantity : 16
item1 : 1
item2 : 280
item3 : 0
item4 : 0
item5 : 0
item6 : 0
item7 : 0
item8 : 0
item9 : 0
Ma recette fait que si je place un stick et une stone n'importe où dans la table de craft je vais récupérer 16 sticks.

Maintenant passons aux crafts où l'ordre est important. La nouvelle manière de les faire est largement plus simple que l'ancienne.
Code:
shapelessrecipe : false
firstline : {id, id, id}
secondline : {id, id, id}
thirdline : {id, id, id}
outputID :
outputquantity :
Les arguments shapelessrecipe, outputID et outputquantity sont les même qu'avant. En revanche nous pouvons voir "firstline", "secondline" et "thirdline" qui se sont ajoutées, chaque ligne prend 3 IDs qui correspondent à l'ID de l'item qu'il faut placer à cet endroit.

A titre d'exemple voici mon fichier :
Code:
shapelessrecipe : false
firstline : {1, 1, 1}
secondline : {0, 280, 0}
thirdline : {0, 280, 0}
outputID : 4097
outputquantity : 1
(Ici, l'ID 4097 correspond à un item que j'ai créé)

Le dernier type de recettes que nous verrons ici sera les recettes pour le four. Créez votre fichier FurnaceMonCraft.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
inputID :
inputmetadata :
outputID :
outputmetadata :
xp :
"inputID" correspond à l'item à cuire.
"inputmetadata" correspond à la méta donnée de l'item à cuire (si vous ne la connaissez pas ou qu'il n'en a pas, mettez 0)
"outputID" correspond à l'item de sortie.
"outputmetadata" correspond à la méta donnée de l'item de sortie (si vous ne la connaissez pas ou qu'il n'en a pas, mettez 0)
"xp" correspond à la quantité d'expérience que vous gagnerez en faisant cuire cet objet.

A titre d'exemple voici mon fichier :
Code:
inputID : 280
inputmetadata : 0
outputID : 4097
outputmetadata : 0
xp : 500

Ajouter des escaliers :
La création d'un escalier est quelque chose de simple (c'est le but du mod en même temps ...). Créez votre fichier StairMonEscalier.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
name :
hardness :
resistance :
tab :
lightvalue:
modelID :
modelmetadata :
La création d'un escalier est presque pareil que pour un bloc, on a juste enlevé quelques arguments non nécessaires à la création d'un escalier.
"modelID" correspond à l'ID du bloc sur lequel l'escalier va se baser (42 pour le bloc de fer, 89 pour la glowstone, etc.)
"modelmetadata" correspond à la méta donnée du modèle de l'escalier

A titre d'exemple voici mon fichier :
Code:
name : block
hardness :1
resistance: 1
tab : decorations
lightvalue: 0.5
modelID : 42
modelmetadata : 0

Ajouter des dalles :
La création d'une dalle est quelque chose de simple (c'est le but du mod en même temps ...). Créez votre fichier SlabMaDalle.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
name :
material :
hardness :
resistance :
texture :
tab :
lightvalue :
Et oui, ce sont les mêmes arguments que pour un bloc simple ! On a juste supprimé le "quantitydropped"

A titre d'exemple voici mon fichier :
Code:
name : blockslab
material : rock
hardness : 1
resistance : 1
texture : gravel
tab : decorations
lightvalue : 0

Ajouter de la nourriture :
Pour ajouter de la nourriture à votre jeu, c'est très simple. Créez votre fichier FoodMaNourriture.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
name :
texture :
tab :
maxstacksize :
eat :
restore :
saturation :
wolf :
Comme vous pouvez le voir, il s'agit d'un item simple auquel on a ajouté 4 arguments. "eat" qui indique au mod si c'est un objet à manger ou un objet à boire (true s'il se mange, false s'il se boit).
"restore" correspond au nombre de demi-gigots que l'item redonne.
"saturation" correspond à la saturation de la nourriture, plus le nombre est élevé plus la barre de faim descendra lentement.
"wolf" indique si cette nourriture peut être donnée à un loup (true s'il le mange, false s'il ne le mange pas).

A titre d'exemple voici mon fichier :
Code:
name : food
texture : stick
tab : food
maxstacksize : 64
eat : true
restore : 10
saturation : 5
wolf : false

Ajouter un biome :
Ajouter un biome simple (pour le moment il est très simple) est facile avec Craft My Mod. Créez votre fichier BiomeMonBiome.cmm dans le dossier craftmymod de votre .minecraft puis ouvrez-le (je conseille Notepad++).
Copiez/collez le texte suivant dans votre fichier :
Code:
biomeID :
biomename :
mintemperature :
maxtemperature :
snow :
rain :
topblockID :
fillerblockID :
"biomeID" correspond à l'ID de votre biome.
"biomename" correspond au nom du biome.
"mintemperature" correspond à la température minimale du biome.
"maxtemperature" correspond donc à la température maximale du biome.
"snow" indique s'il peut neiger dans le biome ou non.
"rain" indique s'il peut pleuvoir dans le biome ou non.
"topblockID" correspond à l'ID à la surface du biome.
"fillerblockID" correspond à l'ID en dessous de la surface du biome.

A titre d'exemple voici mon fichier :
Code:
biomeID : 50
biomename : biometest
mintemperature : 0.1
maxtemperature : 0.9
snow : false
rain : false
topblockID : 89
fillerblockID : 42

Partager votre mod :
Pour partager votre mod, rien de plus simple. Récupérez les fichiers .cmm de votre mod, créez une archive avec un zippeur/dézippeur (Winrar par exemple), envoyez-la à vos amis. Dîtes-leur de dézipper l'archive dans leur dossier "craftmymod" et voilà !

N'hésitez pas à faire partager vos créations à la suite de ce post ;) Et aussi, n'oubliez pas de faire des suggestions, des remarques, des critiques (du moment qu'elles sont constructives !).

Téléchargements :
Dernière version :
Craft My Mod [1.1.2 - Minecraft 1.7]

Minecraft Forge (dépendance) : Adf.ly (liens de l'auteur).

Craft My Mod [1.1.1 - Minecraft 1.7]
Craft My Mod [1.1 - Minecraft 1.7]
Craft My Mod [1.0.1 - Minecraft 1.5.1].
Craft My Mod [1.0 - Minecraft 1.4.7].

Cordialement, Epharos.
 
  • J'aime
Reactions: robin4002
Super mod mais sur mon client le mod empêche mon minecraft de se lancer voici mon code d'erreur :
Code:
---- Minecraft Crash Report ----
// I let you down. Sorry :(
 
Time: 27/06/14 10:30
Description: Initializing game
 
cpw.mods.fml.relauncher.ReflectionHelper$UnableToAccessFieldException: cpw.mods.fml.relauncher.ReflectionHelper$UnableToFindFieldException: java.lang.NoSuchFieldException: tabLabel
    at cpw.mods.fml.relauncher.ReflectionHelper.getPrivateValue(ReflectionHelper.java:121)
    at cpw.mods.fml.common.ObfuscationReflectionHelper.getPrivateValue(ObfuscationReflectionHelper.java:60)
    at fr.epharos.craftmymod.utils.Util.getCreativeTabByString(Util.java:12)
    at fr.epharos.craftmymod.Loader.loadBlocks(Loader.java:64)
    at fr.epharos.craftmymod.CraftMyMod.init(CraftMyMod.java:40)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:690)
    at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:288)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:527)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:815)
    at net.minecraft.client.main.Main.main(SourceFile:103)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Caused by: cpw.mods.fml.relauncher.ReflectionHelper$UnableToFindFieldException: java.lang.NoSuchFieldException: tabLabel
    at cpw.mods.fml.relauncher.ReflectionHelper.findField(ReflectionHelper.java:94)
    at cpw.mods.fml.relauncher.ReflectionHelper.getPrivateValue(ReflectionHelper.java:117)
    ... 41 more
Caused by: java.lang.NoSuchFieldException: tabLabel
    at java.lang.Class.getDeclaredField(Unknown Source)
    at cpw.mods.fml.relauncher.ReflectionHelper.findField(ReflectionHelper.java:85)
    ... 42 more
 
 
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
 
-- Head --
Stacktrace:
    at cpw.mods.fml.relauncher.ReflectionHelper.getPrivateValue(ReflectionHelper.java:121)
    at cpw.mods.fml.common.ObfuscationReflectionHelper.getPrivateValue(ObfuscationReflectionHelper.java:60)
    at fr.epharos.craftmymod.utils.Util.getCreativeTabByString(Util.java:12)
    at fr.epharos.craftmymod.Loader.loadBlocks(Loader.java:64)
    at fr.epharos.craftmymod.CraftMyMod.init(CraftMyMod.java:40)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:690)
    at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:288)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:527)
 
-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:815)
    at net.minecraft.client.main.Main.main(SourceFile:103)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
 
-- System Details --
Details:
    Minecraft Version: 1.7.2
    Operating System: Windows 7 (amd64) version 6.1
    Java Version: 1.7.0_60, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 390237592 bytes (372 MB) / 778043392 bytes (742 MB) up to 1908932608 bytes (1820 MB)
    JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.03 FML v7.2.211.1121 Minecraft Forge 10.12.2.1121 Optifine OptiFine_1.7.2_HD_U_D1 6 mods loaded, 6 mods active
    mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized
    FML{7.2.211.1121} [Forge Mod Loader] (forge-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized
    Forge{10.12.2.1121} [Minecraft Forge] (forge-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized
    CameraStudio{2.172} [Camera Studio] (CameraStudioV2.172(mc1.7.2).zip) Unloaded->Constructed->Pre-initialized->Initialized
    craftmymod{1.1} [Craft My Mod] (Craft My Mod 1.1.2.jar) Unloaded->Constructed->Pre-initialized->Errored
    customnpcs{1.7.2} [CustomNpcs] (CustomNPCs_1.7.2.jar) Unloaded->Constructed->Pre-initialized->Initialized
    Launched Version: 1.7.2-Forge10.12.2.1121
    LWJGL: 2.9.0
    OpenGL: ATI Radeon HD 3800 Series GL version 3.3.11672 Compatibility Profile Context, ATI Technologies Inc.
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: [Conquest_.zip]
    Current Language: Français (France)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
    Anisotropic Filtering: Off (1)
 
Bonjour :)

Oui on m'a déjà fait parvenir ce bug, en fait c'est simplement une erreur de ma part, erreur qui sera corrigée à la prochaine version. Je planche actuellement sur l'ajout d'une interface en jeu permettant de faciliter la création des fichiers.

Bonne soirée :)
 
Ton mod parait cool, mais je n'ai pas put développer avec, si tu pouvais m'envoyer un exemple pour que le refasse à ma sauce, se serai sympa. @+