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

En fait, indenter un code ça veut pas dire le mettre dans des balises, ça veut dire mettre des tabulations, etc... En gros, pour que ton code soit plus lisible. Après, c'est pour qu'on puisse t'aider plus rapidement, et puis c'est un bonne attitude à prendre. ;) Par exemple avec ton code :
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.cobblestone.blockID;
    }
et
Code:
package net.minecraft.src;

public class mod_MyMod extends BaseMod
{
    public mod_MyMod()
    {
        ModLoader.RegisterBlock(myBloc);
    }

    public static final Block myBloc;

    static
    {
    myBloc = (new BlockMyBloc(96, 7)).setHardness(2.0F).setResistance(10F).setStepSound(Block.soundStoneFootstep);               
    }

    (d'ailleurs là c'est dans mod_MyMod())
    {
        ModLoader.AddRecipe(new ItemStack(myBloc, 1), new Object[] {
            "A", "B", "C", Character.valueOf('A'), Block.dirt, Character.valueOf('B'), Block.gravel, Character.valueOf('C'),    Item.bucketWater});
    }

    public String Version()
    {
        return "1.5_01";
    }
}

C'est déjà plus agréable. :ok:

P.S. : Il y a un certains endrois où la balise code a buggé comme vous avez pu le remarquer.
 
salut tout le monde voila ben je suis a la recompile et la ben il me dis que j ai une 100 d erreur



