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

Salut :),
J'ai suivi ton tutoriel pour commencé j'ai pas touché au nom et à leur fonction seulement pour comprendre comment compilé un mod et le faire marché. Il marche très bien avec le fichier .bat je rentre dans mon monde, je craft mon bloc bref mon problème viens au niveau de la modification du fichier ''client_obfuscation.txt'', je supprime son contenue j'ajoute ''myBloc'', je ferme et le lance reobf.bat et voila une erreur : http://img844.imageshack.us/img844/4638/bannercx.png


MErci beaucoup
Theinfernus
 
Leux64 : Si tu explore le fichier Block.java et Item.java des fichiers sources , tu y trouvera l'ID et le nom de tous les objets et blocs du jeu ! Sinon pour les recettes et tout ça tu peux aussi (je crois mais je suis pas sûr !) mettre l'ID de l'objet ou du bloc correspondant.(Attention toute fois à l'ID des objets qui est égale à celle que l'on voit dans Item.java + 256).

the-infernus :Waw! jamais eu ce genre d'erreur avec reobf.bat !
Tu as bien mis les nom de tes fichiers .java en entier ?(c'est à dire avec le .java à la fin par exemple avec les majuscules les accents...)
 
A l'aide, j'ai fais comme sur le tuto, mais j'ai tout plein d'erreur :(
Les erreurs:
Code:
*** Minecraft Coder Pack Version 2.9 ***
MCP 2.9 running in C:\Users\David\Documents\minecraft\Moding\MCP
Compiling Minecraft
sources\minecraft\net\minecraft\src\mod_hunter.java:16: illegal start of express
ion
public static final Block meuble;
^
sources\minecraft\net\minecraft\src\mod_hunter.java:16: illegal start of express
ion
public static final Block meuble;
       ^
sources\minecraft\net\minecraft\src\mod_hunter.java:16: ';' expected
public static final Block meuble;
             ^
sources\minecraft\net\minecraft\src\mod_hunter.java:17: illegal start of express
ion
static
^
sources\minecraft\net\minecraft\src\mod_hunter.java:24: '}' expected
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.va
lueOf('X'), Block.20,});
                            ^
sources\minecraft\net\minecraft\src\mod_hunter.java:24: ';' expected
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.va
lueOf('X'), Block.20,});
                                ^
sources\minecraft\net\minecraft\src\mod_hunter.java:24: ';' expected
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.va
lueOf('X'), Block.20,});
                                                        ^
sources\minecraft\net\minecraft\src\mod_hunter.java:24: not a statement
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.va
lueOf('X'), Block.20,});
                                                          ^
sources\minecraft\net\minecraft\src\mod_hunter.java:24: ';' expected
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.va
lueOf('X'), Block.20,});
                                                              ^
sources\minecraft\net\minecraft\src\mod_hunter.java:24: ';' expected
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.va
lueOf('X'), Block.20,});

          ^
sources\minecraft\net\minecraft\src\mod_hunter.java:24: not a statement
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.va
lueOf('X'), Block.20,});

            ^
sources\minecraft\net\minecraft\src\mod_hunter.java:24: ';' expected
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.va
lueOf('X'), Block.20,});

                 ^
sources\minecraft\net\minecraft\src\mod_hunter.java:24: illegal start of type
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.va
lueOf('X'), Block.20,});

                      ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: <identifier> expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                         ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: illegal start of type
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                          ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: ')' expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                             ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: ';' expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                       ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: <identifier> expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                              ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: <identifier> expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                               ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: illegal start of type
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                                 ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: <identifier> expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                                  ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: ';' expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                                   ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: <identifier> expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                                                ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: illegal start of type
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                                                  ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: <identifier> expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                                                       ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: ';' expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                                                        ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: illegal start of type
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                                                              ^
sources\minecraft\net\minecraft\src\mod_hunter.java:26: <identifier> expected
craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#",
"# #",
                                                                               ^

sources\minecraft\net\minecraft\src\mod_hunter.java:27: ';' expected
Character.valueOf('#'), Block.17, Character.valueOf('X'), Block.5});
         ^
sources\minecraft\net\minecraft\src\mod_hunter.java:27: invalid method declarati
on; return type required
Character.valueOf('#'), Block.17, Character.valueOf('X'), Block.5});
          ^
sources\minecraft\net\minecraft\src\mod_hunter.java:27: illegal start of type
Character.valueOf('#'), Block.17, Character.valueOf('X'), Block.5});
                  ^
sources\minecraft\net\minecraft\src\mod_hunter.java:27: ';' expected
Character.valueOf('#'), Block.17, Character.valueOf('X'), Block.5});
                      ^
sources\minecraft\net\minecraft\src\mod_hunter.java:27: class, interface, or enu
m expected
Character.valueOf('#'), Block.17, Character.valueOf('X'), Block.5});
                                                                  ^
sources\minecraft\net\minecraft\src\mod_hunter.java:28: class, interface, or enu
m expected
}
^
sources\minecraft\net\minecraft\src\mod_hunter.java:29: class, interface, or enu
m expected
public String Version()
       ^
sources\minecraft\net\minecraft\src\mod_hunter.java:32: class, interface, or enu
m expected
}
*** minecraft_server.jar was not found, skipping
=== MCP 2.9 recompile script finished ===
Appuyez sur une touche pour continuer...

