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

Bah moi j'ai pas d'erreur dans le code source :o Et quand je change de PC j'ai pas cette erreur (là par exemple je suis sur le pc ou je n'ai pas l'erreur)
 
Bonsoir, j'ai voulus ajouter je ne sais plus quoi à mon mod et j'ai ce rapport de crash pouvez-vous m'aidez ? :
Code:
Mods loaded: 1
ModLoader 1.1
 
      Minecraft has crashed!     
      ----------------------     
 
Minecraft has stopped running because it encountered a problem.
 
If you wish to report this, please copy this entire text and email it to [email protected].
Please include a description of what you did when the error occured.
 
 
 
--- BEGIN ERROR REPORT 9c4f49b2 --------
Generated 28/02/12 20:31
 
Minecraft: Minecraft 1.1
OS: Windows 7 (amd64) version 6.1
Java: 1.6.0_30, Sun Microsystems Inc.
VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Sun Microsystems Inc.
LWJGL: 2.4.2
OpenGL: AMD Radeon HD 6370M        version 4.0.9901 Compatibility Profile Context, ATI Technologies Inc.
 
java.lang.InstantiationException: net.minecraft.src.mod_EvilAether
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at net.minecraft.src.ModLoader.addMod(ModLoader.java:234)
    at net.minecraft.src.ModLoader.readFromClassPath(ModLoader.java:1217)
    at net.minecraft.src.ModLoader.init(ModLoader.java:708)
    at net.minecraft.src.ModLoader.AddAllRenderers(ModLoader.java:150)
    at net.minecraft.src.RenderManager.<init>(RenderManager.java:78)
    at net.minecraft.src.RenderManager.<clinit>(RenderManager.java:9)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:316)
    at net.minecraft.client.Minecraft.run(Minecraft.java:620)
    at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT 1513f71 ----------

Je n'arrive pas à le résoudre :/ Vous avez besoin de quel fichier pour m'aider ?
Merci d'avance,
Cordialement,
Styvak
 
Voici mon mod_EvilAether :
Code:
package net.minecraft.src;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
 
import net.minecraft.client.Minecraft;
import org.lwjgl.opengl.GL11;
 
public class mod_EvilAether extends BaseMod
{
    public static final int dimNumber = 31;
    private static int evilaetherID = -1;
    private static int earthID = -1;
    private static HashMap map;
   
    public static boolean evilContent = true;
   
    public static final Block EvilAetherportal = new EA_BlockEvilAetherPortal(210, 14).setHardness(-1F).setLightValue(0.75F).setBlockName("EvilAetherportal");
    public static final Block RedstoneBlock = new EA_BlockRedstoneBlock(204, ModLoader.addOverride("/terrain.png","/EvilAether/redstoneblock.png")).setHardness(3F).setResistance(5F).setStepSound(Block.soundStoneFootstep).setLightValue(0.625F).setBlockName("RedstoneBlock");
    public static final Block WoodCarbon = new EA_BlockWoodCarbon(203, ModLoader.addOverride("/terrain.png", "/EvilAether/woodcarbon.png")).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setBlockName("woodcarbon");
    public static final Block leavescarbon = new EA_BlockLeavesCarbon(202, ModLoader.addOverride("/terrain.png","/EvilAether/leavescarbon.png")).setHardness(0.2F).setStepSound(Block.soundGrassFootstep).setBlockName("leavescarbon").setLightOpacity(6).setRequiresSelfNotify();
    public static final Block dirtCarbon = new EA_BlockDirtCarbon(201, ModLoader.addOverride("/terrain.png", "/EvilAether/dirtcarbon.png")).setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setBlockName("dirtCarbon");
    public static final Block grassCarbon = new EA_BlockGrassCarbon(200, ModLoader.addOverride("/terrain.png", "/EvilAether/grasscarbonh.png")).setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setBlockName("grassCarbon");
    public static final Block evilCobble = new EA_BlockEvilCobble(205, ModLoader.addOverride("/terrain.png", "/EvilAether/evilcobble.png")).setHardness(2.0F).setResistance(10F).setStepSound(Block.soundStoneFootstep).setBlockName("evilCobble");
    public static final Block evilStone = new EA_BlockEvilStone(206, ModLoader.addOverride("/terrain.png", "/EvilAether/evilstone.png")).setHardness(1.5F).setResistance(10F).setStepSound(Block.soundStoneFootstep).setBlockName("evilStone");
    public static final Block evilPlank = new EA_BlockEvilPlank(207, ModLoader.addOverride("/terrain.png", "/EvilAether/evilplank.png")).setHardness(2.0F).setResistance(5F).setStepSound(Block.soundWoodFootstep).setBlockName("evilPlank").setRequiresSelfNotify();
    public static final Block evilSoil = new EA_BlockEvilSoil(208, ModLoader.addOverride("/terrain.png", "/EvilAether/evilsoil.png")).setHardness(0.5F).setStepSound(Block.soundSandFootstep).setBlockName("evilSoil");
    public static final Block evilCloud = new EA_BlockEvilCloud(209, ModLoader.addOverride("/terrain.png", "/EvilAether/evilcloud.png")).setHardness(0.2F).setLightOpacity(3).setStepSound(Block.soundClothFootstep).setBlockName("evilCloud");
   
