1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Créer un craft pour un Item/Bloc

Discussion dans 'Tutoriels' créé par Elliotau78, 16 Fev 2013.

  1. Elliotau78

    Elliotau78 Résident du Nether

    Inscrit:
    8 Déc 2012
    Messages:
    4 614
    Points:
    184
    Sexe:
    Homme
    Il vous faut :

    Eclipse qui va vous permettre de coder votre mod.
    MCP725 qui va vous permettre de décompiler votre minecraft.jar.
    La version développeur de java (je vous mets le lien quand j'ai retrouvé le nom ^^)

    Hey, aujourd'hui je vais vous apprendre à :

    créer un craft pour un objet/bloc.

    I-

    Tout d'abord il va vous falloir ouvrir eclipse, puis aller dans => Client => src => net.minecraft.src => CraftingManager.java.
    Vous allez tomber sur une page comme ça :


    Code (java):
    package net.minecraft.src;
     
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.HashMap;
    import java.util.List;
     
    public class CraftingManager
    {
    /** The static instance of this class */
    private static final CraftingManager instance = new CraftingManager();
     
    /** A list of all the recipes added */
    private List recipes = new ArrayList();
     
    /**
    * Returns the static instance of this class
    */

    public static final CraftingManager getInstance()
    {
    return instance;
    }
     
    private CraftingManager()
    {
    (new RecipesTools()).addRecipes(this);
    (new RecipesWeapons()).addRecipes(this);
    (new RecipesIngots()).addRecipes(this);
    (new RecipesFood()).addRecipes(this);
    (new RecipesCrafting()).addRecipes(this);
    (new RecipesArmor()).addRecipes(this);
    (new RecipesDyes()).addRecipes(this);
    this.recipes.add(new RecipesArmorDyes());
    this.recipes.add(new RecipesMapCloning());
    this.recipes.add(new RecipesMapExtending());
    this.recipes.add(new RecipeFireworks());
    this.func_92103_a(new ItemStack(Item.paper, 3), new Object[] {"###", '#', Item.reed});
    this.addShapelessRecipe(new ItemStack(Item.book, 1), new Object[] {Item.paper, Item.paper, Item.paper, Item.leather});
    this.addShapelessRecipe(new ItemStack(Item.writableBook, 1), new Object[] {Item.book, new ItemStack(Item.dyePowder, 1, 0), Item.feather});
    this.func_92103_a(new ItemStack(Block.fence, 2), new Object[] {"###", "###", '#', Item.stick});
    this.func_92103_a(new ItemStack(Block.cobblestoneWall, 6, 0), new Object[] {"###", "###", '#', Block.cobblestone});
    this.func_92103_a(new ItemStack(Block.cobblestoneWall, 6, 1), new Object[] {"###", "###", '#', Block.cobblestoneMossy});
    this.func_92103_a(new ItemStack(Block.netherFence, 6), new Object[] {"###", "###", '#', Block.netherBrick});
    this.func_92103_a(new ItemStack(Block.fenceGate, 1), new Object[] {"#W#", "#W#", '#', Item.stick, 'W', Block.planks});
    this.func_92103_a(new ItemStack(Block.jukebox, 1), new Object[] {"###", "#X#", "###", '#', Block.planks, 'X', Item.diamond});
    this.func_92103_a(new ItemStack(Block.music, 1), new Object[] {"###", "#X#", "###", '#', Block.planks, 'X', Item.redstone});
    this.func_92103_a(new ItemStack(Block.bookShelf, 1), new Object[] {"###", "XXX", "###", '#', Block.planks, 'X', Item.book});
    this.func_92103_a(new ItemStack(Block.blockSnow, 1), new Object[] {"##", "##", '#', Item.snowball});
    this.func_92103_a(new ItemStack(Block.blockClay, 1), new Object[] {"##", "##", '#', Item.clay});
    this.func_92103_a(new ItemStack(Block.brick, 1), new Object[] {"##", "##", '#', Item.brick});
    this.func_92103_a(new ItemStack(Block.glowStone, 1), new Object[] {"##", "##", '#', Item.lightStoneDust});
    this.func_92103_a(new ItemStack(Block.cloth, 1), new Object[] {"##", "##", '#', Item.silk});
    this.func_92103_a(new ItemStack(Block.tnt, 1), new Object[] {"X#X", "#X#", "X#X", 'X', Item.gunpowder, '#', Block.sand});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 3), new Object[] {"###", '#', Block.cobblestone});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 0), new Object[] {"###", '#', Block.stone});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 1), new Object[] {"###", '#', Block.sandStone});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 4), new Object[] {"###", '#', Block.brick});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 5), new Object[] {"###", '#', Block.stoneBrick});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 6), new Object[] {"###", '#', Block.netherBrick});
    this.func_92103_a(new ItemStack(Block.woodSingleSlab, 6, 0), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 0)});
    this.func_92103_a(new ItemStack(Block.woodSingleSlab, 6, 2), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 2)});
    this.func_92103_a(new ItemStack(Block.woodSingleSlab, 6, 1), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 1)});
    this.func_92103_a(new ItemStack(Block.woodSingleSlab, 6, 3), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 3)});
    this.func_92103_a(new ItemStack(Block.ladder, 3), new Object[] {"# #", "###", "# #", '#', Item.stick});
    this.func_92103_a(new ItemStack(Item.doorWood, 1), new Object[] {"##", "##", "##", '#', Block.planks});
    this.func_92103_a(new ItemStack(Block.trapdoor, 2), new Object[] {"###", "###", '#', Block.planks});
    this.func_92103_a(new ItemStack(Item.doorSteel, 1), new Object[] {"##", "##", "##", '#', Item.ingotIron});
    this.func_92103_a(new ItemStack(Item.sign, 3), new Object[] {"###", "###", " X ", '#', Block.planks, 'X', Item.stick});
    this.func_92103_a(new ItemStack(Item.cake, 1), new Object[] {"AAA", "BEB", "CCC", 'A', Item.bucketMilk, 'B', Item.sugar, 'C', Item.wheat, 'E', Item.egg});
    this.func_92103_a(new ItemStack(Item.sugar, 1), new Object[] {"#", '#', Item.reed});
    this.func_92103_a(new ItemStack(Block.planks, 4, 0), new Object[] {"#", '#', new ItemStack(Block.wood, 1, 0)});
    this.func_92103_a(new ItemStack(Block.planks, 4, 1), new Object[] {"#", '#', new ItemStack(Block.wood, 1, 1)});
    this.func_92103_a(new ItemStack(Block.planks, 4, 2), new Object[] {"#", '#', new ItemStack(Block.wood, 1, 2)});
    this.func_92103_a(new ItemStack(Block.planks, 4, 3), new Object[] {"#", '#', new ItemStack(Block.wood, 1, 3)});
    this.func_92103_a(new ItemStack(Item.stick, 4), new Object[] {"#", "#", '#', Block.planks});
    this.func_92103_a(new ItemStack(Block.torchWood, 4), new Object[] {"X", "#", 'X', Item.coal, '#', Item.stick});
    this.func_92103_a(new ItemStack(Block.torchWood, 4), new Object[] {"X", "#", 'X', new ItemStack(Item.coal, 1, 1), '#', Item.stick});
    this.func_92103_a(new ItemStack(Item.bowlEmpty, 4), new Object[] {"# #", " # ", '#', Block.planks});
    this.func_92103_a(new ItemStack(Item.glassBottle, 3), new Object[] {"# #", " # ", '#', Block.glass});
    this.func_92103_a(new ItemStack(Block.rail, 16), new Object[] {"X X", "X#X", "X X", 'X', Item.ingotIron, '#', Item.stick});
    this.func_92103_a(new ItemStack(Block.railPowered, 6), new Object[] {"X X", "X#X", "XRX", 'X', Item.ingotGold, 'R', Item.redstone, '#', Item.stick});
    this.func_92103_a(new ItemStack(Block.railDetector, 6), new Object[] {"X X", "X#X", "XRX", 'X', Item.ingotIron, 'R', Item.redstone, '#', Block.pressurePlateStone});
    this.func_92103_a(new ItemStack(Item.minecartEmpty, 1), new Object[] {"# #", "###", '#', Item.ingotIron});
    this.func_92103_a(new ItemStack(Item.cauldron, 1), new Object[] {"# #", "# #", "###", '#', Item.ingotIron});
    this.func_92103_a(new ItemStack(Item.brewingStand, 1), new Object[] {" B ", "###", '#', Block.cobblestone, 'B', Item.blazeRod});
    this.func_92103_a(new ItemStack(Block.pumpkinLantern, 1), new Object[] {"A", "B", 'A', Block.pumpkin, 'B', Block.torchWood});
    this.func_92103_a(new ItemStack(Item.minecartCrate, 1), new Object[] {"A", "B", 'A', Block.chest, 'B', Item.minecartEmpty});
    this.func_92103_a(new ItemStack(Item.minecartPowered, 1), new Object[] {"A", "B", 'A', Block.stoneOvenIdle, 'B', Item.minecartEmpty});
    this.func_92103_a(new ItemStack(Item.boat, 1), new Object[] {"# #", "###", '#', Block.planks});
    this.func_92103_a(new ItemStack(Item.bucketEmpty, 1), new Object[] {"# #", " # ", '#', Item.ingotIron});
    this.func_92103_a(new ItemStack(Item.flowerPot, 1), new Object[] {"# #", " # ", '#', Item.brick});
    this.func_92103_a(new ItemStack(Item.flintAndSteel, 1), new Object[] {"A ", " B", 'A', Item.ingotIron, 'B', Item.flint});
    this.func_92103_a(new ItemStack(Item.bread, 1), new Object[] {"###", '#', Item.wheat});
    this.func_92103_a(new ItemStack(Block.stairCompactPlanks, 4), new Object[] {"# ", "## ", "###", '#', new ItemStack(Block.planks, 1, 0)});
    this.func_92103_a(new ItemStack(Block.stairsWoodBirch, 4), new Object[] {"# ", "## ", "###", '#', new ItemStack(Block.planks, 1, 2)});
    this.func_92103_a(new ItemStack(Block.stairsWoodSpruce, 4), new Object[] {"# ", "## ", "###", '#', new ItemStack(Block.planks, 1, 1)});
    this.func_92103_a(new ItemStack(Block.stairsWoodJungle, 4), new Object[] {"# ", "## ", "###", '#', new ItemStack(Block.planks, 1, 3)});
    this.func_92103_a(new ItemStack(Item.fishingRod, 1), new Object[] {" #", " #X", "# X", '#', Item.stick, 'X', Item.silk});
    this.func_92103_a(new ItemStack(Item.carrotOnAStick, 1), new Object[] {"# ", " X", '#', Item.fishingRod, 'X', Item.carrot}).func_92100_c();
    this.func_92103_a(new ItemStack(Block.stairCompactCobblestone, 4), new Object[] {"# ", "## ", "###", '#', Block.cobblestone});
    this.func_92103_a(new ItemStack(Block.stairsBrick, 4), new Object[] {"# ", "## ", "###", '#', Block.brick});
    this.func_92103_a(new ItemStack(Block.stairsStoneBrickSmooth, 4), new Object[] {"# ", "## ", "###", '#', Block.stoneBrick});
    this.func_92103_a(new ItemStack(Block.stairsNetherBrick, 4), new Object[] {"# ", "## ", "###", '#', Block.netherBrick});
    this.func_92103_a(new ItemStack(Block.stairsSandStone, 4), new Object[] {"# ", "## ", "###", '#', Block.sandStone});
    this.func_92103_a(new ItemStack(Item.painting, 1), new Object[] {"###", "#X#", "###", '#', Item.stick, 'X', Block.cloth});
    this.func_92103_a(new ItemStack(Item.itemFrame, 1), new Object[] {"###", "#X#", "###", '#', Item.stick, 'X', Item.leather});
    this.func_92103_a(new ItemStack(Item.appleGold, 1, 0), new Object[] {"###", "#X#", "###", '#', Item.goldNugget, 'X', Item.appleRed});
    this.func_92103_a(new ItemStack(Item.appleGold, 1, 1), new Object[] {"###", "#X#", "###", '#', Block.blockGold, 'X', Item.appleRed});
    this.func_92103_a(new ItemStack(Item.goldenCarrot, 1, 0), new Object[] {"###", "#X#", "###", '#', Item.goldNugget, 'X', Item.carrot});
    this.func_92103_a(new ItemStack(Block.lever, 1), new Object[] {"X", "#", '#', Block.cobblestone, 'X', Item.stick});
    this.func_92103_a(new ItemStack(Block.tripWireSource, 2), new Object[] {"I", "S", "#", '#', Block.planks, 'S', Item.stick, 'I', Item.ingotIron});
    this.func_92103_a(new ItemStack(Block.torchRedstoneActive, 1), new Object[] {"X", "#", '#', Item.stick, 'X', Item.redstone});
    this.func_92103_a(new ItemStack(Item.redstoneRepeater, 1), new Object[] {"#X#", "III", '#', Block.torchRedstoneActive, 'X', Item.redstone, 'I', Block.stone});
    this.func_92103_a(new ItemStack(Item.pocketSundial, 1), new Object[] {" # ", "#X#", " # ", '#', Item.ingotGold, 'X', Item.redstone});
    this.func_92103_a(new ItemStack(Item.compass, 1), new Object[] {" # ", "#X#", " # ", '#', Item.ingotIron, 'X', Item.redstone});
    this.func_92103_a(new ItemStack(Item.emptyMap, 1), new Object[] {"###", "#X#", "###", '#', Item.paper, 'X', Item.compass});
    this.func_92103_a(new ItemStack(Block.stoneButton, 1), new Object[] {"#", '#', Block.stone});
    this.func_92103_a(new ItemStack(Block.woodenButton, 1), new Object[] {"#", '#', Block.planks});
    this.func_92103_a(new ItemStack(Block.pressurePlateStone, 1), new Object[] {"##", '#', Block.stone});
    this.func_92103_a(new ItemStack(Block.pressurePlatePlanks, 1), new Object[] {"##", '#', Block.planks});
    this.func_92103_a(new ItemStack(Block.dispenser, 1), new Object[] {"###", "#X#", "#R#", '#', Block.cobblestone, 'X', Item.bow, 'R', Item.redstone});
    this.func_92103_a(new ItemStack(Block.pistonBase, 1), new Object[] {"TTT", "#X#", "#R#", '#', Block.cobblestone, 'X', Item.ingotIron, 'R', Item.redstone, 'T', Block.planks});
    this.func_92103_a(new ItemStack(Block.pistonStickyBase, 1), new Object[] {"S", "P", 'S', Item.slimeBall, 'P', Block.pistonBase});
    this.func_92103_a(new ItemStack(Item.bed, 1), new Object[] {"###", "XXX", '#', Block.cloth, 'X', Block.planks});
    this.func_92103_a(new ItemStack(Block.enchantmentTable, 1), new Object[] {" B ", "D#D", "###", '#', Block.obsidian, 'B', Item.book, 'D', Item.diamond});
    this.func_92103_a(new ItemStack(Block.anvil, 1), new Object[] {"III", " i ", "iii", 'I', Block.blockSteel, 'i', Item.ingotIron});
    this.addShapelessRecipe(new ItemStack(Item.eyeOfEnder, 1), new Object[] {Item.enderPearl, Item.blazePowder});
    this.addShapelessRecipe(new ItemStack(Item.fireballCharge, 3), new Object[] {Item.gunpowder, Item.blazePowder, Item.coal});
    this.addShapelessRecipe(new ItemStack(Item.fireballCharge, 3), new Object[] {Item.gunpowder, Item.blazePowder, new ItemStack(Item.coal, 1, 1)});
    Collections.sort(this.recipes, new RecipeSorter(this));
    System.out.println(this.recipes.size() + " recipes");
    }
     
    ShapedRecipes func_92103_a(ItemStack par1ItemStack, Object ... par2ArrayOfObj)
    {
    String var3 = "";
    int var4 = 0;
    int var5 = 0;
    int var6 = 0;
     
    if (par2ArrayOfObj[var4] instanceof String[])
    {
    String[] var7 = (String[])((String[])par2ArrayOfObj[var4++]);
     
    for (int var8 = 0; var8 < var7.length; ++var8)
    {
    String var9 = var7[var8];
    ++var6;
    var5 = var9.length();
    var3 = var3 + var9;
    }
    }
    else
    {
    while (par2ArrayOfObj[var4] instanceof String)
    {
    String var11 = (String)par2ArrayOfObj[var4++];
    ++var6;
    var5 = var11.length();
    var3 = var3 + var11;
    }
    }
     
    HashMap var12;
     
    for (var12 = new HashMap(); var4 < par2ArrayOfObj.length; var4 += 2)
    {
    Character var13 = (Character)par2ArrayOfObj[var4];
    ItemStack var14 = null;
     
    if (par2ArrayOfObj[var4 + 1] instanceof Item)
    {
    var14 = new ItemStack((Item)par2ArrayOfObj[var4 + 1]);
    }
    else if (par2ArrayOfObj[var4 + 1] instanceof Block)
    {
    var14 = new ItemStack((Block)par2ArrayOfObj[var4 + 1], 1, -1);
    }
    else if (par2ArrayOfObj[var4 + 1] instanceof ItemStack)
    {
    var14 = (ItemStack)par2ArrayOfObj[var4 + 1];
    }
     
    var12.put(var13, var14);
    }
     
    ItemStack[] var15 = new ItemStack[var5 * var6];
     
    for (int var16 = 0; var16 < var5 * var6; ++var16)
    {
    char var10 = var3.charAt(var16);
     
    if (var12.containsKey(Character.valueOf(var10)))
    {
    var15[var16] = ((ItemStack)var12.get(Character.valueOf(var10))).copy();
    }
    else
    {
    var15[var16] = null;
    }
    }
     
    ShapedRecipes var17 = new ShapedRecipes(var5, var6, var15, par1ItemStack);
    this.recipes.add(var17);
    return var17;
    }
     
    void addShapelessRecipe(ItemStack par1ItemStack, Object ... par2ArrayOfObj)
    {
    ArrayList var3 = new ArrayList();
    Object[] var4 = par2ArrayOfObj;
    int var5 = par2ArrayOfObj.length;
     
    for (int var6 = 0; var6 < var5; ++var6)
    {
    Object var7 = var4[var6];
     
    if (var7 instanceof ItemStack)
    {
    var3.add(((ItemStack)var7).copy());
    }
    else if (var7 instanceof Item)
    {
    var3.add(new ItemStack((Item)var7));
    }
    else
    {
    if (!(var7 instanceof Block))
    {
    throw new RuntimeException("Invalid shapeless recipy!");
    }
     
    var3.add(new ItemStack((Block)var7));
    }
    }
     
    this.recipes.add(new ShapelessRecipes(par1ItemStack, var3));
    }
     
    public ItemStack findMatchingRecipe(InventoryCrafting par1InventoryCrafting, World par2World)
    {
    int var3 = 0;
    ItemStack var4 = null;
    ItemStack var5 = null;
    int var6;
     
    for (var6 = 0; var6 < par1InventoryCrafting.getSizeInventory(); ++var6)
    {
    ItemStack var7 = par1InventoryCrafting.getStackInSlot(var6);
     
    if (var7 != null)
    {
    if (var3 == 0)
    {
    var4 = var7;
    }
     
    if (var3 == 1)
    {
    var5 = var7;
    }
     
    ++var3;
    }
    }
     
    if (var3 == 2 && var4.itemID == var5.itemID && var4.stackSize == 1 && var5.stackSize == 1 && Item.itemsList[var4.itemID].isDamageable())
    {
    Item var11 = Item.itemsList[var4.itemID];
    int var13 = var11.getMaxDamage() - var4.getItemDamageForDisplay();
    int var8 = var11.getMaxDamage() - var5.getItemDamageForDisplay();
    int var9 = var13 + var8 + var11.getMaxDamage() * 5 / 100;
    int var10 = var11.getMaxDamage() - var9;
     
    if (var10 < 0)
    {
    var10 = 0;
    }
     
    return new ItemStack(var4.itemID, 1, var10);
    }
    else
    {
    for (var6 = 0; var6 < this.recipes.size(); ++var6)
    {
    IRecipe var12 = (IRecipe)this.recipes.get(var6);
     
    if (var12.matches(par1InventoryCrafting, par2World))
    {
    return var12.getCraftingResult(par1InventoryCrafting);
    }
    }
     
    return null;
    }
    }
     
    /**
    * returns the List<> of all recipes
    */

    public List getRecipeList()
    {
    return this.recipes;
    }
    }
     
     


    Pour créer notre craft, nous allons nous intéresser à cette partie-là :


    Code (java):

    this.func_92103_a(new ItemStack(Item.paper, 3), new Object[] {"###", '#', Item.reed});
    this.addShapelessRecipe(new ItemStack(Item.book, 1), new Object[] {Item.paper, Item.paper, Item.paper, Item.leather});
    this.addShapelessRecipe(new ItemStack(Item.writableBook, 1), new Object[] {Item.book, new ItemStack(Item.dyePowder, 1, 0), Item.feather});
    this.func_92103_a(new ItemStack(Block.fence, 2), new Object[] {"###", "###", '#', Item.stick});
    this.func_92103_a(new ItemStack(Block.cobblestoneWall, 6, 0), new Object[] {"###", "###", '#', Block.cobblestone});
    this.func_92103_a(new ItemStack(Block.cobblestoneWall, 6, 1), new Object[] {"###", "###", '#', Block.cobblestoneMossy});
    this.func_92103_a(new ItemStack(Block.netherFence, 6), new Object[] {"###", "###", '#', Block.netherBrick});
    this.func_92103_a(new ItemStack(Block.fenceGate, 1), new Object[] {"#W#", "#W#", '#', Item.stick, 'W', Block.planks});
    this.func_92103_a(new ItemStack(Block.jukebox, 1), new Object[] {"###", "#X#", "###", '#', Block.planks, 'X', Item.diamond});
    this.func_92103_a(new ItemStack(Block.music, 1), new Object[] {"###", "#X#", "###", '#', Block.planks, 'X', Item.redstone});
    this.func_92103_a(new ItemStack(Block.bookShelf, 1), new Object[] {"###", "XXX", "###", '#', Block.planks, 'X', Item.book});
    this.func_92103_a(new ItemStack(Block.blockSnow, 1), new Object[] {"##", "##", '#', Item.snowball});
    this.func_92103_a(new ItemStack(Block.blockClay, 1), new Object[] {"##", "##", '#', Item.clay});
    this.func_92103_a(new ItemStack(Block.brick, 1), new Object[] {"##", "##", '#', Item.brick});
    this.func_92103_a(new ItemStack(Block.glowStone, 1), new Object[] {"##", "##", '#', Item.lightStoneDust});
    this.func_92103_a(new ItemStack(Block.cloth, 1), new Object[] {"##", "##", '#', Item.silk});
    this.func_92103_a(new ItemStack(Block.tnt, 1), new Object[] {"X#X", "#X#", "X#X", 'X', Item.gunpowder, '#', Block.sand});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 3), new Object[] {"###", '#', Block.cobblestone});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 0), new Object[] {"###", '#', Block.stone});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 1), new Object[] {"###", '#', Block.sandStone});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 4), new Object[] {"###", '#', Block.brick});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 5), new Object[] {"###", '#', Block.stoneBrick});
    this.func_92103_a(new ItemStack(Block.stoneSingleSlab, 6, 6), new Object[] {"###", '#', Block.netherBrick});
    this.func_92103_a(new ItemStack(Block.woodSingleSlab, 6, 0), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 0)});
    this.func_92103_a(new ItemStack(Block.woodSingleSlab, 6, 2), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 2)});
    this.func_92103_a(new ItemStack(Block.woodSingleSlab, 6, 1), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 1)});
    this.func_92103_a(new ItemStack(Block.woodSingleSlab, 6, 3), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 3)});
    this.func_92103_a(new ItemStack(Block.ladder, 3), new Object[] {"# #", "###", "# #", '#', Item.stick});
    this.func_92103_a(new ItemStack(Item.doorWood, 1), new Object[] {"##", "##", "##", '#', Block.planks});
    this.func_92103_a(new ItemStack(Block.trapdoor, 2), new Object[] {"###", "###", '#', Block.planks});
    this.func_92103_a(new ItemStack(Item.doorSteel, 1), new Object[] {"##", "##", "##", '#', Item.ingotIron});
    this.func_92103_a(new ItemStack(Item.sign, 3), new Object[] {"###", "###", " X ", '#', Block.planks, 'X', Item.stick});
    this.func_92103_a(new ItemStack(Item.cake, 1), new Object[] {"AAA", "BEB", "CCC", 'A', Item.bucketMilk, 'B', Item.sugar, 'C', Item.wheat, 'E', Item.egg});
    this.func_92103_a(new ItemStack(Item.sugar, 1), new Object[] {"#", '#', Item.reed});
    this.func_92103_a(new ItemStack(Block.planks, 4, 0), new Object[] {"#", '#', new ItemStack(Block.wood, 1, 0)});
    this.func_92103_a(new ItemStack(Block.planks, 4, 1), new Object[] {"#", '#', new ItemStack(Block.wood, 1, 1)});
    this.func_92103_a(new ItemStack(Block.planks, 4, 2), new Object[] {"#", '#', new ItemStack(Block.wood, 1, 2)});
    this.func_92103_a(new ItemStack(Block.planks, 4, 3), new Object[] {"#", '#', new ItemStack(Block.wood, 1, 3)});
    this.func_92103_a(new ItemStack(Item.stick, 4), new Object[] {"#", "#", '#', Block.planks});
    this.func_92103_a(new ItemStack(Block.torchWood, 4), new Object[] {"X", "#", 'X', Item.coal, '#', Item.stick});
    this.func_92103_a(new ItemStack(Block.torchWood, 4), new Object[] {"X", "#", 'X', new ItemStack(Item.coal, 1, 1), '#', Item.stick});
    this.func_92103_a(new ItemStack(Item.bowlEmpty, 4), new Object[] {"# #", " # ", '#', Block.planks});
    this.func_92103_a(new ItemStack(Item.glassBottle, 3), new Object[] {"# #", " # ", '#', Block.glass});
    this.func_92103_a(new ItemStack(Block.rail, 16), new Object[] {"X X", "X#X", "X X", 'X', Item.ingotIron, '#', Item.stick});
    this.func_92103_a(new ItemStack(Block.railPowered, 6), new Object[] {"X X", "X#X", "XRX", 'X', Item.ingotGold, 'R', Item.redstone, '#', Item.stick});
    this.func_92103_a(new ItemStack(Block.railDetector, 6), new Object[] {"X X", "X#X", "XRX", 'X', Item.ingotIron, 'R', Item.redstone, '#', Block.pressurePlateStone});
    this.func_92103_a(new ItemStack(Item.minecartEmpty, 1), new Object[] {"# #", "###", '#', Item.ingotIron});
    this.func_92103_a(new ItemStack(Item.cauldron, 1), new Object[] {"# #", "# #", "###", '#', Item.ingotIron});
    this.func_92103_a(new ItemStack(Item.brewingStand, 1), new Object[] {" B ", "###", '#', Block.cobblestone, 'B', Item.blazeRod});
    this.func_92103_a(new ItemStack(Block.pumpkinLantern, 1), new Object[] {"A", "B", 'A', Block.pumpkin, 'B', Block.torchWood});
    this.func_92103_a(new ItemStack(Item.minecartCrate, 1), new Object[] {"A", "B", 'A', Block.chest, 'B', Item.minecartEmpty});
    this.func_92103_a(new ItemStack(Item.minecartPowered, 1), new Object[] {"A", "B", 'A', Block.stoneOvenIdle, 'B', Item.minecartEmpty});
    this.func_92103_a(new ItemStack(Item.boat, 1), new Object[] {"# #", "###", '#', Block.planks});
    this.func_92103_a(new ItemStack(Item.bucketEmpty, 1), new Object[] {"# #", " # ", '#', Item.ingotIron});
    this.func_92103_a(new ItemStack(Item.flowerPot, 1), new Object[] {"# #", " # ", '#', Item.brick});
    this.func_92103_a(new ItemStack(Item.flintAndSteel, 1), new Object[] {"A ", " B", 'A', Item.ingotIron, 'B', Item.flint});
    this.func_92103_a(new ItemStack(Item.bread, 1), new Object[] {"###", '#', Item.wheat});
    this.func_92103_a(new ItemStack(Block.stairCompactPlanks, 4), new Object[] {"# ", "## ", "###", '#', new ItemStack(Block.planks, 1, 0)});
    this.func_92103_a(new ItemStack(Block.stairsWoodBirch, 4), new Object[] {"# ", "## ", "###", '#', new ItemStack(Block.planks, 1, 2)});
    this.func_92103_a(new ItemStack(Block.stairsWoodSpruce, 4), new Object[] {"# ", "## ", "###", '#', new ItemStack(Block.planks, 1, 1)});
    this.func_92103_a(new ItemStack(Block.stairsWoodJungle, 4), new Object[] {"# ", "## ", "###", '#', new ItemStack(Block.planks, 1, 3)});
    this.func_92103_a(new ItemStack(Item.fishingRod, 1), new Object[] {" #", " #X", "# X", '#', Item.stick, 'X', Item.silk});
    this.func_92103_a(new ItemStack(Item.carrotOnAStick, 1), new Object[] {"# ", " X", '#', Item.fishingRod, 'X', Item.carrot}).func_92100_c();
    this.func_92103_a(new ItemStack(Block.stairCompactCobblestone, 4), new Object[] {"# ", "## ", "###", '#', Block.cobblestone});
    this.func_92103_a(new ItemStack(Block.stairsBrick, 4), new Object[] {"# ", "## ", "###", '#', Block.brick});
    this.func_92103_a(new ItemStack(Block.stairsStoneBrickSmooth, 4), new Object[] {"# ", "## ", "###", '#', Block.stoneBrick});
    this.func_92103_a(new ItemStack(Block.stairsNetherBrick, 4), new Object[] {"# ", "## ", "###", '#', Block.netherBrick});
    this.func_92103_a(new ItemStack(Block.stairsSandStone, 4), new Object[] {"# ", "## ", "###", '#', Block.sandStone});
    this.func_92103_a(new ItemStack(Item.painting, 1), new Object[] {"###", "#X#", "###", '#', Item.stick, 'X', Block.cloth});
    this.func_92103_a(new ItemStack(Item.itemFrame, 1), new Object[] {"###", "#X#", "###", '#', Item.stick, 'X', Item.leather});
    this.func_92103_a(new ItemStack(Item.appleGold, 1, 0), new Object[] {"###", "#X#", "###", '#', Item.goldNugget, 'X', Item.appleRed});
    this.func_92103_a(new ItemStack(Item.appleGold, 1, 1), new Object[] {"###", "#X#", "###", '#', Block.blockGold, 'X', Item.appleRed});
    this.func_92103_a(new ItemStack(Item.goldenCarrot, 1, 0), new Object[] {"###", "#X#", "###", '#', Item.goldNugget, 'X', Item.carrot});
    this.func_92103_a(new ItemStack(Block.lever, 1), new Object[] {"X", "#", '#', Block.cobblestone, 'X', Item.stick});
    this.func_92103_a(new ItemStack(Block.tripWireSource, 2), new Object[] {"I", "S", "#", '#', Block.planks, 'S', Item.stick, 'I', Item.ingotIron});
    this.func_92103_a(new ItemStack(Block.torchRedstoneActive, 1), new Object[] {"X", "#", '#', Item.stick, 'X', Item.redstone});
    this.func_92103_a(new ItemStack(Item.redstoneRepeater, 1), new Object[] {"#X#", "III", '#', Block.torchRedstoneActive, 'X', Item.redstone, 'I', Block.stone});
    this.func_92103_a(new ItemStack(Item.pocketSundial, 1), new Object[] {" # ", "#X#", " # ", '#', Item.ingotGold, 'X', Item.redstone});
    this.func_92103_a(new ItemStack(Item.compass, 1), new Object[] {" # ", "#X#", " # ", '#', Item.ingotIron, 'X', Item.redstone});
    this.func_92103_a(new ItemStack(Item.emptyMap, 1), new Object[] {"###", "#X#", "###", '#', Item.paper, 'X', Item.compass});
    this.func_92103_a(new ItemStack(Block.stoneButton, 1), new Object[] {"#", '#', Block.stone});
    this.func_92103_a(new ItemStack(Block.woodenButton, 1), new Object[] {"#", '#', Block.planks});
    this.func_92103_a(new ItemStack(Block.pressurePlateStone, 1), new Object[] {"##", '#', Block.stone});
    this.func_92103_a(new ItemStack(Block.pressurePlatePlanks, 1), new Object[] {"##", '#', Block.planks});
    this.func_92103_a(new ItemStack(Block.dispenser, 1), new Object[] {"###", "#X#", "#R#", '#', Block.cobblestone, 'X', Item.bow, 'R', Item.redstone});
    this.func_92103_a(new ItemStack(Block.pistonBase, 1), new Object[] {"TTT", "#X#", "#R#", '#', Block.cobblestone, 'X', Item.ingotIron, 'R', Item.redstone, 'T', Block.planks});
    this.func_92103_a(new ItemStack(Block.pistonStickyBase, 1), new Object[] {"S", "P", 'S', Item.slimeBall, 'P', Block.pistonBase});
    this.func_92103_a(new ItemStack(Item.bed, 1), new Object[] {"###", "XXX", '#', Block.cloth, 'X', Block.planks});
    this.func_92103_a(new ItemStack(Block.enchantmentTable, 1), new Object[] {" B ", "D#D", "###", '#', Block.obsidian, 'B', Item.book, 'D', Item.diamond});
    this.func_92103_a(new ItemStack(Block.anvil, 1), new Object[] {"III", " i ", "iii", 'I', Block.blockSteel, 'i', Item.ingotIron});
    this.addShapelessRecipe(new ItemStack(Item.eyeOfEnder, 1), new Object[] {Item.enderPearl, Item.blazePowder});
    this.addShapelessRecipe(new ItemStack(Item.fireballCharge, 3), new Object[] {Item.gunpowder, Item.blazePowder, Item.coal});
    this.addShapelessRecipe(new ItemStack(Item.fireballCharge, 3), new Object[] {Item.gunpowder, Item.blazePowder, new ItemStack(Item.coal, 1, 1)});
    Collections.sort(this.recipes, new RecipeSorter(this));
    System.out.println(this.recipes.size() + " recipes");
     
     
    Ici, vous retrouverez la quasi totalité des crafts de Minecraft.

    II-

    Nous allons nous intéresser pour l'exemple au craft du gâteau :
    Code (javascript):

    this.func_92103_a(new ItemStack(Item.cake, 1), new Object[] {"AAA", "BEB", "CCC", 'A', Item.bucketMilk, 'B', Item.sugar, 'C', Item.wheat, 'E', Item.egg});
     
     

    Item.cake : veut dire qu'il s'agit d'un Item et non d'un bloc. Les blocs sont représentés par Block.//* un bloc de votre choix //*.

    1: veut dire le nombre d'items que vous allez obtenir après le craft.

    "AAA", "BEB", "CCC", 'A', : Chaque caractère exprime un objet. Chaque '//* des caractères au choix //*' exprime une ligne. Si vous voulez que un objet puisse se retrouver partout dans la ligne, mettez le entre deux guillemets sans espace. Si vous voulez qu'il aille à un endroit précis, mettez des espaces.

    Item.bucketMilk, 'B', Item.sugar, 'C', Item.wheat, 'E', Item.egg});: Prenons Item.bucketMilk, 'B' par exemple. Cela veut dire que 'B' dans votre code représente un seau de lait.



    Bon et bien j’espère que ce tuto vous sera utile :). A la prochaine.
     
  2. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Minecraft n'est pas coder en javascript mais en java donc tu dois dans la balise (code=javascript)(/code) replacer par(code=java)(/code) (remplace les "(" et ")" par "["et "]")
     
  3. Elliotau78

    Elliotau78 Résident du Nether

    Inscrit:
    8 Déc 2012
    Messages:
    4 614
    Points:
    184
    Sexe:
    Homme
    Ok merci pour l'astuce ;).
     
  4. Kanar

    Kanar Ami des Creepers

    Inscrit:
    5 Nov 2012
    Messages:
    11 119
    Points:
    304
    Sexe:
    Homme
    Le code Java n'est pas en place sur le forum, Ez' a mit le JavaScript au fait. M'enfin, lui en voulons pas. ~
    Bref, ceci est hors-sujet, merci de ne pas continuer.
     
    • J'approuve J'approuve x 1
  5. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Code (java):
    public static final String monnom = "ATE47";
    Code (javascript):
    public static final String monnom = "ATE47";
    le string est bleu,
    le public static final est en gras

    ces de base sur l'outils.
     
    • Informatif Informatif x 2
  6. Kanar

    Kanar Ami des Creepers

    Inscrit:
    5 Nov 2012
    Messages:
    11 119
    Points:
    304
    Sexe:
    Homme
    Mh, effectivement, je n'y avais pas fait attention. Merci bien.
     

Partager cette page