Modding FR

nostre

Aventurier
13 Novembre 2010
424
5
0
30
subject_mods_32.png

Minecraft est un jeu en plein développement,aussi bien du coté de chez Mojang que de celui de la communauté, qui ne cesse de développer toujours plus de mods et de extures packs.

Cependant, pour toute personne voulant tenter le modding de Minecraft,il faudra passer par les tutoriaux du forum officiel,où le français n'est pas vraiment courant.
De plus,si la personne en question ne connait pas un minimum certaines bases de code,sa devient vite un enfer de se lancer dans le domaines...

C'est pourquoi,devant l'absence total de tutoriel français sur le sujet,et afin d'encourager de nouveaux modder français,j'ai décidé de créer le 1er Tutoriel de Modding Minecraft FR.

Le but n'est pas seulement de créer un tutoriel en français,j'esseye de faire en sorte qu'il sois le plus accessible possible pour toutes personnes, compréhensible même pour des non initiés a toutes formes de codes (ou presque).

tutorial.gif


changelog.png
ChangeLog:
changelog.png

*27-02-11: Mise a jour des tutos I et III pour MCP 29a et ModLoader Beta 1.3_01v4.
*27-02-11: Correction d'une erreur dans le tuto II,merci a Woreck de me l'avoir fait remarquer !
*11-04-11: Mise a jour complète pour Minecraft Beta 1.4_01,MCP211 et ModLoader B1.4_01 v1.
*27-04-2011: Mise a jour pour Minecraft B1.5_01,MCP v2.12 et ModLoader v3 B1.5_01.
*30-04-2011: Correction d'une erreur avec les recettes,et mise a disposition des fichiers mod_MyMod.java et BlockMyBloc.java.
exclamation.gif
*29-05-11: Mise a jour pour Minecraft B1.6.5,MCP v3.3 et ModLoader v1 B1.6.5.


! Les liens suivants sont morts !

tuto.png

green-download-arrow-grey-line.png
Tutorial Modding FR - Téléchargement:
green-download-arrow-grey-line.png

asus_download_arrow004.gif
Tuto I - Téléchargement et installation
asus_download_arrow004.gif
Tuto II - Création d'un mod simple,ajout de nouveaux blocs
asus_download_arrow004.gif
Tuto III - Compilation et tests
asus_download_arrow004.gif
Tuto IV - Quelques petits trucs a savoir avant de continuer
asus_download_arrow004.gif
Tuto - Création de nouveaux objets
asus_download_arrow004.gif
Tuto - Ajouter des blocs et objets pour le four
asus_download_arrow004.gif
Tuto - Blocs – Autres possibilités
asus_download_arrow004.gif
Tuto - Autres possibilités - objets
asus_download_arrow004.gif
Sources du mod du Tuto II

Nouveaux fichiers ajoutés suite aux liens morts à la fin du message.
Il manque juste les "Sources du mod du Tuto II".
Je précise que ce sont les fichiers d'origine, le code est parfois obsolète !
 

Fichiers joints

Comme cela ?

Code:
public class mod_Cacaoyer extends BaseMod
{
    public mod_Cacaoyer()
    {
        ModLoader.RegisterBlock(cacaoyer);
        ModLoader.RegisterBlock(feuille);
        ModLoader.RegisterBlock(fevecacao);
        cacao = (new ItemCacao(501)).setIconIndex(ModLoader.addOverride("/gui/items.png", "ModCacao/Cacao.png")).setItemName("cacao");
        ModLoader.AddRecipe(new ItemStack(Item.dyePowder, 1), new Object[] {"#", Character.valueOf('#'), mod_Cacaoyer.cacao});

        ModLoader.AddName(cacao, "Fève de Cacao");
        ModLoader.AddName(fevecacao, "Fève de Cacao (bloc)");
        ModLoader.AddName(cacaoyer, "Cacaoyer");
        ModLoader.AddName(feuille, "Feuille de Cacaoyer");
        
        cacaoyer.blockIndexInTexture =  ModLoader.addOverride("/terrain.png", "ModCacao/Cacaoyer.png");
        feuille.blockIndexInTexture =  ModLoader.addOverride("terrain.png","ModCacao/Feuille.png");
        fevecacao.blockIndexInTexture =  ModLoader.addOverride("terrain.png","ModCacao/FeveCacao.png");
    }
    public static final Block cacaoyer = (new BlockPlante(501, 1)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep);
    public static final Block feuille = (new BlockFeuille(502, 1)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep);
    public static final Block fevecacao = (new BlockFeveCacao(503, 1)).setHardness(2.0F).setResistance(2F).setStepSound(Block.soundWoodFootstep);

