Code armure qui ne marche pas



  • j'ai essayer ce code mais il ne veut pas marcher ```java
    public void onArmorTick(World world, EntityPlayer player, ItemStack stack)
       {
           if(stack.getItem() == Modelia.Eliahelmet && stack.getItem() == Modelia.Eliachestplate && stack.getItem() == Modelia.Elialeggings && stack.getItem() == Modelia.Eliaboots)
           {
           player.addPotionEffect(new PotionEffect(Potion.resistance.id, 20, 0));
           }

    }

    
    j'ai aussi essayer le code avec l'event mais j'ai du le foirer ^^
    
    le but etant que si l'armure est equipée leffet s'active mon code a l'air bien pourtatn oui j'ai vu le tuto et les anciennes demandes d'aides mais y'a pas la réponse à la question car c'est ecrit resolu mais on ne sait pas le bon evnent ou code donc si vous savez sa m'avancerai énormément merci


  • Regarde ce que tu fais :

    if(stack.getItem() == Modelia.Eliahelmet && stack.getItem() == Modelia.Eliachestplate && stack.getItem() == Modelia.Elialeggings && stack.getItem() == Modelia.Eliaboots)
    

    Il faut que l'item soit un casque, un plastron, un pantalon et des bottes, c'est impossible, il faut comparer aux items dans l'inventaire du joueur


  • Rédacteurs


    Regarde le tuto sur les event stp


  • Administrateurs

    Salut,
    Ton code ne fonctionne pas car ta condition renvoie toujours faux.
    Comment "stack.getItem()" peut être à la fois le casque, le plastron, les jambières et les bottes ?
    Il faut que tu regardes l'item stack qui se trouve dans chaque slot d'armure.
    Le bon code est présent dans le tutoriel.



  • celui la

    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)
    


  • Oui, pense à copier aussi le code précédent la condition



  • je test un truc



  • hein ? Y'a pas d'event si tu utilises onArmorTick, envoi ton code complet



  • sa ressemble a sa

    public void onArmorTick(World world, EntityPlayer player, ItemStack stack)
    {
    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() == Modelia.Eliaboots && leggings != null && leggings.getItem() == Modelia.Elialeggings && chestPlate != null && chestPlate.getItem() == Modelia.Eliachestplate && helmet != null && helmet.getItem() == Modelia.Eliahelmet)
    
    {
    player.addPotionEffect(new PotionEffect(Potion.resistance.id, 20, 0));
    }
    
    }
    


  • sa a l'air de marcher je test avec plusieurs effet normalement c'est résolu