Mon bloc ne drop pas



  • Bonsoir / Bonjour tout le monde, j'ai encore un petit problème, J'ai créer un bloc avec un rendu TESR, mais je ne peux pas lui faire dropper quelque chose 😕

    Classe du bloc :

    package fr.mrazerty31.ggbutton;
    
    import java.util.Random;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.init.Blocks;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.util.IIcon;
    import net.minecraft.util.MathHelper;
    import net.minecraft.world.World;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    import fr.mrazerty31.ggbutton.proxy.ClientProxy;
    import fr.mrazerty31.ggbutton.sound.SoundHandler;
    import fr.mrazerty31.ggbutton.tileentities.TileEntityGGButton;
    
    public class GGButtonBlock extends Block
    {
        public GGButtonBlock(Material mat)
        {
            super(mat);
            this.setBlockTextureName("ggbutton:ggbuttonmodel");
            this.setBlockBounds(0.25F, 0.0F, 0.25F, 0.75F, 0.2F, 0.75F);
        }
    
        public TileEntity createTileEntity(World world, int metadata)
        {
            return new TileEntityGGButton();
        }
    
        public boolean hasTileEntity(int metadata)
        {
            return true;
        }
    
        public boolean renderAsNormalBlock()
        {
            return false;
        }
    
        public boolean isOpaqueCube()
        {
            return false;
        }
    
        public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
        {
            return Base.GGButton;
        }
    
        @SideOnly(Side.CLIENT)
        public int getRenderType()
        {
            return ClientProxy.renderInventoryTESRId;
        }
    
        public boolean onBlockActivated(World w, int x, int y, int z, EntityPlayer p, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_)
        {
            SoundHandler.onEntityPlay("gg", w, p, 1.0F, 1.0F);
            return false;
        }
    
        public void onEntityWalking(World w, int p_149724_2_, int p_149724_3_, int p_149724_4_, Entity p)
        {
            SoundHandler.onEntityPlay("gg", w, p, 1.0F, 1.0F);
        }
    
        public IIcon getIcon(int side, int metadata)
        {
            return Blocks.iron_block.getIcon(0, 0);
        }
    
        public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
        {
            int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
            TileEntity te = world.getTileEntity(x, y, z);
            if(te != null && stack.getItemDamage() == 2 && te instanceof TileEntityGGButton)
            {
                ((TileEntityGGButton)te).setDirection((byte)direction);
                world.markBlockForUpdate(x, y, z);
            }
        }
    }
    

  • Administrateurs

    Heu … Pourtant il devrait ?
    Ton bloc a quel matériel ?
    Tu le casse avec quel outil ?



  • Il est de matériel "iron", je le casse à la main.



  • faut une pioche en fer pour le casser



  • Non, ça ne veut rien dire, je n'ai pas mis d'harvest level, puis même, je n'ai pas mis de "hardness".


  • Administrateurs

    Si. Si le matériel est du fer, ça drop que avec une pioche …



  • Oh la la … Milles merci :3 Désolé isador pour t'avoir contredis, je pensais pas que le "Material" pouvait faire ça 😕 Bref Résolu ! Merci Robin et Isador !!



  • pour ton information: resistance c'est la résistance au explosion et l'hardeness c'est le "temps" pour le casser (cf. code de l'obsi)



  • Oui ça je le savais ^^