num expected
import BlockWorkbench;
^
sources\minecraft\net\minecraft\client\Minecraft.java:15: '.' expected
import ChunkFile;
^
sources\minecraft\net\minecraft\client\Minecraft.java:15: ';' expected
import ChunkFile;
^
sources\minecraft\net\minecraft\client\Minecraft.java:16: class, interface, or e
num expected
import ChunkFolderPattern;
^
sources\minecraft\net\minecraft\client\Minecraft.java:17: '.' expected
import ColorizerFoliage;
^
sources\minecraft\net\minecraft\client\Minecraft.java:17: ';' expected
import ColorizerFoliage;
^
sources\minecraft\net\minecraft\client\Minecraft.java:18: class, interface, or e
num expected
import EntityGiantZombie;
^
sources\minecraft\net\minecraft\client\Minecraft.java:19: '.' expected
import EntityItem;
^
sources\minecraft\net\minecraft\client\Minecraft.java:19: ';' expected
import EntityItem;
^
sources\minecraft\net\minecraft\client\Minecraft.java:20: class, interface, or e
num expected
import EntityPainting;
^
sources\minecraft\net\minecraft\client\Minecraft.java:21: '.' expected
import EntityPlayer;
^
sources\minecraft\net\minecraft\client\Minecraft.java:21: ';' expected
import EntityPlayer;
^
sources\minecraft\net\minecraft\client\Minecraft.java:22: class, interface, or e
num expected
import EntityZombie;
^
sources\minecraft\net\minecraft\client\Minecraft.java:23: '.' expected
import EnumCreatureType;
^
sources\minecraft\net\minecraft\client\Minecraft.java:23: ';' expected
import EnumCreatureType;
^
sources\minecraft\net\minecraft\client\Minecraft.java:24: class, interface, or e
num expected
import EnumOS1;
^
sources\minecraft\net\minecraft\client\Minecraft.java:25: '.' expected
import GameSettings;
^
sources\minecraft\net\minecraft\client\Minecraft.java:25: ';' expected
import GameSettings;
^
sources\minecraft\net\minecraft\client\Minecraft.java:26: class, interface, or e
num expected
import GuiContainer;
^
sources\minecraft\net\minecraft\client\Minecraft.java:27: '.' expected
import GuiCreateWorld;
^
sources\minecraft\net\minecraft\client\Minecraft.java:27: ';' expected
import GuiCreateWorld;
^
sources\minecraft\net\minecraft\client\Minecraft.java:28: class, interface, or e
num expected
import GuiOptions;
^
sources\minecraft\net\minecraft\client\Minecraft.java:29: '.' expected
import GuiRenameWorld;
^
sources\minecraft\net\minecraft\client\Minecraft.java:29: ';' expected
import GuiRenameWorld;
^
sources\minecraft\net\minecraft\client\Minecraft.java:30: class, interface, or e
num expected
import GuiScreen;
^
sources\minecraft\net\minecraft\client\Minecraft.java:31: '.' expected
import GuiSlotStatsGeneral;
^
sources\minecraft\net\minecraft\client\Minecraft.java:31: ';' expected
import GuiSlotStatsGeneral;
^
sources\minecraft\net\minecraft\client\Minecraft.java:32: class, interface, or e
num expected
import GuiWorldSlot;
^
sources\minecraft\net\minecraft\client\Minecraft.java:33: '.' expected
import IChunkProvider;
^
sources\minecraft\net\minecraft\client\Minecraft.java:33: ';' expected
import IChunkProvider;
^
sources\minecraft\net\minecraft\client\Minecraft.java:34: class, interface, or e
num expected
import IInvBasic;
^
sources\minecraft\net\minecraft\client\Minecraft.java:35: '.' expected
import IStatStringFormat;
^
sources\minecraft\net\minecraft\client\Minecraft.java:35: ';' expected
import IStatStringFormat;
^
sources\minecraft\net\minecraft\client\Minecraft.java:36: class, interface, or e
num expected
import ItemCoal;
^
sources\minecraft\net\minecraft\client\Minecraft.java:37: '.' expected
import ItemDoor;
^
sources\minecraft\net\minecraft\client\Minecraft.java:37: ';' expected
import ItemDoor;
^
sources\minecraft\net\minecraft\client\Minecraft.java:38: class, interface, or e
num expected
import ItemEgg;
^
sources\minecraft\net\minecraft\client\Minecraft.java:39: '.' expected
import ItemStack;
^
sources\minecraft\net\minecraft\client\Minecraft.java:39: ';' expected
import ItemStack;
^
sources\minecraft\net\minecraft\client\Minecraft.java:40: class, interface, or e
num expected
import J_ArrayNodeContainer;
^
sources\minecraft\net\minecraft\client\Minecraft.java:41: '.' expected
import J_ChainedFunctor;
^
sources\minecraft\net\minecraft\client\Minecraft.java:41: ';' expected
import J_ChainedFunctor;
^
sources\minecraft\net\minecraft\client\Minecraft.java:42: class, interface, or e
num expected
import J_CompactJsonFormatter;
^
sources\minecraft\net\minecraft\client\Minecraft.java:43: '.' expected
import J_JsonArrayNodeSelector;
^
sources\minecraft\net\minecraft\client\Minecraft.java:43: ';' expected
import J_JsonArrayNodeSelector;
^
sources\minecraft\net\minecraft\client\Minecraft.java:44: class, interface, or e
num expected
import J_JsonFormatter;
^
sources\minecraft\net\minecraft\client\Minecraft.java:45: '.' expected
import J_JsonListenerToJdomAdapter;
^
sources\minecraft\net\minecraft\client\Minecraft.java:45: ';' expected
import J_JsonListenerToJdomAdapter;
^
sources\minecraft\net\minecraft\client\Minecraft.java:46: class, interface, or e
num expected
import J_JsonNullNodeBuilder;
^
sources\minecraft\net\minecraft\client\Minecraft.java:47: '.' expected
import J_JsonNumberNode;
^
sources\minecraft\net\minecraft\client\Minecraft.java:47: ';' expected
import J_JsonNumberNode;
^
sources\minecraft\net\minecraft\client\Minecraft.java:48: class, interface, or e
num expected
import MapGenBase;
^
sources\minecraft\net\minecraft\client\Minecraft.java:49: '.' expected
import ModelBoat;
^
sources\minecraft\net\minecraft\client\Minecraft.java:49: ';' expected
import ModelBoat;
^
sources\minecraft\net\minecraft\client\Minecraft.java:50: class, interface, or e
num expected
import ModelChicken;
^
sources\minecraft\net\minecraft\client\Minecraft.java:51: '.' expected
import ModelSpider;
^
sources\minecraft\net\minecraft\client\Minecraft.java:51: ';' expected
import ModelSpider;
^
sources\minecraft\net\minecraft\client\Minecraft.java:52: class, interface, or e
num expected
import NBTTagDouble;
^
sources\minecraft\net\minecraft\client\Minecraft.java:53: '.' expected
import NoiseGeneratorPerlin;
^
sources\minecraft\net\minecraft\client\Minecraft.java:53: ';' expected
import NoiseGeneratorPerlin;
^
sources\minecraft\net\minecraft\client\Minecraft.java:54: class, interface, or e
num expected
import OpenGlCapsChecker;
^
sources\minecraft\net\minecraft\client\Minecraft.java:55: '.' expected
import Packet102WindowClick;
^
sources\minecraft\net\minecraft\client\Minecraft.java:55: ';' expected
import Packet102WindowClick;
^
sources\minecraft\net\minecraft\client\Minecraft.java:56: class, interface, or e
num expected
import Packet130UpdateSign;
^
sources\minecraft\net\minecraft\client\Minecraft.java:57: '.' expected
import Packet19EntityAction;
^
sources\minecraft\net\minecraft\client\Minecraft.java:57: ';' expected
import Packet19EntityAction;
^
sources\minecraft\net\minecraft\client\Minecraft.java:58: class, interface, or e
num expected
import Packet200Statistic;
^
sources\minecraft\net\minecraft\client\Minecraft.java:59: '.' expected
import Packet21PickupSpawn;
^
sources\minecraft\net\minecraft\client\Minecraft.java:59: ';' expected
import Packet21PickupSpawn;
^
sources\minecraft\net\minecraft\client\Minecraft.java:60: class, interface, or e
num expected
import Packet23VehicleSpawn;
^
sources\minecraft\net\minecraft\client\Minecraft.java:61: '.' expected
import Packet28EntityVelocity;
^
sources\minecraft\net\minecraft\client\Minecraft.java:61: ';' expected
import Packet28EntityVelocity;
^
sources\minecraft\net\minecraft\client\Minecraft.java:62: class, interface, or e
num expected
import Packet32EntityLook;
^
sources\minecraft\net\minecraft\client\Minecraft.java:63: '.' expected
import Packet39AttachEntity;
^
sources\minecraft\net\minecraft\client\Minecraft.java:63: ';' expected
import Packet39AttachEntity;
^
sources\minecraft\net\minecraft\client\Minecraft.java:64: class, interface, or e
num expected
import PacketCounter;
^
sources\minecraft\net\minecraft\client\Minecraft.java:65: '.' expected
import PathEntity;
^
sources\minecraft\net\minecraft\client\Minecraft.java:65: ';' expected
import PathEntity;
^
sources\minecraft\net\minecraft\client\Minecraft.java:66: class, interface, or e
num expected
import PositionTextureVertex;
^
sources\minecraft\net\minecraft\client\Minecraft.java:67: '.' expected
import RecipeSorter;
^
sources\minecraft\net\minecraft\client\Minecraft.java:67: ';' expected
import RecipeSorter;
^
sources\minecraft\net\minecraft\client\Minecraft.java:68: class, interface, or e
num expected
import Render;
^
sources\minecraft\net\minecraft\client\Minecraft.java:69: '.' expected
import RenderEngine;
^
sources\minecraft\net\minecraft\client\Minecraft.java:69: ';' expected
import RenderEngine;
^
sources\minecraft\net\minecraft\client\Minecraft.java:70: class, interface, or e
num expected
import SaveConverterMcRegion;
^
sources\minecraft\net\minecraft\client\Minecraft.java:71: '.' expected
import SaveHandler;
^
sources\minecraft\net\minecraft\client\Minecraft.java:71: ';' expected
import SaveHandler;
^
sources\minecraft\net\minecraft\client\Minecraft.java:72: class, interface, or e
num expected
import SlotFurnace;
^
sources\minecraft\net\minecraft\client\Minecraft.java:73: '.' expected
import SorterStatsBlock;
^
100 errors
*** minecraft_server.jar was not found, skipping
=== MCP 2.12 recompile script finished ===
Appuyez sur une touche pour continuer...



