Perte de dura sur plusieurs items



  • Bonjour, alors voila

    j'ai cette class :

    package fr.craftesys.craftesys.items;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.world.World;
    
    public class Smallstone extends Item {
    
        public Smallstone()
        {
            super();
            this.setMaxDamage(200);
            this.setMaxStackSize(1);
    
        }
    
        @Override
        public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean selected)
        {
            if(entity instanceof EntityPlayer) 
            {
                EntityPlayer player = (EntityPlayer) entity; 
                for(int i = 0; i < 4; i++) 
                {
                    ItemStack armor = player.getCurrentArmor(i); 
                    if(armor != null)
                    {
                        if(armor.getItemDamage() > 0 && stack.getItemDamage() < stack.getMaxDamage())
                        {
                            stack.setItemDamage(stack.getItemDamage() + 1); 
                            armor.setItemDamage(armor.getItemDamage() - 1);
                        }
                    }
                }
            }
        }
    
    }
    
    

    et le truc c'est que j'aimerais faire en sorte que toutes les pierres perdent la durabilité en même temps, j'ai d'autres pierres se nommant smallstone et mediumstone   le truc c'est qu'elles perdent la dura 1 par 1 ce qui est très long dans une fight si la personne en a plusieurs.

    Donc j'aimerais que toutes les pierres la dura et quand la derniere arrive à 0 (genre si on a une petite/moyenne/grande ça soit au moment ou la grande arrive a 0 de dura que les joueurs vont perdre de la dura sur le stuff).

    Voila,  si vous savez, merci de m'aider.


  • Administrateurs

    Quelle serait l’intérêt alors d'avoir plusieurs pierres sur soi ?

    Pour faire qu'elles s'usent tous, fait une boucle for qui parcours tous les itemstack de l'inventaire et s'il n'est pas null et que les items et une pierre de durabilité tu l’endommage.



  • https://www.minecraftforgefrance.fr/showthread.php?tid=2702&highlight=r%C3%A9parer+avec+un+item

    L'homme a un cerveau !
    Il n'est pas la que pour copier coller les idées des autres
    Si tu plagie les autres tel que : Paladium, Ardium, Arthania

    Le serveur le plus grand étant Paladium
    Et par la suite Arthania, Ardium qui suivent le meme chemin

    Sur les traces ils sont !
    Un espoir pour vous
    Je ne pense point
    Et si vous n'inventez pas votre propre gameplay
    Ton serveur jamais ne sera connu !

    (Pour répondre regarde si le joueur possède déja une pierre si il a bah tu empeche une seconde pierre et si il en a deux inventaire tu drop la pierre en trop a terre)



  • bah justement pour que les joueurs n'aient pas l'intérêt d'en prendre plusieurs, sinon ça ce fini plus

    et le lien correspond au fait de perdre la dura, mais pas que tous les items dans l'inventaire la perde en même temps

    et pour les pierres, ça vient de notre cher mosca421 donc bon, merci de pas critiquer 😉  (je suis antho, celui pour qui tu avais fait le mod)



  • Les pierres sont de Paladium



  • oui, et c'est toi qui me les a mises dans le mod


  • Administrateurs

    @'sventus':

    bah justement pour que les joueurs n'aient pas l'intérêt d'en prendre plusieurs, sinon ça ce fini plus

    Pourquoi ne pas simplement interdire d'avoir plusieurs pierres sur soi ?
    Il y a un event qui gère le pickup d'item, suffit de le cancel si le joueur a déjà une pierre sur lui.

    Ça ne sert à rien de chercher compliquer quand on peut faire simple.