1 nov. 2014, 14:46

Bonjour j’ai depuis bientôt une semaine un problème sur cette ligne sur TileEntityDirectional, TileEntityDirectional)tile

TileEntity tile = world.getTileEntity(x, y, z);
                if(tile instanceof TileEntityDirectional)
                {
                    int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
                    ((TileEntityDirectional)tile).setDirection((byte)direction);
                }
            }
voici ma classe

​package theopsisblack76.primevalcraftworld;

import java.util.Random;

import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class BlockAnno extends BlockContainer
{
    private static final String subBlock = null;
int a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0;
private IIcon[][] icons;

    protected BlockAnno()
    {
        super(Material.ground);

    }

    @SideOnly(Side.CLIENT)
    public void randomDisplayTick(World world, int x, int y, int z, Random random)
    {
        for(int l = 0; l < 700; ++l)
        {

        }
    }

    public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity)
    {
        if(entity.ridingEntity == null && entity.riddenByEntity == null && !world.isRemote)
        {
            entity.travelToDimension(1);
        }
    }
    public IIcon getIcon(int side, int metadata)
    {
        if(metadata == 0) 
        {
            if(side == 0 || side == 1) 
            {
                return this.icons[0][0];
            }
            else if(side == 3) 
            {
                return this.icons[0][1]; 
            }
            else
            {
                return this.icons[0][2]; 
            }
        }
        else if(side > 2)
        {
            side = 2;
        }
        return metadata >= 0 && metadata < subBlock.length() ? this.icons[metadata][side] : this.icons[0][0]; // dans les autres cas (même code que celui montré dans le tutoriel sur les blocs multi-textures)
    }

    @Override
    public TileEntity createNewTileEntity(World world, int metadata)
    {
        return new TileEntityAnno();
    }

    public boolean isOpaqueCube()
    {
        return false;
    }

    public boolean renderAsNormalBlock()
    {
        return false;
    }

    public int getRenderType()
    {
        return -1;
    }

    @Override
    public int tickRate(World world)
    {
        return 10;
    }

    public int quantityDropped(Random par1Random)
    {
        return 0;

        public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
        {
            if(stack.getItemDamage() == 0)
            {
                TileEntity tile = world.getTileEntity(x, y, z);
                if(tile instanceof TileEntityDirectional)
                {
                    int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
                    ((TileEntityDirectional)tile).setDirection((byte)direction);
                }
            }