30 août 2019, 17:55

Bonjour, j’aurais besoin d’un petit coup de pouce très rapide avec un Item, je vous met dans le contexte : J’ai un Hammer qui est censé upgrade un block de hardenedObsidian jusqu’au niveau 5. cependant, le hammer ne perd pas de durabilité lors de l’amélioration du block.

la variable :

Block hObsidian = MainClass.hardenedObsidian;

La méthode :

public boolean onItemUse(ItemStack itemstack, EntityPlayer player, World world, int x, int y, int z, int par1, float par2, float par3, float par4)
    {

        if(world.getBlock(x, y, z) == this.hObsidian)
        {
            itemstack.damageItem(100, player);
        }
        return false;
    }

La classe du HardenedObsidian Block :

public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
    {
        if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == MainClass.protoniumHammer)
        {
            if(player.inventory.hasItem(Items.iron_ingot))
            {
                if(world.isRemote)
                {
                    player.addChatMessage(new ChatComponentTranslation("§7[ Niveau §e1 §7]"));
                }
                world.setBlock(x, y, z, MainClass.hardenedObsidian1);
                player.inventory.consumeInventoryItem(Items.iron_ingot);
            }
            else if(!world.isRemote)
            {
                player.addChatMessage(new ChatComponentTranslation("Vous devez avoir un §7§nLingot de Fer"));

            }
        }
        return true;
    }

Voila, si vous pouvez m’aider je vous en serais reconaîssant 🙂