[1.12.2] Problème durabilité non perdu



  • Bonjour à tous, j'ai un petit souci mon item fonctionne correctement, mais ne perd pas de durabilité alors que je lui en retire

    J'ai regardé énormément les sujets anglais sans trouver la réponse alors je me tourne sur les forums français.

    Voici mon code:

        private PotionEffect effect;
        private int coolDown;
    
        public ItemEffect(String name, int maxDamage, int stackSize, int coolDown, PotionEffect effect)
        {
            super(name);
    
            this.setMaxDamage(maxDamage);
            this.setMaxStackSize(stackSize);
            this.setFull3D();
    
            this.effect = effect;
            this.coolDown = coolDown;
        }
    
        @Override
        public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) {
            ItemStack itemStack = playerIn.getHeldItemMainhand();
    
            if (!worldIn.isRemote) {
                if (playerIn.inventory.hasItemStack(itemStack)) {
                    if (itemStack.getItemDamage() < itemStack.getMaxDamage()) {
                        playerIn.addPotionEffect(new PotionEffect(effect.getPotion(), effect.getDuration(), effect.getAmplifier(), effect.getIsAmbient(), effect.doesShowParticles()));
                        playerIn.getCooldownTracker().setCooldown(this, coolDown);
                        
                        itemStack.damageItem(1, playerIn);
    
                        return new ActionResult<>(EnumActionResult.SUCCESS, itemStack);
                    } else {
                        return new ActionResult<>(EnumActionResult.FAIL, itemStack);
                    }
                } else {
                    return new ActionResult<>(EnumActionResult.FAIL, itemStack);
                }
            } else {
                return new ActionResult<>(EnumActionResult.FAIL, itemStack);
            }
        }
    

    SI je crois bien ça viendrais du ActionResult, mais je ne suis pas sûr de ça.

    Merci d'avance aux personne qui m'aiderons.


  • Administrateurs

    @Reikenz a dit dans [1.12.2] Problème durabilité non perdu :

    if(itemStack.getItemDamage() < 10) {

    Je pense que cette condition est inversée.



  • L'items fonctionne parfaitement juste ne perd aucune durabilité
    Et non mon signe est bien correct il regarde si l'item ne dépasse pas la durabilité maximum j'ai fais un petit correctif au lieu du 10 j'ai remplacer par

    itemStack.getMaxDamage()
    

  • Administrateurs

    Sauf erreur de ma part, les damages fonctionnent en sens inverse.
    0 = item cassé, la fonction damageItem reduit de 1 à chaque fois.



  • Je test sa mais le problème ne change pas sa reste qu'il ne perd aucun durabilité

    EDIT: Oui j'avais bien raison je me suis give mon stick via la commande /give @a utils:strength_stick 1 8

    Le 8 m'as bien réduit ma durabilité donc il m'en reste plus que 2


  • Administrateurs

    This post is deleted!


  • Ne trouve pas c'est bien de Item pas de ItemTool que tu récupère sa ?

    J'ai trouver isDamageable();


  • Administrateurs

    Ouai non j'ai rien dit x)

    Je vais arrêter d'essayer d'aider avec juste ma mémoire, visiblement ça remonte trop.

    Du-coup aucune idée de pourquoi ça ne fonctionne pas, désolé.



  • Oui toujours pas 😞



  • Le problème était que j'était en créatif et sa n'use pas la dura en dura via la méthode la


Log in to reply