    public static Item cacao;
 
Bonjour à tous, comme je l’avais expliqué dans un ancien post, j'essaye de m'entrainer au modding avant de commencer un vrai projet.

J'essaye en se moment de créer un mod pour avoir une arme a feu avec les balles et tous ce qui va avec (genre SDK's Guns mais en beaucoup plus petit :p) ). Jusque là j'ai réussi a peu près a m'en sortir mais là je bloque :
J'ai créer 5 fichier java pour l'instant : mod_GunTest, ItemBullet, ItemGun, EntityBullet, RenderBullet. Lors de la compilation je n'ai aucune erreurs, mais une fois que je rentre dans le jeu et que je test mon "gun", il tire des carrés blanc et non l'image que j'ai créer pour les balles.
Après mettre renseignez j'ai appris que le carré blanc et le model de base donné aux entity. Je pense donc qu'il me manque une commande pour assigner l'EntityBullet.java au RenderBullet.java (car l'image de la balle et appelé dans RenderBullet.java).

Donc voila mon problème, si quelqu'un sais comment y remédier ça serrait sympa parce que la ça commence a me saouler :(

PS : Si vous avez besoin des codes dite moi lesquels précisément pck j'ai peur que ça fasse long sinon ^^'
 
Bah si on aurait était encore en 1.4, il aurait suffit de rajouter ça :

public void AddRenderer(Map map)
{
map.put(EntityBullet.class, new RenderBullet(ModelBullet(), 0.5F)) //Y'a un modèle à faire à moins que tu prenne le même que les flèches.
}

Dans mod_Mygun, mais le problème c'est que la classe n'existe plus et que ça fait 2 jour que je passe mes journées dessus :/.
 
Lorsque je lance minecraft avec mon mod, l'ecran devient noir puis une liste s'affiche avec ecrit :

Code:
3 mai 2011 11:42:04 ModLoader init
FIN: ModLoader Beta 1.5_01v3 Initializing...
3 mai 2011 11:42:04 ModLoader readFromClassPath
PLUS FIN: Adding mods from C:\Documents and Settings\Salle de Jeux\Application Data\.minecraft\bin\minecraft.jar
3 mai 2011 11:42:04 ModLoader readFromClassPath
PLUS FIN: Zip found.
3 mai 2011 11:42:04 ModLoader addMod
FIN: Mod Loaded: "mod_Mymod 1.5_01" from mod_Mymod.class
3 mai 2011 11:42:04 ModLoader addMod
FIN: Failed to load mod from "mod_Cacaoyer.class"
3 mai 2011 11:42:04 ModLoader addMod
PLUS FIN: THROW
java.lang.ExceptionInInitializerError
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at ModLoader.addMod(ModLoader.java:201)
	at ModLoader.readFromClassPath(ModLoader.java:1061)
	at ModLoader.init(ModLoader.java:741)
	at ModLoader.AddAllRenderers(ModLoader.java:120)
	at sd.<init>(sd.java:60)
	at sd.<clinit>(sd.java:9)
	at net.minecraft.client.Minecraft.a(SourceFile:282)
	at net.minecraft.client.Minecraft.run(SourceFile:658)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 501
	at to.<init>(SourceFile:242)
	at uu.<init>(SourceFile:11)
	at BlockPlante.<init>(BlockPlante.java:9)
	at mod_Cacaoyer.<clinit>(mod_Cacaoyer.java:28)
	... 15 more
3 mai 2011 11:42:15 ModLoader AddAllRenderers
FIN: Initialized

Quelqu'un a une idée du problème ?
 
J'ai reussi a supprimer l'erreur qui fait que le mod ne trouve pas la classe Map, il suffit de rajouter : import java.util.Map; en haut du code (en dessous de import java.util.Random;).
Mais maintenant je me retrouve avec une autre erreur :( :

-----------------------------------------------------------------------------
*** Minecraft Coder Pack Version 2.12 ***
MCP 2.12 running in C:\MCP
Compiling Minecraft
sources\minecraft\net\minecraft\src\ItemBullet.java:29: cannot find symbol
symbol : constructor RenderBullet()
location: class net.minecraft.src.RenderBullet
map.put(EntityBullet.class, new RenderBullet());
^
1 error

-----------------------------------------------------------------------------

EDIT : Problème résolu !
 
@kifkif43: Le rapport indique que les erreurs se trouvent dans "BlockPlante.java" a la ligne 9,et "mod_Cacaoyer.java" a la ligne 28.