Petit problème...



  • Bonjour, voila :
    fail.jpg

    mon code :

        @Override
        public Multimap<String, AttributeModifier> getAttributeModifiers(EquipmentSlotType slot, ItemStack stack)
        {
            stack.addEnchantment(Enchantment.getEnchantmentByID(4), 3);
    
            return super.getAttributeModifiers(slot, stack);
        }
    

    Je sais qu'il faut que je verif si il y a pas déjà l'enchant mais je sais pas comment on fait 😕



  • Ok beh c'est bon j'ai régler mon problème, il fallait faire :

    if (stack.isEnchanted() == false)
    {
          stack.addEnchantment(Enchantment.getEnchantmentByID(14), 5);
    }
    


  • La méthode getAttributeModifiers n'est pas faite pour ça normalement. Ce que l'on fait généralement c'est de mettre l'item directement avec l'enchantement dans l'inventaire créatif (il faut override getSubItems) et de faire en sorte que le craft mette aussi l'enchant. (Sinon si tu veux pas t'embéter, tu peux peut-être passer par initCapabilities à l place de getAttributeModifiers, mais c'est pas très bien de faire ça)



  • Et si on se le /give ?



  • Sinon tu peux aussi faire sans l'enchantement. Juste réduire les dégâts des projectiles. Il me semble qu'il y a une fonction à overide pour ça ou peut-être une interface



  • Non mais j'avais mis au hazard, moi je veux du kb 5, j'avais la flemme d'aller chercher son id



  • Pourquoi c'est pas très bien ?



  • Ok beh c'est bon j'ai régler mon problème, il fallait faire :

    if (stack.isEnchanted() == false)
    {
          stack.addEnchantment(Enchantment.getEnchantmentByID(14), 5);
    }
    

Log in to reply