Modding FR

nostre

Aventurier
13 Novembre 2010
424
5
0
31
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

j'ai un problème , déjà pour la recompilation , ça ne marche pas . Ensuite je n'ai pas test_game non plus . Moi qui voulais me mettre au mods
 
ok merci
je test et je te dit


bon cette fois ci ce sont bien des fichiers java donc je les met dans source et je recompile?

nuteylla moi nn plus le test game y est pas mais test le truck start client je crois que c'est sa ><
 
moi j'ai 2 erreur de recompilation sa me met:
return Block.Stone.blockID;
^
et
public class Block1frigo extends Block
^

Bon je reviens ce soir a+
 
tu dois mettre
return Block.stone.blockID


pour l'autre je sais pas sa vient peut etre du 1 ou vérifie les majuscule et minuscule et si c'est bien le même nom que ton fichier voila

j'ai un pb j'essaye de généré un bloc que j'ai personnellement créé sur la map mais sa me fait planter le jeu au moment de la génération de la map donc moi je met se code là :

Code:
package net.minecraft.src;
import java.util.Random;

public class mod_A extends BaseMod
{
public mod_A()
{
ModLoader.RegisterBlock(b);
ModLoader.RegisterBlock(amethiste);
ModLoader.RegisterBlock(amethisteB);
ModLoader.RegisterBlock(quartz);
ModLoader.RegisterBlock(quartzB);
ModLoader.RegisterBlock(saphir);
ModLoader.RegisterBlock(saphirB);
ModLoader.RegisterBlock(jade);
ModLoader.RegisterBlock(jadeB);
ModLoader.RegisterBlock(cuivre);
ModLoader.RegisterBlock(cuivreB);
ModLoader.RegisterBlock(soufre);
ModLoader.RegisterBlock(emerald);
ModLoader.RegisterBlock(argent);
ModLoader.RegisterBlock(aigue);
ModLoader.RegisterBlock(uranium);
ModLoader.RegisterBlock(rubis);
ModLoader.AddName(b, "bloc de rubis");
ModLoader.AddName(amethiste, "minerai amethiste");
ModLoader.AddName(amethisteB, "bloc amethiste");
ModLoader.AddName(quartz, "minerai de quartz");
ModLoader.AddName(quartzB, "bloc de quartz");
ModLoader.AddName(saphir, "minerai de saphir");
ModLoader.AddName(saphirB, "bloc de saphir");
ModLoader.AddName(jade, "minerai de jade");
ModLoader.AddName(jadeB, "bloc de jade");
ModLoader.AddName(cuivre, "minerai de cuivre");
ModLoader.AddName(cuivreB, "bloc de cuivre");
ModLoader.AddName(soufre, "minerai de soufre");
ModLoader.AddName(emerald, "minerai emeraude");
ModLoader.AddName(argent, "minerai argent");
ModLoader.AddName(aigue, "minerai aiguemarine");
ModLoader.AddName(uranium, "minerai uranium");
ModLoader.AddName(rubis, "minerai de rubis");
}
public static final Block b = (new
BlockC(119,234)).setHardness(3F).setResistance(50F)
.setStepSound(Block.soundStoneFootstep).setBlockName("bloc de rubis");
public static final Block amethiste = (new 
Blockame(112,227)).setHardness(3F).setResistance(45F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai amethiste");
public static final Block amethisteB = (new 
BlockameB(124,251)).setHardness(3F).setResistance(45F)
.setStepSound(Block.soundStoneFootstep).setBlockName("bloc amethiste");
public static final Block quartz = (new 
Blockqua(117,232)).setHardness(3F).setResistance(30F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai de quartz");
public static final Block quartzB = (new 
BlockquaB(127,211)).setHardness(3F).setResistance(30F)
.setStepSound(Block.soundStoneFootstep).setBlockName("bloc de quartz");
public static final Block saphir = (new 
Blocksa(121,235)).setHardness(3F).setResistance(50F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai de saphir");
public static final Block saphirB = (new 
BlocksaB(128,212)).setHardness(3F).setResistance(50F)
.setStepSound(Block.soundStoneFootstep).setBlockName("bloc de saphir");
public static final Block jade = (new 
Blockja(115,230)).setHardness(3F).setResistance(50F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai de jade");
public static final Block jadeB = (new 
BlockjaB(126,253)).setHardness(3F).setResistance(50F)
.setStepSound(Block.soundStoneFootstep).setBlockName("bloc de jade");
public static final Block cuivre = (new 
Blockcui(114,229)).setHardness(3F).setResistance(40F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai de cuivre");
public static final Block cuivreB = (new 
BlockcuiB(125,252)).setHardness(3F).setResistance(40F)
.setStepSound(Block.soundStoneFootstep).setBlockName("bloc de cuivre");
public static final Block soufre = (new 
Blocksou(122,236)).setHardness(2F).setResistance(15F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai de soufre");
public static final Block emerald = (new 
Blockeme(116,231)).setHardness(3F).setResistance(50F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai emeraude");
public static final Block argent = (new 
Blockarg(113,228)).setHardness(3F).setResistance(50F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai argent");
public static final Block aigue = (new 
BlockAigue(111,226)).setHardness(2F).setResistance(30F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai aiguemarine");
public static final Block uranium = (new 
Blockur(123,250)).setHardness(2F).setResistance(10F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai uranium");
public static final Block rubis = (new 
Blockru(118,233)).setHardness(3F).setResistance(50F)
.setStepSound(Block.soundStoneFootstep).setBlockName("minerai de rubis");

public void GenerateSurface(World world, Random rand, int chunkX, int chunkZ)
    {
        for(int i = 0; i < (100); i++)
        {
            int randPosX = chunkX + rand.nextInt(64);
            int randPosY = rand.nextInt(64);
            int randPosZ = chunkZ + rand.nextInt(64);
            (new WorldGenMinable(amethiste.blockID, 10)).generate(world, rand, randPosX, randPosY, randPosZ);
        }
    }

public String Version()
{
return "1.5_01";
}
}
 
pfff c'est casse pied enfin bon c'est pour amélioré en même temps ^^ quelqu'un c'est comment marche la génération des bloc sur map svp ?

et aussi comment faire un bloc liquide ??
 
jurams a dit:
nostre a dit:
Pour les sons,je vous conseil Switch,petit programme très pratique permettant de convertir tout un tas de formats...en tout un tas d'autres formats !
Parfais pour passer du mp3 au ogg,pour les sons ou musique de CD par exemple !

Merci mais les sons ne sorte toujours pas...
J'ai mis le son ici :
MCP/jars/resources/newsoun/mob
je ne comprend pas
le son se nomme Warriordeath.ogg

EntytiWarrior :

Code:
package net.minecraft.src;

import java.util.List;
import java.util.Random;

public class EntityWarrior extends EntityZombie {

    public EntityWarrior(World world) {
        super(world);
        texture = "/mob/test.png";
        moveSpeed = 2.8F;
        isImmuneToFire = false;
        attackStrength = 4;
    health = 8;
    }





    public int getMaxSpawnedInChunk() {
        return 1;
    }

    public boolean getCanSpawnHere() {
        return worldObj.difficultySetting > 0 && worldObj.checkIfAABBIsClear(boundingBox) && worldObj.getCollidingBoundingBoxes(this, boundingBox).size() == 0 && !worldObj.getIsAnyLiquid(boundingBox);
    }
    
    public void readEntityFromNBT(NBTTagCompound nbttagcompound) {
        super.readEntityFromNBT(nbttagcompound);
    }
    
    public void onLivingUpdate() {
        super.onLivingUpdate();
    }

    protected int getDropItemId() {
        return Item.swordStone.shiftedIndex;
    }
    
    public ItemStack getHeldItem() {
        return defaultHeldItem;
    }
    
    private static final ItemStack defaultHeldItem;

    static {
        defaultHeldItem = new ItemStack(Item.swordStone, 1);
    }


    protected String getLivingSound()
    {
        return "mob.spider";
    }

    protected String getHurtSound()
    {
        return "mob.pig";
    }

    protected String getDeathSound()
    {
        return "mob.Warriordeath";
    }


}

HELP ME PLEASE