    public static final Item RedStoneIngot = new Item(ModLoader.getUniqueEntityId()).setIconIndex(ModLoader.addOverride("/gui/items.png","/EvilAether/redstoneingot.png")).setItemName("RedstoneIngot");
    public static final Item evilStick = new Item(ModLoader.getUniqueEntityId()).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilstick.png")).setItemName("evilStick");
    public static final Item parachuteEvil = new EA_ItemParachuteEvil(ModLoader.getUniqueEntityId()).setItemName("parachuteEvil");
   
    public static final Item redstoneSword = new EA_ItemSwordRedstone(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.RED).setIconIndex(ModLoader.addOverride("/gui/items.png","/EvilAether/redstonesword.png")).setItemName("redstoneSword");
    public static final Item redstoneAxe = new EA_ItemAxeRedstone(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.RED).setIconIndex(ModLoader.addOverride("/gui/items.png","/EvilAether/redstoneaxe.png")).setItemName("redstoneAxe");
    public static final Item redstonePickaxe = new EA_ItemPickaxeRedstone(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.RED).setIconIndex(ModLoader.addOverride("/gui/items.png","/EvilAether/redstonepickaxe.png")).setItemName("redstonePickaxe");
    public static final Item redstoneShovel = new EA_ItemSpadeRedstone(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.RED).setIconIndex(ModLoader.addOverride("/gui/items.png","/EvilAether/redstoneshovel.png")).setItemName("redstoneShovel");
    public static final Item redstoneHoe = new EA_ItemHoeRedstone(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.RED).setIconIndex(ModLoader.addOverride("/gui/items.png","/EvilAether/redstonehoe.png")).setItemName("redstoneHoe");
    public static final Item evilCobbleSword = new EA_ItemSword(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILCOBBLE).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilcobblesword.png")).setItemName("evilCobbleSword");
    public static final Item evilCobbleAxe = new EA_ItemAxe(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILCOBBLE).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilcobbleaxe.png")).setItemName("evilCobbleAxe");
    public static final Item evilCobblePickaxe = new EA_ItemPickaxe(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILCOBBLE).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilcobblepickaxe.png")).setItemName("evilCobblePickaxe");
    public static final Item evilCobbleShovel = new EA_ItemSpade(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILCOBBLE).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilcobbleshovel.png")).setItemName("evilCobbleShovel");
    public static final Item evilCobbleHoe = new EA_ItemHoe(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILCOBBLE).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilcobblehoe.png")).setItemName("evilCobbleHoe");
    public static final Item evilWoodSword = new EA_ItemSword(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILPLANK).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilwoodsword.png")).setItemName("evilWoodSword");
    public static final Item evilWoodAxe = new EA_ItemAxe(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILPLANK).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilwoodaxe.png")).setItemName("evilWoodAxe");
    public static final Item evilWoodPickaxe = new EA_ItemPickaxe(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILPLANK).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilwoodpickaxe.png")).setItemName("evilWoodPickaxe");
    public static final Item evilWoodShovel = new EA_ItemSpade(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILPLANK).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilwoodshovel.png")).setItemName("evilWoodShovel");
    public static final Item evilWoodHoe = new EA_ItemHoe(ModLoader.getUniqueEntityId(), EA_EnumToolMaterial.EVILPLANK).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/evilwoodhoe.png")).setItemName("evilWoodHoe");
   
    public static final Item redstoneHelmet = new EA_ItemArmor(ModLoader.getUniqueEntityId(), EA_EnumArmorMaterial.RED, ModLoader.AddArmor("armorred"), 0).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/helmetred.png")).setItemName("redstoneHelmet");
    public static final Item redstoneChestplate = new EA_ItemArmor(ModLoader.getUniqueEntityId(), EA_EnumArmorMaterial.RED, ModLoader.AddArmor("armorred"), 1).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/chestplatered.png")).setItemName("redstoneChestplate");
    public static final Item redstoneLeggins = new EA_ItemArmor(ModLoader.getUniqueEntityId(), EA_EnumArmorMaterial.RED, ModLoader.AddArmor("armorred"), 2).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/legginsred.png")).setItemName("redstoneLeggins");
    public static final Item redstoneFoot = new EA_ItemArmor(ModLoader.getUniqueEntityId(), EA_EnumArmorMaterial.RED, ModLoader.AddArmor("armorred"), 3).setIconIndex(ModLoader.addOverride("/gui/items.png", "/EvilAether/footred.png")).setItemName("redstoneFoot");
   