si vous avez une idée pour moi ca serais gentil et sinon encore bravo pour tes tutos
 
Sorax -> Oui j'ai mis a jour et changé plusieurs éléments dans le tuto 1,2 et 3.

ryoaspi - > Je pense que c'est un problème de décompilation,je doute que tu est modifié autant de fichiers.
Vérifie bien les fichiers que tu a mis dans le dossier jars.
 
Reçu 5/5 Ushiua

Mais ce que tu me dis, c'est ce que j'ai fait hier quand j'ai édité mes messages ...
Chez moi je les vois comme tu me dis à la page précédente, pas vous ?

En tout cas merci pour les tutos et pour votre aide :)

Cordialement, GuiLGTA.
 
Le code pour mettre une texture extérieur à Item.png ne fonctionne plus ? Car j'ai beau essayé, j'ai toujours un : constructor ItemMybowlMilk(int) comme erreur, et c'est la seule...

EDIT : C'est bon j'ai compris, Notch a ajouter dans le jeu les Dec (décimal j'imagine) et hex (hexadécimal), donc il faut maintenant mettre 2 ID !

EDIT 2 : Par contre, je test IG et je suis confronté à un autre problème, je ne peu pas prendre mon objet :/ Je fais la recette comme il faut, mais l'objet n’apparaît pas. C'est quand même bien gênant !
 
Salut, j'ai essayé ce tuto sur linux (en utilisant les scriptes .sh du modLoader du coup), aucun problème lors de la recompilation ou du reobf, mais le mod ne marche ni dans le test_game ni sur minecraft. Même problème même si j'utilise le code de base fournis dans le tuto, les seuls messages d'erreurs que j'obtiens lors du test_game sont:

=== Minecraft Coder Pack 2.12 ===
16 achievements
146 recipes
ModLoader Beta 1.5_01v3 Initializing...
Mod Loaded: net.minecraft.src.mod_MyMod 1.5_01
Mod Loaded: net.minecraft.src.mod_justTest 1.5_01
Done.
Loading: net.java.games.input.LinuxEnvironmentPlugin
Failed to open device (/dev/input/event5): Failed to open device /dev/input/event5 (13)

Failed to open device (/dev/input/event4): Failed to open device /dev/input/event4 (13)

Failed to open device (/dev/input/event3): Failed to open device /dev/input/event3 (13)

Failed to open device (/dev/input/event2): Failed to open device /dev/input/event2 (13)

Failed to open device (/dev/input/event1): Failed to open device /dev/input/event1 (13)

Failed to open device (/dev/input/event0): Failed to open device /dev/input/event0 (13)

Linux plugin claims to have found 0 controllers

Starting up SoundSystem...
Initializing LWJGL OpenAL
(The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
OpenAL initialized.


Après cela le jeu se lance normalement mais mon mod ne marche pas. Please help je suis impatient de creer des sushis de poulpe :)