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

Ouai, enfin, je pense que j'ai bien changé à chaque fois:

Block 4:
Code:
package net.minecraft.src;
import java.util.Random;
public class BlockMyBloc4 extends Block
{
    public BlockMyBloc4(int i, int j)
    {
    super(i, j, Material.ground);
    }
    public int idDropped(int i, Random random)
    {
    return mod_MyMod.myBloc4.blockID;
    }
}
Block 5:
Code:
package net.minecraft.src;
import java.util.Random;
public class BlockMyBloc5 extends Block
{
    public BlockMyBloc5(int i, int j)
    {
    super(i, j, Material.ground);
    }
    public int idDropped(int i, Random random)
    {
    return mod_MyMod.myBloc5.blockID;
    }
}
Block 6:
Code:
package net.minecraft.src;
import java.util.Random;
public class BlockMyBloc6 extends Block
{
    public BlockMyBloc6(int i, int j)
    {
    super(i, j, Material.ground);
    }
    public int idDropped(int i, Random random)
    {
    return mod_MyMod.myBloc6.blockID;
    }
}
 
Bonjour, je vous expose mon problème :
J'ai tenté un premier mod, l'ajout d'un seul bloc, qui, détruit, donne un bloc de fer.
Mais quand je "recompile", j'ai toutes ces erreurs:

Code:
== MCP v4.4 ==
> Recompiling client...
javac.exe -g -source 1.6 -target 1.6 -classpath "lib/;lib/*;jars/bin/minecraft.j
ar;jars/bin/jinput.jar;jars/bin/lwjgl.jar;jars/bin/lwjgl_util.jar" -sourcepath s
rc/minecraft -d bin/minecraft src/minecraft\net\minecraft\client\*.java src/mine
craft\net\minecraft\isom\*.java src/minecraft\net\minecraft\src\*.java  conf/pat
ches/*.java failed.
Return code : 1

== ERRORS FOUND ==

src\minecraft\net\minecraft\src\BlockMyBloc.java:11: ';' expected
return Block.iron ore.blockID;
^

src\minecraft\net\minecraft\src\BlockMyBloc.java:11: not a statement
return Block.iron ore.blockID;
^

src\minecraft\net\minecraft\src\mod_MyMod.java:8: '}' expected
{"#",Character.valueOf('#'), Block.iron ore});
^

src\minecraft\net\minecraft\src\mod_MyMod.java:8: ';' expected
{"#",Character.valueOf('#'), Block.iron ore});
^

src\minecraft\net\minecraft\src\mod_MyMod.java:8: illegal start of expression
{"#",Character.valueOf('#'), Block.iron ore});
^

src\minecraft\net\minecraft\src\mod_MyMod.java:11: ';' expected
BlockMyBloc(99,224)).setHardness(2.0F).setResistance(10F)
^

src\minecraft\net\minecraft\src\mod_MyMod.java:14: illegal start of type
.setStepSound(Block.soundStoneFootstep);
^

src\minecraft\net\minecraft\src\mod_MyMod.java:14: ';' expected
.setStepSound(Block.soundStoneFootstep);
^

src\minecraft\net\minecraft\src\mod_MyMod.java:14: illegal start of type
.setStepSound(Block.soundStoneFootstep);
^

src\minecraft\net\minecraft\src\mod_MyMod.java:14: ';' expected
.setStepSound(Block.soundStoneFootstep);
^

src\minecraft\net\minecraft\src\mod_MyMod.java:14: <identifier> expected
.setStepSound(Block.soundStoneFootstep);
^

11 errors
==================

Et voici mes deux fichiers :
Code:
package net.minecraft.src;
import java.util.Random;
public class BlockMyBloc extends Block
{
public BlockMyBloc(int i, int j)
{
super(i, j, Material.rock);
}
public int idDropped(int i, Random random)
{
return Block.iron ore.blockID;
}
}
Code:
package net.minecraft.src;
public class mod_MyMod extends BaseMod
{
public mod_MyMod()
{
ModLoader.RegisterBlock(NewStone);
ModLoader.AddRecipe(new ItemStack(NewStone, 1), new Object[]
{"#",Character.valueOf('#'), Block.iron ore});
}
public static final Block NewStone = (new
BlockMyBloc(99,224)).setHardness(2.0F).setResistance(10F)
.setStepSound(Block.soundStoneFootstep);
public String Version()
{
return "1.7.3";
}
}

Merci d'avance !
Cordialement, Edwin59310.
 
Merci , c'est quel ligne pour la rareté du block?

Code:
if(rand.nextInt(chanceSur10DePasSpawnerLeMinerai) == 0) return; // Rajoute ça si tu veut le faire encore plus rare

(new WorldGenMinable(tonBlock.blockID, nombreDeBlocks))

Bonjour,

J'ai un problème, j'ai créer 6 blocks, ils marchent tous, mais quand je l'est détruit il me donne toujours mon block 3. C'est à dire que je peux crafter mes 6 blocks, je les verrai comme il faut, je pourrai détruire le 1, 2 et 3, il n'auront pas de problème, mais si je détruit le 4, 5 et 6, il me donne mon block 3 !!

Voiçi mes codes mod_MyMod (pas changer le nom ^^):

Remplace juste tes public static final Block par ça à partir de 4 :

Code:
    public static final Block myBloc4 = (new BlockMyBloc4(203,233))
    .setHardness(0.6F)
    .setResistance(40F)
    .setStepSound(Block.soundMetalFootstep);

    public static final Block myBloc5 = (new BlockMyBloc5(204,232))
   // ...

    public static final Block myBloc6 = (new BlockMyBloc6(205,231))
   // ...

Tu avais mit BlockMyBloc3 aux 3 derniers ^^
 
Bonjour, je vous expose mon problème :
J'ai tenté un premier mod, l'ajout d'un seul bloc, qui, détruit, donne un bloc de fer.
Mais quand je "recompile", j'ai toutes ces erreurs:

[...]

Merci d'avance !
Cordialement, Edwin59310.

Tou d'abord, il ne faut pas mettre d'espace entre iron et ore, et puis de tout façon, c'est "oreIron" et non pas "ironore", le nom du bloc.
Il faut donc que tu remplaces tous tes "iron ore" par "oreIron"!
V'la!
 
Voila, nouveau problème, j'ai voulu modifié la rareté du bloc, et il me met erreur, où est-ce qu'il faut le placer ?
Code:
package net.minecraft.src;
import java.util.Random;
public class BlockMyBloc extends Block
{
public BlockMyBloc(int i, int j)
{
super(i, j, Material.rock);
}
public int idDropped(int i, Random random)
{
if(rand.nextInt(chanceSur10DePasSpawnerLeMinerai) == 0) return;
{
return Block.oreIron.blockID;
}
}
Merci d'avance !
 
Si tu te mets à inventer des commandes, on va pas s'en sortir...
Si tu mets des trucs en fançais, ça ne va pas être reconnu et ça va provoquer une erreur à chaque fois!
Sinon, pour modifier la rareté, il faut déjà que ton bloc puisse apparaître lors de la génération du monde.

J'espère que tu as lu tous les tutos, parceque ce que tu demandes est dedans! Relis, si ce n'est pas déjà fait, tu trouveras ce que tu cherches..
 
Code:
if(rand.nextInt(chanceSur10DePasSpawnerLeMinerai) == 0) return; // Rajoute ça si tu veut le faire encore plus rare

(new WorldGenMinable(tonBlock.blockID, nombreDeBlocks))

Remplace juste tes public static final Block par ça à partir de 4 :

Code:
    public static final Block myBloc4 = (new BlockMyBloc4(203,233))
    .setHardness(0.6F)
    .setResistance(40F)
    .setStepSound(Block.soundMetalFootstep);

    public static final Block myBloc5 = (new BlockMyBloc5(204,232))
  // ...

    public static final Block myBloc6 = (new BlockMyBloc6(205,231))
  // ...

Tu avais mit BlockMyBloc3 aux 3 derniers ^^

Merci beaucoup, parce que j'aurais jamais trouvé ^^