    private static final int i = 0;
    private static GuiScreen lastGuiOpen;
    public static boolean worldMenu = true;
    public static boolean evilAetherMenu = true;
    public static PlayerBase Player;
    private boolean Para;
 
    public mod_EvilAether(int i2)
    {
        Para = false;
       
        ModLoader.SetInGUIHook(this, true, true);
        ModLoader.SetInGameHook(this, true, true);
       
        ModLoader.RegisterBlock(EvilAetherportal);
        ModLoader.RegisterBlock(RedstoneBlock);
        ModLoader.RegisterBlock(WoodCarbon);
        ModLoader.RegisterBlock(dirtCarbon);
        ModLoader.RegisterBlock(leavescarbon);
        ModLoader.RegisterBlock(grassCarbon);
        ModLoader.RegisterBlock(evilStone);
        ModLoader.RegisterBlock(evilCobble);
        ModLoader.RegisterBlock(evilPlank);
        ModLoader.RegisterBlock(evilSoil);
        ModLoader.RegisterBlock(evilCloud);
       
        ModLoader.AddName(EvilAetherportal, "EvilAether Portal");
        ModLoader.AddName(RedstoneBlock, "Redstone Block");
        ModLoader.AddName(RedStoneIngot, "Redstone Ingot");
        ModLoader.AddName(redstoneSword, "Redstone Sword");
        ModLoader.AddName(redstoneAxe, "Redstone Axe");
        ModLoader.AddName(redstonePickaxe, "Redstone Pickaxe");
        ModLoader.AddName(redstoneShovel, "Redstone Shovel");
        ModLoader.AddName(redstoneHoe, "Redstone Hoe");
        ModLoader.AddName(leavescarbon, "Evil Leaves");
        ModLoader.AddName(dirtCarbon, "Evil Dirt");
        ModLoader.AddName(grassCarbon, "Evil Grass");
        ModLoader.AddName(WoodCarbon, "Evil Wood");
        ModLoader.AddName(redstoneHelmet, "Redstone Helmet");
        ModLoader.AddName(redstoneChestplate, "Redstone Chestplate");
        ModLoader.AddName(redstoneLeggins, "Redstone Leggings");
        ModLoader.AddName(redstoneFoot, "Redstone Boots");
        ModLoader.AddName(evilStick, "Evil Stick");
        ModLoader.AddName(evilPlank, "Evil Planks");
        ModLoader.AddName(evilCobbleSword, "Evil Stone Sword");
        ModLoader.AddName(evilCobbleAxe, "Evil Stone Axe");
        ModLoader.AddName(evilCobbleShovel, "Evil Stone Shovel");
        ModLoader.AddName(evilCobbleHoe, "Evil Stone Hoe");
        ModLoader.AddName(evilCobblePickaxe, "Evil Stone Pickaxe");
        ModLoader.AddName(evilWoodSword, "Evil Wooden Sword");
        ModLoader.AddName(evilWoodAxe, "Evil Wooden Axe");
        ModLoader.AddName(evilWoodPickaxe, "Evil Wooden Pickaxe");
        ModLoader.AddName(evilWoodHoe, "Evil Wooden Hoe");
        ModLoader.AddName(evilWoodShovel, "Evil Wooden Shovel");
        ModLoader.AddName(evilStone, "Evil Stone");
        ModLoader.AddName(evilCobble, "Evil Cobblestone");
        ModLoader.AddName(parachuteEvil, "Evil Parachute");
        ModLoader.AddName(evilSoil,  "Evil Soil");
        ModLoader.AddName(evilCloud, "Evil Cloud");
       
        ModLoader.AddRecipe(new ItemStack(RedstoneBlock, 1),new Object[]{"###", "###", "###" ,Character.valueOf('#'), mod_EvilAether.RedStoneIngot});
        ModLoader.AddRecipe(new ItemStack(RedStoneIngot, 9),new Object[]{"#",Character.valueOf('#'), mod_EvilAether.RedstoneBlock});
        ModLoader.AddRecipe(new ItemStack(redstoneSword, 1),new Object[]{"#", "#", "T" ,Character.valueOf('#'), mod_EvilAether.RedStoneIngot, Character.valueOf('T'), Item.blazeRod});
        ModLoader.AddRecipe(new ItemStack(redstoneAxe, 1), new Object[]{"## ", "#T ", " T " ,Character.valueOf('#'), mod_EvilAether.RedStoneIngot, Character.valueOf('T'), Item.blazeRod});
        ModLoader.AddRecipe(new ItemStack(redstoneAxe, 1), new Object[]{" ##", " T#", " T " ,Character.valueOf('#'), mod_EvilAether.RedStoneIngot, Character.valueOf('T'), Item.blazeRod});
        ModLoader.AddRecipe(new ItemStack(redstonePickaxe, 1), new Object[]{"###", " T ", " T ", Character.valueOf('#'), mod_EvilAether.RedStoneIngot, Character.valueOf('T'), Item.blazeRod});
        ModLoader.AddRecipe(new ItemStack(redstoneShovel, 1), new Object[]{"#", "T", "T", Character.valueOf('#'), mod_EvilAether.RedStoneIngot, Character.valueOf('T'), Item.blazeRod});
        ModLoader.AddRecipe(new ItemStack(redstoneHoe, 1), new Object[]{" ##", " T ", " T ", Character.valueOf('#'), mod_EvilAether.RedStoneIngot, Character.valueOf('T'), Item.blazeRod});
        ModLoader.AddRecipe(new ItemStack(redstoneHoe, 1), new Object[]{"## ", " T ", " T ", Character.valueOf('#'), mod_EvilAether.RedStoneIngot, Character.valueOf('T'), Item.blazeRod});
        ModLoader.AddRecipe(new ItemStack(redstoneHelmet, 1), new Object[]{"###", "# #", Character.valueOf('#'), mod_EvilAether.RedStoneIngot});
        ModLoader.AddRecipe(new ItemStack(redstoneChestplate, 1), new Object[]{"# #", "###", "###", Character.valueOf('#'), mod_EvilAether.RedStoneIngot});
        ModLoader.AddRecipe(new ItemStack(redstoneLeggins, 1), new Object[]{"###", "# #", "# #", Character.valueOf('#'), mod_EvilAether.RedStoneIngot});
        ModLoader.AddRecipe(new ItemStack(redstoneFoot, 1), new Object[]{"# #", "# #", Character.valueOf('#'), mod_EvilAether.RedStoneIngot});
        ModLoader.AddRecipe(new ItemStack(evilPlank, 4), new Object[]{"#", Character.valueOf('#'), mod_EvilAether.WoodCarbon});
        ModLoader.AddRecipe(new ItemStack(evilStick, 4), new Object[]{"#", "#", Character.valueOf('#'), mod_EvilAether.evilPlank});
        ModLoader.AddRecipe(new ItemStack(evilCobbleSword, 1),new Object[]{"#", "#", "T" ,Character.valueOf('#'), mod_EvilAether.evilCobble, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilCobbleAxe, 1), new Object[]{"## ", "#T ", " T " ,Character.valueOf('#'), mod_EvilAether.evilCobble, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilCobbleAxe, 1), new Object[]{" ##", " T#", " T " ,Character.valueOf('#'), mod_EvilAether.evilCobble, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilCobblePickaxe, 1), new Object[]{"###", " T ", " T ", Character.valueOf('#'), mod_EvilAether.evilCobble, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilCobbleShovel, 1), new Object[]{"#", "T", "T", Character.valueOf('#'), mod_EvilAether.evilCobble, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilCobbleHoe, 1), new Object[]{" ##", " T ", " T ", Character.valueOf('#'), mod_EvilAether.evilCobble, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilCobbleHoe, 1), new Object[]{"## ", " T ", " T ", Character.valueOf('#'), mod_EvilAether.evilCobble, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilWoodSword, 1),new Object[]{"#", "#", "T" ,Character.valueOf('#'), mod_EvilAether.evilPlank, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilWoodAxe, 1), new Object[]{"## ", "#T ", " T " ,Character.valueOf('#'), mod_EvilAether.evilPlank, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilWoodAxe, 1), new Object[]{" ##", " T#", " T " ,Character.valueOf('#'), mod_EvilAether.evilPlank, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilWoodPickaxe, 1), new Object[]{"###", " T ", " T ", Character.valueOf('#'), mod_EvilAether.evilPlank, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilWoodShovel, 1), new Object[]{"#", "T", "T", Character.valueOf('#'), mod_EvilAether.evilPlank, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilWoodHoe, 1), new Object[]{" ##", " T ", " T ", Character.valueOf('#'), mod_EvilAether.evilPlank, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(evilWoodHoe, 1), new Object[]{"## ", " T ", " T ", Character.valueOf('#'), mod_EvilAether.evilPlank, Character.valueOf('T'), mod_EvilAether.evilStick});
        ModLoader.AddRecipe(new ItemStack(Block.workbench, 1), new Object[]{"##", "##", Character.valueOf('#'), mod_EvilAether.evilPlank});
       
        ModLoader.AddSmelting(Item.redstone.shiftedIndex, new ItemStack(mod_EvilAether.RedStoneIngot, 1));
       
        ModLoader.RegisterEntityID(EA_EntityPhoenix.class, "Phoenix", ModLoader.getUniqueEntityId());
        ModLoader.RegisterEntityID(EA_EntityEvilCreeper.class, "EvilCreeper", ModLoader.getUniqueEntityId());
        ModLoader.RegisterEntityID(EA_EntityEvilEnderman.class, "EvilEnderman", ModLoader.getUniqueEntityId());
        ModLoader.RegisterEntityID(EA_EntityEvilPig.class, "EvilPig", ModLoader.getUniqueEntityId());
    }
 
 
    @Override
    public String getVersion()
    {
        return "0.2";
    }
 
 
    public boolean OnTickInGame(float f, Minecraft minecraft)
    {
        if (!minecraft.theWorld.multiplayerWorld && minecraft.thePlayer != null && (double)minecraft.thePlayer.timeInPortal > 0.80000000000000004D && minecraft.thePlayer.timeUntilPortal == 0)
        {
            togglePortal(minecraft);
        }
        if (minecraft.thePlayer != null && minecraft.thePlayer.dimension == 31 && !(minecraft.theWorld instanceof EA_World))
        {
            goToEvilAether(minecraft);
        }
        if (minecraft.thePlayer != null && (minecraft.theWorld.worldProvider instanceof EA_WorldProviderEvilAether) && minecraft.thePlayer.dimension != 31)
        {
            minecraft.thePlayer.dimension = 31;
        }
        DrawOverlay(minecraft, "/gui/icons.png");
        World world = minecraft.theWorld;
        if (!world.multiplayerWorld && minecraft.thePlayer != null)
        {
            if (world.worldProvider.worldType == 31 && (minecraft.thePlayer instanceof EntityPlayerSP))
            {
                return true;
            }
            if (world.worldProvider.worldType != 31 && !(minecraft.thePlayer instanceof EntityPlayerSP))
            {
                return true;
            }
            List list = minecraft.theWorld.playerEntities;
            int i = world.worldProvider.worldType;
            NBTTagCompound nbttagcompound = new NBTTagCompound();
            minecraft.thePlayer.writeToNBT(nbttagcompound);
            minecraft.thePlayer.setEntityDead();
            for (int j = 0; j < list.size(); j++)
            {
                if (list.get(j).equals(minecraft.thePlayer))
                {
                    list.remove(j);
                }
            }
 
            minecraft.thePlayer = null;
            EntityPlayerSP entityplayersp = changePlayerEntity(i, minecraft);
            entityplayersp.movementInput = new MovementInputFromOptions(minecraft.gameSettings);
            entityplayersp.readFromNBT(nbttagcompound);
            entityplayersp.dimension = i;
            minecraft.thePlayer = entityplayersp;
            minecraft.changeWorld(minecraft.theWorld, " ", entityplayersp);
            minecraft.theWorld.playerEntities = list;
        }
        if(minecraft.thePlayer != null)
        {
            EntityPlayerSP entityplayersp = minecraft.thePlayer;
            if(((EntityPlayer) (entityplayersp)).dimension == dimNumber && ((EntityPlayer) (entityplayersp)).posY < -2D && !GuiMainMenu.mmactive)
            {
                Class class1 = null;
                NBTTagCompound nbttagcompound = new NBTTagCompound();
                if(((EntityPlayer) (entityplayersp)).ridingEntity != null)
                {
                    class1 = ((EntityPlayer) (entityplayersp)).ridingEntity.getClass();
                    ((EntityPlayer) (entityplayersp)).ridingEntity.writeToNBT(nbttagcompound);
                    ((EntityPlayer) (entityplayersp)).ridingEntity.setEntityDead();
                }
                double d = ((EntityPlayer) (entityplayersp)).motionY;
                Para = false;
                if(EA_EntityParachute.getCloudBelongingToEntity(entityplayersp) != null)
                {
                    Para = true;
                }
                minecraft.thePlayer.setLocationAndAngles(((EntityPlayer) (entityplayersp)).posX, 127D, ((EntityPlayer) (entityplayersp)).posZ, ((EntityPlayer) (entityplayersp)).rotationYaw, 0.0F);
                if(class1 != null && !minecraft.theWorld.multiplayerWorld)
                {
                    Object obj = null;
                    try
                    {
                        Entity entity1 = (Entity)class1.getDeclaredConstructor(new Class[] {
                            net.minecraft.src.World.class
                        }).newInstance(new Object[] {
                            minecraft.theWorld
                        });
                        entity1.readFromNBT(nbttagcompound);
                        entity1.setLocationAndAngles(((EntityPlayer) (entityplayersp)).posX, 127D, ((EntityPlayer) (entityplayersp)).posZ, ((EntityPlayer) (entityplayersp)).rotationYaw, 0.0F);
                        minecraft.theWorld.spawnEntityInWorld(entity1);
                        entityplayersp.mountEntity(entity1);
                    }
                    catch(Exception exception3)
                    {
                        System.out.println("Failed to transfer mount.");
                    }
                }
                entityplayersp.motionX = entityplayersp.motionZ = 0.0D;
                entityplayersp.motionY = d;
                if(Para && EA_EntityParachute.entityHasRoomForCloud(minecraft.theWorld, entityplayersp))
                {
                    for(int k = 0; k < 32; k++)
                    {
                        EA_EntityParachute.doCloudSmoke(minecraft.theWorld, entityplayersp);
                    }
 
                    minecraft.theWorld.playSoundAtEntity(entityplayersp, "cloud", 1.0F, 1.0F / (minecraft.theWorld.rand.nextFloat() * 0.1F + 0.95F));
                    if(!minecraft.theWorld.multiplayerWorld)
                    {
                        minecraft.theWorld.spawnEntityInWorld(new EA_EntityParachute(minecraft.theWorld, entityplayersp, false));
                    }
                }
                if(minecraft.gameSettings.difficulty == 0)
                {
                    entityplayersp.fallDistance = -64F;
                }
            }
            if(getCurrentDimension() == 3)
            {
                boolean flag = ModLoader.getMinecraftInstance().statFileWriter.hasAchievementUnlocked(EA_EvilAetherAchievements.enterEvilAether);
                if(!flag)
                {
                    giveAchievement(EA_EvilAetherAchievements.enterEvilAether, entityplayersp);
                    ((EntityPlayer) (entityplayersp)).inventory.addItemStackToInventory(new ItemStack(mod_EvilAether.parachuteEvil, 1));
                    minecraft.theWorld.playSoundAtEntity(entityplayersp, "random.pop", 0.2F, 1.0F);
                }
            }
        }
        return true;
       
    }
   
    public static void giveAchievement(Achievement achievement)
    {
        giveAchievement(achievement, ((EntityPlayer) (ModLoader.getMinecraftInstance().thePlayer)));
    }
 
    public static void giveAchievement(Achievement achievement, EntityPlayer entityplayer)
    {
        if(ModLoader.getMinecraftInstance().statFileWriter.hasAchievementUnlocked(achievement))
        {
            return;
        } else
        {
            entityplayer.triggerAchievement(achievement);
            return;
        }
    }
 
    public boolean OnTickInGUI1(float f, Minecraft minecraft, GuiScreen guiscreen)
    {
        if((guiscreen instanceof GuiContainerCreative) && !(lastGuiOpen instanceof GuiContainerCreative) && !minecraft.theWorld.multiplayerWorld)
        {
            lastGuiOpen = guiscreen;
            Container container = ((GuiContainer)guiscreen).inventorySlots;
            List list = ((ContainerCreative)container).itemList;
            {
                list.add(new ItemStack(RedstoneBlock, 1, i));
                list.add(new ItemStack(WoodCarbon, 1, i));
                list.add(new ItemStack(dirtCarbon, 1, i));
                list.add(new ItemStack(leavescarbon, 1, i));
                list.add(new ItemStack(grassCarbon, 1, i));
                list.add(new ItemStack(evilCobble, 1, i));
                list.add(new ItemStack(evilPlank, 1, i));
                list.add(new ItemStack(evilStone, 1, i));
            }
        }
        lastGuiOpen = guiscreen;
        return true;
    }
 
    private EntityPlayerSP changePlayerEntity(int i, Minecraft minecraft)
    {
        if (i == 31)
        {
            return new EntityPlayerSP(minecraft, minecraft.theWorld, minecraft.session, i);
        }
        else
        {
            return new EntityPlayerSP(minecraft, minecraft.theWorld, minecraft.session, i);
        }
    }
 
    public boolean OnTickInGUI(float f, Minecraft minecraft, GuiScreen guiscreen)
    {
        if (minecraft.thePlayer != null && minecraft.thePlayer.dimension == 31 && !(minecraft.theWorld.worldProvider instanceof EA_WorldProviderEvilAether))
        {
            goToEvilAether(minecraft);
        }
        if((guiscreen instanceof GuiContainerCreative) && !(lastGuiOpen instanceof GuiContainerCreative) && !minecraft.theWorld.multiplayerWorld)
        {
            lastGuiOpen = guiscreen;
            Container container = ((GuiContainer)guiscreen).inventorySlots;
            List list = ((ContainerCreative)container).itemList;
            {
                list.add(new ItemStack(RedstoneBlock, 1, i));
                list.add(new ItemStack(WoodCarbon, 1, i));
                list.add(new ItemStack(dirtCarbon, 1, i));
                list.add(new ItemStack(leavescarbon, 1, i));
                list.add(new ItemStack(grassCarbon, 1, i));
                list.add(new ItemStack(evilCobble, 1, i));
                list.add(new ItemStack(evilPlank, 1, i));
                list.add(new ItemStack(evilStone, 1, i));
            }
        }
        lastGuiOpen = guiscreen;
        return true;
    }
 
    public void usePortal(Minecraft minecraft, int i)
    {
        Minecraft mc = ModLoader.getMinecraftInstance();
        minecraft.thePlayer.timeUntilPortal = 10;
        minecraft.thePlayer.timeInPortal = 0.0F;
        if (i == 0)
        {
            goToEarth(minecraft);
        }
        else if (i == 31)
        {
            goToEvilAether(minecraft);
        }
        if (minecraft.thePlayer.isEntityAlive())
        {
            minecraft.thePlayer.setLocationAndAngles(minecraft.thePlayer.posX, minecraft.thePlayer.posY, minecraft.thePlayer.posZ, minecraft.thePlayer.rotationYaw, minecraft.thePlayer.rotationPitch);
            minecraft.theWorld.updateEntityWithOptionalForce(minecraft.thePlayer, false);
            (new EA_TeleporterEvilAether()).placeInPortal(minecraft.theWorld, minecraft.thePlayer);
        }
    }
 
    public static void goToEvilAether(Minecraft minecraft)
    {
        minecraft.theWorld.setEntityDead(minecraft.thePlayer);
        minecraft.thePlayer.isDead = false;
        double d = minecraft.thePlayer.posY;
        if (minecraft.thePlayer.dimension == 0)
        {
            d *= 0.5D;
        }
        minecraft.thePlayer.setLocationAndAngles(minecraft.thePlayer.posX, d, minecraft.thePlayer.posZ, minecraft.thePlayer.rotationYaw, minecraft.thePlayer.rotationPitch);
        if (minecraft.thePlayer.isEntityAlive())
        {
            minecraft.theWorld.updateEntityWithOptionalForce(minecraft.thePlayer, false);
        }
        EA_World EA_World = null;
        EA_World = new EA_World(minecraft.theWorld, new EA_WorldProviderEvilAether());
        minecraft.changeWorld(EA_World, "Going to the Evil Aether", minecraft.thePlayer);
        minecraft.thePlayer.worldObj = minecraft.theWorld;
        minecraft.thePlayer.dimension = 31;
    }
 
    public static void goToEarth(Minecraft minecraft)
    {
        minecraft.theWorld.setEntityDead(minecraft.thePlayer);
        minecraft.thePlayer.isDead = false;
        double d = minecraft.thePlayer.posY;
        if (minecraft.thePlayer.dimension == 0)
        {
            d *= 2D;
        }
        minecraft.thePlayer.setLocationAndAngles(minecraft.thePlayer.posX, d, minecraft.thePlayer.posZ, minecraft.thePlayer.rotationYaw, minecraft.thePlayer.rotationPitch);
        if (minecraft.thePlayer.isEntityAlive())
        {
            minecraft.theWorld.updateEntityWithOptionalForce(minecraft.thePlayer, false);
        }
        World world = null;
        world = new World(minecraft.theWorld, WorldProvider.getProviderForDimension(0));
        minecraft.changeWorld(world, "Returning to Earth", minecraft.thePlayer);
        minecraft.thePlayer.worldObj = minecraft.theWorld;
        minecraft.thePlayer.dimension = 0;
    }
 
    public void togglePortal(Minecraft minecraft)
    {
        boolean flag = isAABBInBlockID(minecraft.theWorld, minecraft.thePlayer.boundingBox, EvilAetherportal.blockID);
        if (minecraft.thePlayer.dimension == 31)
        {
            usePortal(minecraft, 0);
        }
        else if (minecraft.thePlayer.dimension == 0 && flag)
        {
            usePortal(minecraft, 31);
        }
    }
 
    public boolean isAABBInBlockID(World world, AxisAlignedBB axisalignedbb, int i)
    {
        int j = MathHelper.floor_double(axisalignedbb.minX);
        int k = MathHelper.floor_double(axisalignedbb.maxX + 1.0D);
        int l = MathHelper.floor_double(axisalignedbb.minY);
        int i1 = MathHelper.floor_double(axisalignedbb.maxY + 1.0D);
        int j1 = MathHelper.floor_double(axisalignedbb.minZ);
        int k1 = MathHelper.floor_double(axisalignedbb.maxZ + 1.0D);
        for (int l1 = j; l1 < k; l1++)
        {
            for (int i2 = l; i2 < i1; i2++)
            {
                for (int j2 = j1; j2 < k1; j2++)
                {
                    if (world.getBlockId(l1, i2, j2) == i)
                    {
                        return true;
                    }
                }
            }
        }
 
        return false;
    }
 
    private void DrawOverlay(Minecraft minecraft, String s)
    {
        if (minecraft.thePlayer.dimension != 31)
        {
            return;
        }
        ScaledResolution scaledresolution = new ScaledResolution(minecraft.gameSettings, minecraft.displayWidth, minecraft.displayHeight);
        int i = scaledresolution.getScaledWidth();
        int j = scaledresolution.getScaledHeight();
        GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, minecraft.renderEngine.getTexture(s));
    }
   
