Vérification effets armures



  • Bonsoir,

    Je rencontre un problème pour l'ajout d'effets à mon armure. Après avoir essayer plusieurs code de vôtre tuto, rien ne change en portant les items.
    Voilà mon code

        public void onArmorTick(World world, EntityPlayer player, ItemStack stack)
    
        {
    if(this.armorType == 0 && this.armorType == 1 && this.armorType == 2 && this.armorType == 3)
    {
    player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 20, 0));
    }
        }
    

    A noter que si je ne vérifie qu'un seul type d'armure ça fonction.
    Je pense que mon erreur est simple mais je cherche une piste pour la résoudre.

    Merci.


  • Administrateurs

    Tout simplement car this.armorType ne sera jamais vrai pour les 4 types en même temps.
    Ce que tu as fait la, c'est en gros
    si l'item actuelle est un casque et que l'item actuelle est plastron et que l'item actuelle sont des jambières et  que l'item actuelle sont des bottes.
    Tu comprendra donc que ça ne fonctionnera jamais.
    Ce qu'il faut faire, c'est ça :

    ItemStack boots = player.getEquipmentInSlot(1);
    ItemStack leggings = player.getEquipmentInSlot(2);
    ItemStack chestPlate = player.getEquipmentInSlot(3);
    ItemStack helmet = player.getEquipmentInSlot(4);
    
    if(boots != null && boots.getItem() == ModTutoriel.bootsTuto && leggings != null && leggings.getItem() == ModTutoriel.leggingsTuto && chestPlate != null && chestPlate.getItem() == ModTutoriel.chestPlateTuto && helmet != null && helmet.getItem() == ModTutoriel.helmetTuto)
    {
    ….
    


  • D'accord vu comme ça c'est beaucoup plus logique. Merci beaucoup.