1.12.2 Hammer 5x5



  • Bonjour , je voudrais faire un hammer 5x5x1 en 1.12.2 il y a un poste qui montre comment faire un hammer 5x5 mais le post est en 1.7 j’ai essayer de l’adapter en 1.12 mais cela n’a pas fonctionné et le hammer ne casse que 1 block

    Code adapter en 1.12.2

    
    package fr.hariona.nasenmod.items;
    
    
    import fr.hariona.harionamod.Main;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.state.IBlockState;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.inventory.EntityEquipmentSlot;
    import net.minecraft.item.ItemPickaxe;
    import net.minecraft.item.ItemStack;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.util.math.BlockPos;
    import net.minecraft.world.World;
    
    
    public class SpectreHammer extends ItemPickaxe {
    
    
        public SpectreHammer(String name, ToolMaterial material, float v) {
            super(material);
            this.setRegistryName(name);
            this.setUnlocalizedName(name);
            this.setCreativeTab(Main.hariona_tab);
        }
        public boolean onBlockDestroyed(ItemStack stack, World world, Block block, BlockPos pos, int x, int y, int z, EntityLivingBase living)
        {
            if(living instanceof EntityPlayer)
            {
    
    
                for(int x1 = -2; x1 < 3; x1++)
                {
                    for(int y1 = -2; y1 < 3; y1++)
                    {
                        for(int z1 = -2; z1 < 3; z1++)
                        {
    
                            BlockPos pos1 = new BlockPos(x + x1, y + y1, z + z1);
                            if(world.getBlockState(pos1).getBlockHardness(world, pos1) >= 0) {
                                world.getBlockState(pos1).getBlock().harvestBlock(world, (EntityPlayer)living, pos, world.getBlockState(pos1), TileEntity.create(world, getNBTShareTag(stack) ), stack );
                                world.setBlockToAir(pos1);
    
                            }
                        }
                    }
                }
            }
            return super.onBlockDestroyed(stack, world, (IBlockState) block,pos, living);
        }
    }
    
    

    Si quelqu’un aurait une idée ,
    Cordialement,
    Nasen



    • Ajoutes un @Override au dessus de ta fonction onBlockDestroyed
    • block est une instance de la classe Block
      la classe Block n'extends pas IBlockState
      donc ton (IBlockState) block est un cast impossible
    • pour obtenir un IBlockState tu peux utiliser World#getBlockState(BlockPos) comme tu as fait dans ta boucle


    • Ajoutes un @Override au dessus de ta fonction onBlockDestroyed
    • block est une instance de la classe Block
      la classe Block n'extends pas IBlockState
      donc ton (IBlockState) block est un cast impossible
    • pour obtenir un IBlockState tu peux utiliser World#getBlockState(BlockPos) comme tu as fait dans ta boucle


  • Merci beaucoup ^^



  • @Nasen met le post en "résolu" ^^



  • @FeedBack il est déjà en "resolut "


  • Moddeurs confirmés Rédacteurs Administrateurs

    Oui c'est moi qui l'ai fait 😉


Log in to reply