    public void AddRenderer(Map map)
    {
        map.put(net.minecraft.src.EA_EntityPhoenix.class, new RenderLiving(new EA_ModelPhoenix(), 1F));
        map.put(net.minecraft.src.EA_EntityEvilCreeper.class, new RenderLiving(new ModelCreeper(), 1F));
        map.put(net.minecraft.src.EA_EntityEvilEnderman.class, new RenderLiving(new ModelEnderman(), 1F));
        map.put(net.minecraft.src.EA_EntityEvilPig.class, new EA_RenderEvilPig(new EA_ModelEvilPig2(), new EA_ModelEvilPig(), 0.7F));
       
        map.put(net.minecraft.src.EA_EntityMorsure.class, new EA_RenderMorsure());
        map.put(net.minecraft.src.EA_EntityEvilEnderman.class, new EA_RenderEvilEnderman());
        map.put(net.minecraft.src.EA_EntityParachute.class, new EA_RenderParachute());
    }
   
    private void drawTexturedModalRect(int i, int j, int k, int l, int i1, int j1)
    {
        int k1 = -30;
        float f = 0.00390625F;
        float f1 = 0.00390625F;
        Tessellator tessellator = Tessellator.instance;
        tessellator.startDrawingQuads();
        tessellator.addVertexWithUV(i + 0, j + j1, k1, (float)(k + 0) * f, (float)(l + j1) * f1);
        tessellator.addVertexWithUV(i + i1, j + j1, k1, (float)(k + i1) * f, (float)(l + j1) * f1);
        tessellator.addVertexWithUV(i + i1, j + 0, k1, (float)(k + i1) * f, (float)(l + 0) * f1);
        tessellator.addVertexWithUV(i + 0, j + 0, k1, (float)(k + 0) * f, (float)(l + 0) * f1);
        tessellator.draw();
    }
   
 
    public int iBlockGet(World world1, int i, int j, int k, int l)
    {
        EntityPlayerSP entityplayersp = ModLoader.getMinecraftInstance().thePlayer;
        if(world1 != null)
        {
            if(l == Block.lavaMoving.blockID || l == Block.lavaStill.blockID)
            {
                if(world1.getBlockId(i, j - 1, k) == mod_EvilAether.RedstoneBlock.blockID && ((EA_BlockEvilAetherPortal)mod_EvilAether.EvilAetherportal).tryToCreatePortal(world1, i, j, k))
                {
                    return mod_EvilAether.EvilAetherportal.blockID;
                }
                if(getCurrentDimension() != -1)
                {
                    return l;
                }
            }
        }
       
        if(l == Block.lavaMoving.blockID || l == Block.lavaStill.blockID)
        {
            return mod_EvilAether.evilSoil.blockID;
        }
        return 1;
    }
 
