14 juin 2015, 20:48

bon, tu as été victime d’une blague. Le code donner était en parti faut.

Le bon code, tu as juste à changer le code du bloc de la porte :

​package fr.porte;

import java.util.Random;

import net.minecraft.block.BlockDoor;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import fr.diangle.tutoriel.core.Tuto;

public class Porte extends BlockDoor
{

    public Porte()
    {
        super(Material.tonMaterial);
        this.setHardness(3.0F);
        this.setResistance(5.0F);
        this.disableStats();
    }

    @Override
    public Item getItemDropped(int par1, Random rand, int par3)
    {
        return Tuto.porteItem;
    }

    @Override
    @SideOnly(Side.CLIENT)
    public Item getItem(World world, int x, int y, int z)
    {
        return Tuto.porteItem;
    }

    @Override
    public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
    {
        int i1 = this.func_150012_g(world, x, y, z);
        int j1 = i1 & 7;
        j1 ^= 4;
//ouvre la porte
        if ((i1 & 8) == 0)
        {
            world.setBlockMetadataWithNotify(x, y, z, j1, 2);
            world.markBlockRangeForRenderUpdate(x, y, z, x, y, z);
        }
        else
        {
            world.setBlockMetadataWithNotify(x, y - 1, z, j1, 2);
            world.markBlockRangeForRenderUpdate(x, y - 1, z, x, y, z);
        }
        //jouer le son
        world.playAuxSFXAtEntity(player, 1003, x, y, z, 0);

        return true;
    }
}

ensuite, tu devrais renommer le nom de l’item par door et itemDoor et changer par ça :

​        door = new Porte().setBlockName("door").setBlockTextureName("door");
        doorItem = new ItemPorte().setUnlocalizedName("item_door").setTextureName("item_door");

        GameRegistry.registerBlock(door, "door");
        GameRegistry.registerItem(doorItem, "item_door");

Pour les texture, les texture du bloc que tu vas mettre dans ton dossier texture aurons pour nom “door_lower” et “door_upper” (avec extension .png) pour le bloc et “item_door” pour l’item.