Mon mod_hunter(vu que apparemment les erreur ne viennent que de la):
Code:
package net.minecraft.src;
public class mod_hunter extends BaseMod
{
public mod_hunter()
{
ModLoader.RegisterBlock(tele);

ModLoader.RegisterBlock(meuble);
}
public static final Block tele;
static
{
tele = (new bloc_tele(95,
224)).setHardness(2.0F).setResistance(10F).setStepSound(Block.soundWoodFootstep);

public static final Block meuble;
static
meuble = (new bloc_meuble(96,
226)).setHardness(2.0F).setResistance(10F).setStepSound(Block.soundWoodFootstep);
}
public void AddRecipes(CraftingManager craftingmanager)
{
craftingmanager.addRecipe(new ItemStack(tele, 1), new Object[] {"###", "X%#", "###",
Character.valueOf('#'), Item.265, Character.valueOf('%'), Item.331, Character.valueOf('X'), Block.20,});

craftingmanager.addRecipe(new ItemStack(meuble, 1), new Object[] {"#X#", "#X#", "# #",
Character.valueOf('#'), Block.17, Character.valueOf('X'), Block.5});
}
public String Version()
{
return "1.2_02";
}

J'en demande surement trop, mais je ne comprend vraiment pas les problème, déjà il me met 3 erreur sur la même ligne, alors que la ligne est un copier coller du tuto...
 
Shuyin76 a dit:
A winterdeath : Biensur tu peux modder et modifier ton propre serveur privé ! tu fais comme un mod normal mais tu modifie les fichiers du serveur quoi. Ce qu'il faut c'est que tous les joueurs de ton serveur aient les mêmes mods que toi d'installés.


Et bien écoute merci, je vais m'atteler à la tâche.
 
bonjour, voila j'essaye depuis peu de créer mon propre pack de texture pour le jeu d'origine et les mods que j'ai ajouter, problème je ne sais pas comment ajouter les nouvelles textures.

je m'explique, après avoir fouiller dans les dossiers source j'ai trouver les images en .png des texture terrain et item, je dois donc si je me trompe pas retoucher les texture des objets a partir de la, et placer mes textures dans les "emplacements vides", et si je me réfère au tutoriel, les objets on des coordonné, alors est-ce que sur c'est images les objets sont sur une grille avec un chiffre attribué pour que chaque objet crée dans le mod (ou modifié) est le bon skin ou bien est ce qu'il faut faire quelque chose de spécial?

enfin si quelqu'un comprend quelque chose a la création de pack texture, qu'on m'explique parce que je sèche complétement ou bien m'orienter sur un tuto pour ca, merci de vos réponse
 
Ah il fallais mettre le nom des 2 fichiers, j'avais seulement mis mon BlockmyBloc :)

Je test sa !
EDIT : Sa marche nickel merci

Ps : il serais possible d'avoir un lien vers le tutoriel anglo ?

EDIT : Il y a t'il un code spécial pour les vitres, j'ai remis le texture de la vitre sur mon mod et voila :
http://img138.imageshack.us/img138/9278/header3ov.jpg

Merci
 
leux 64 : Essaye de faire un fichier block par bloc (un pour le meuble et un pour la télé et regarde si ça marche !
Yasoo_kanda :
Pour les nouveaux blocs et items, si tu fais comme le tuto, chaque bloc et objet ont une coordonnée bien précise dans l'image .png correspondante.
-Pour les objets : C'est un système de coordonée .setIconCoord(x, y)
x est la position de l'image de gauche à droite;
y est la position de l'image de haut en bas;
En sachant que les deux commencent par 0
Donc si tu modifie la texture d'origine et que tu ajoute l'image d'un nouvel objet, juste en dessous de l'image de la canne à pêche par exemple, ses coordonnées seront : x = 5 , y = 4.
-Pour les blocs : c'est encore plus simple : (new Block'nomdubloc'('IDdubloc', x))
x est la place de la texte du bloc dans terrain.png tu as juste à compter de gauche à droite et de haut en bas ! Et n'oublie pas de commencer par 0 aussi.
par exemple, tu créé un nouveau bloc et tu fait une nouvelle texture que tu place juste en-dessous du bloc de laine orange. x est alors égal à 226.
Voilà !
The infernus : Pour ton bloc le fait de mettre en vitre et qu'il soit aussi fréquent c'est surement pour ça qu'il y a ce bug. Je pense en fait qu'il y a juste plein de tes blocs sur la map. tu devrai réduire leur nombre voir si ça fait toujours le même bug... Euh ils on été généré aléatoirement dans le monde ou c'est toi qui les a posés ?
EDIT : Erf je raconte des connerie j'ai mal vu l'image c'est bien un bug... tu as bien qualifié ton bloc de "BlockGlass" puisque tu veux qu'il aie la même image que le verre. il aura aussi la même qualité par contre.

Sinon j'ai moi aussi une autre question (encore !) :y' a-t-il une fonction pour définir un intervalle de temps entre deux actions dans un script java? Ici je voudrais créer un objet qui place un bloc puis au bout de quelques secondes le remplace par un autre.
 
Ouais j'ai fais un fichier bloc_XX par bloc, le fichier que je vous montre c'est le mod_... après s'il faut faire un mod pour chaque bloc :/
Sinon pour l'intervalle je sais pas trop, a part hold (qui fonctionnent dans un mod, peut-être que c'est la même chose) du genre "hold 5" ou "hold 5 sec"
 
Désolé leux64 je peux pas t'aider je suis une quiche en modloader !
Bon courage, la meilleure chose à faire de toute façon c'est de ne pas abandonner on finit toujours par y arriver !
 
merci shuyin76, je désespéré d'avoir une réponse.
pour les bloc il n'y as qu'une seul coordonné?
et dans les grilles, les cases vierges peuvent être utilisé?

enfin merci pour tes réponse je crois avoir tout saisi cette fois.