    public static int getCurrentDimension()
    {
        EntityPlayerSP entityplayersp = ModLoader.getMinecraftInstance().thePlayer;
        if(entityplayersp == null)
        {
            return 0;
        } else
        {
            return ((EntityPlayer) (entityplayersp)).dimension;
        }
    }
 
    public static PlayerBase getPlayer(EntityPlayer entityplayer)
    {
        return Player;
    }
 
    public static void usePortal2(Minecraft minecraft, int i) {
        Minecraft mc = ModLoader.getMinecraftInstance();
        minecraft.thePlayer.timeUntilPortal = 10;
        minecraft.thePlayer.timeInPortal = 0.0F;
        if (i == 0)
        {
            goToEarth(minecraft);
        }
        else if (i == 31)
        {
            goToEvilAether(minecraft);
        }
        if (minecraft.thePlayer.isEntityAlive())
        {
            minecraft.thePlayer.setLocationAndAngles(minecraft.thePlayer.posX, minecraft.thePlayer.posY, minecraft.thePlayer.posZ, minecraft.thePlayer.rotationYaw, minecraft.thePlayer.rotationPitch);
            minecraft.theWorld.updateEntityWithOptionalForce(minecraft.thePlayer, false);
            (new EA_TeleporterEvilAether()).placeInPortal(minecraft.theWorld, minecraft.thePlayer);
        }
   
       
    }
 
 
    @Override
    public void load() {
        // TODO Auto-generated method stub
       
    }
 
   
}
Merci si tu peut m'aider :)
 
Code:
private static final int i = 0;
Il sert à quoi ça ? xD
Code:
ModLoader.SetInGameHook(this, true, true);
remplace le dernier "true" par "false"

""public static void giveAchievement"" C'est pas plutôt "getAchievement" ?

Code:
    private EntityPlayerSP changePlayerEntity(int i, Minecraft minecraft)
 
    {
 
        if (i == 31)
 
        {
 
            return new EntityPlayerSP(minecraft, minecraft.theWorld, minecraft.session, i);
 
        }
 
        else
 
        {
 
            return new EntityPlayerSP(minecraft, minecraft.theWorld, minecraft.session, i);
 
        }
 
    }
Euh EntityPlayerSP existe déjà, il suffit de l'importer ^^ a moins que la méthode n’existe pas :p

Code:
private void drawTexturedModalRect(int i, int j, int k, int l, int i1, int j1)
remplace Modal par Model ?

et il y a des méthodes que tu as appelé deux fois, j'ignore d'ou tu les tiens, mais certaines me sembles fausse (dont certaines choses que j'ai indiqué au dessus), revoie un peu ton code... Si cela ne marche pas, demande de l'aide à rafoudiablol ;)