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

Stormweaker, j'ai ajouter quelques petit trucs à mon épée mais il me dit "cannot find symbol weapons damage"

J'aimerai savoir si tu n'avais pas une source d'une épée d'un mod (pas celle de minecraft parce qu'elle est puissante en fonction du minerai utiliser pour la créer)

En clair, les dégâts de mon épée =

weaponDamage = 30;
 
Tien, le code d'une épée venant de mon mod :

Code:
package net.minecraft.src;

public class ItemSwordDP extends Item
{

    public ItemSwordDP(int i, EnumNewToolMaterial enumtoolnewmaterial)
    {
        super(i);
        maxStackSize = 1;
        setMaxDamage(enumtoolnewmaterial.getMaxUses());
        weaponDamage = 16 + enumtoolnewmaterial.getDamageVsEntity() * 2;
    }

    public float getStrVsBlock(ItemStack itemstack, Block block)
    {
        return 1.5F;
    }

    public boolean hitEntity(ItemStack itemstack, EntityLiving entityliving, EntityLiving entityliving1)
    {
        itemstack.damageItem(1, entityliving1);
        return true;
    }

    public boolean onBlockDestroyed(ItemStack itemstack, int i, int j, int k, int l, EntityLiving entityliving)
    {
        itemstack.damageItem(2, entityliving);
        return true;
    }

    public int getDamageVsEntity(Entity entity)
    {
        return weaponDamage;
    }

    public boolean isFull3D()
    {
        return true;
    }

    private int weaponDamage;
}
 
Merci à vous deux, ulko10, qu'est ce que "enumtoolnewmaterial"?

edit : j'ai garder mon propre code et j'ai mis comme dans ItemSword.java dans la source de minecraft.

}
private int weaponDamage;
}

à la fin du code.
 
Salut, j'ai ajouté plusieurs blocs sur la même base (par base j'entends : new BlockColorGlass pour 15 blocs)
Le premier est nickel, mais tous les autres, dès que je les craft, mon jeu plante et j'ai ce message :

Code:
--- BEGIN ERROR REPORT 866a8b5f --------
Generated 25/07/11 21:51

Minecraft: Minecraft Beta 1.7.3
OS: Windows 7 (x86) version 6.1
Java: 1.6.0_26, Sun Microsystems Inc.
VM: Java HotSpot(TM) Client VM (mixed mode), Sun Microsystems Inc.
LWJGL: 2.4.2
OpenGL: ATI Radeon HD 5700 Series version 4.0.9836 Compatibility Profile Context, ATI Technologies Inc.

java.lang.NullPointerException
	at net.minecraft.src.ItemStack.isItemStackDamageable(ItemStack.java:122)
	at net.minecraft.src.ItemStack.isItemDamaged(ItemStack.java:132)
	at net.minecraft.src.InventoryPlayer.addItemStackToInventory(InventoryPlayer.java:336)
	at net.minecraft.src.EntityItem.onCollideWithPlayer(EntityItem.java:142)
	at net.minecraft.src.EntityPlayer.collideWithPlayer(EntityPlayer.java:266)
	at net.minecraft.src.EntityPlayer.onLivingUpdate(EntityPlayer.java:256)
	at net.minecraft.src.EntityPlayerSP.onLivingUpdate(EntityPlayerSP.java:107)
	at net.minecraft.src.EntityLiving.onUpdate(EntityLiving.java:207)
	at net.minecraft.src.EntityPlayer.onUpdate(EntityPlayer.java:121)
	at net.minecraft.src.World.updateEntityWithOptionalForce(World.java:1481)
	at net.minecraft.src.World.updateEntity(World.java:1457)
	at net.minecraft.src.World.updateEntities(World.java:1376)
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1187)
	at net.minecraft.client.Minecraft.run(Minecraft.java:480)
	at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT c55b7f7b ----------



Je ne sais pas du tout d'où ça vient ...

Si vous voulez le code source, dite le moi.
 
Je suis saoulant je sais ^^
Donc, j'aimerai que mon block, BlockEmeraude.java apparaissant naturellement dans le sol (comme le fer, charbon etc...)

J'ai trouver ceci dans BlockRedstoneOre.java

Code:
    public void randomDisplayTick(World world, int i, int j, int k, Random random)
    {
        if(field_468_a)
        {
            func_319_i(world, i, j, k);
        }
    }

    private void func_319_i(World world, int i, int j, int k)
    {
        Random random = world.rand;
        double d = 0.0625D;
        for(int l = 0; l < 6; l++)
        {
            double d1 = (float)i + random.nextFloat();
            double d2 = (float)j + random.nextFloat();
            double d3 = (float)k + random.nextFloat();
            if(l == 0 && !world.isBlockOpaqueCube(i, j + 1, k))
            {
                d2 = (double)(j + 1) + d;
            }
            if(l == 1 && !world.isBlockOpaqueCube(i, j - 1, k))
            {
                d2 = (double)(j + 0) - d;
            }
            if(l == 2 && !world.isBlockOpaqueCube(i, j, k + 1))
            {
                d3 = (double)(k + 1) + d;
            }
            if(l == 3 && !world.isBlockOpaqueCube(i, j, k - 1))
            {
                d3 = (double)(k + 0) - d;
            }
            if(l == 4 && !world.isBlockOpaqueCube(i + 1, j, k))
            {
                d1 = (double)(i + 1) + d;
            }
            if(l == 5 && !world.isBlockOpaqueCube(i - 1, j, k))
            {
                d1 = (double)(i + 0) - d;
            }
            if(d1 < (double)i || d1 > (double)(i + 1) || d2 < 0.0D || d2 > (double)(j + 1) || d3 < (double)k || d3 > (double)(k + 1))
            {
                world.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D);
            }
J'imagine qu'il faut que je m’intéresse à ceci non ? si oui, comment modifier la probabilité d'apparition ?