1. Si vous venez d'arriver sur le forum et que vous êtes un peu perdus, cliquez ici !
    Rejeter la notice

Résolu Comment faire une armure qui a des effets quand elle est équipée en entier

Discussion dans 'Aide à la création de mod' créé par Arthaïr, 11 Jan 2016.

  1. Arthaïr

    Arthaïr Mineur

    Inscrit:
    1 Août 2014
    Messages:
    344
    Points:
    99
    Sexe:
    Homme
    Salut;
    Je cherche comment faire une armure qui a des effets quand elle est équipée en entier elle donne un effet.
    J'ai cherché sur le tuto de robin4002 mais je n'ai pas trouvé


    Code (cpp):
    package com.arthur.mod.init;

    import com.arthur.mod.Reference;

    import net.minecraft.entity.Entity;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.ItemArmor;
    import net.minecraft.item.ItemArmor.ArmorMaterial;
    import net.minecraft.item.ItemStack;
    import net.minecraft.potion.Potion;
    import net.minecraft.potion.PotionEffect;
    import net.minecraft.world.World;

    public class ItemModArmor extends ItemArmor
    {
       
            public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, boolean isSelected)
            {
               
            }

        public ItemModArmor(ArmorMaterial material, int armorType)
        {
            super(material,0 , armorType);
           
        }
       
        public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
        {
            if(stack.getItem() == ItemsMod.amazoniteLeggings)
            {
                return Reference.Mod_ID + ":textures/models/armor/armorMod_layer_2.png";
            }
            else if (stack.getItem() == ItemsMod.amazoniteHelmet || stack.getItem() == ItemsMod.amazoniteChestplate || stack.getItem() == ItemsMod.amazoniteBoots);
            return Reference.Mod_ID + ":textures/models/armor/armorMod_layer_1.png";
    }

        public boolean getIsRepairable(ItemStack input, ItemStack repair)
        {
            if(repair.getItem() == ItemsMod.amazoniteHelmet || repair.getItem() == ItemsMod.amazoniteitem)
            if(repair.getItem() == ItemsMod.amazoniteChestplate || repair.getItem() == ItemsMod.amazoniteitem)
            if(repair.getItem() == ItemsMod.amazoniteLeggings || repair.getItem() == ItemsMod.amazoniteitem)
            if(repair.getItem() == ItemsMod.amazoniteBoots || repair.getItem() == ItemsMod.amazoniteitem)

            {
                return true;
            }
            return false;
           
        }

        public void onArmorTick(World world, EntityPlayer player, ItemStack stack)
        {
            player.addPotionEffect(new PotionEffect(Potion.saturation.id, 20, 0));
        }
       
        }
     
     
  2. Snowy_1803

    Snowy_1803 Mineur

    Inscrit:
    19 Août 2015
    Messages:
    316
    Points:
    59
    Sexe:
    Homme
    Tu vérifies si le joueur porte toutes les pièces d'armure, dans le onUpdate par exemple, ou un playerTickEvent, et tu fait l'effet que tu veux.
     
  3. Arthaïr

    Arthaïr Mineur

    Inscrit:
    1 Août 2014
    Messages:
    344
    Points:
    99
    Sexe:
    Homme
    Ça je sais mais ça me met l'effet quand j'ai une seul pièce de l'armure sur moi.
    Moi je veux quand l'armure toute entière est équipé
     
  4. pifou92000

    pifou92000 Mineur de Diamants

    Inscrit:
    23 Juin 2011
    Messages:
    2 689
    Points:
    195
    Sexe:
    Homme
    Tu mets une condition, dans laquelle tu vérifies le contenu de tous les slots d'armure.
     
    • J'approuve J'approuve x 2
  5. Arthaïr

    Arthaïr Mineur

    Inscrit:
    1 Août 2014
    Messages:
    344
    Points:
    99
    Sexe:
    Homme
    Je viens de commencer à coder un mod, et ce mod me sert de "leçon" pour apprendre à coder. Je note sur un papier tous les codes de ce genre pour pouvoir par la suite savoir créer un mod.><
    Si vous voulez bien me donner le code.



    :yeeaaahh::poney:(j'avais envie de caser ce-ci)
     
  6. Snowy_1803

    Snowy_1803 Mineur

    Inscrit:
    19 Août 2015
    Messages:
    316
    Points:
    59
    Sexe:
    Homme
    Cherches sur Google, cette question a été posée plein de fois...
     
  7. Arthaïr

    Arthaïr Mineur

    Inscrit:
    1 Août 2014
    Messages:
    344
    Points:
    99
    Sexe:
    Homme
    J'ai déjà chercher sinon je n'aurais pas poster ici, je trouve que quand on met une pièce d'armure.
     
  8. robin4002

    robin4002 Support Technique
    Staff

    Inscrit:
    17 Août 2012
    Messages:
    5 059
    Points:
    229
    Sexe:
    Homme
    Code (cpp):
            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() == ClassPrincipale.boots && leggings != null && leggings.getItem() == ClassPrincipale.leggings && chestPlate != null && chestPlate.getItem() == ClassPrincipale.chestPlate && helmet != null && helmet.getItem() == ClassPrincipale.helmet)
            {
                // ton code ici
            }
    Dans onArmorTick ou dans un event de tick.
    Le code est dispo dans la partie bonus : http://minecraftforgefrance.fr/showthread.php?tid=674#bonus2
     
  9. Arthaïr

    Arthaïr Mineur

    Inscrit:
    1 Août 2014
    Messages:
    344
    Points:
    99
    Sexe:
    Homme
    Ok merci ;), comment on fait pour retirer les particules
     
    #9 Arthaïr, 13 Jan 2016
    Dernière édition: 13 Jan 2016
  10. robin4002

    robin4002 Support Technique
    Staff

    Inscrit:
    17 Août 2012
    Messages:
    5 059
    Points:
    229
    Sexe:
    Homme
    Les particules ?
     
  11. Arthaïr

    Arthaïr Mineur

    Inscrit:
    1 Août 2014
    Messages:
    344
    Points:
    99
    Sexe:
    Homme
    Quand j'ai l'armure sur moi il y a des particules
     
  12. robin4002

    robin4002 Support Technique
    Staff

    Inscrit:
    17 Août 2012
    Messages:
    5 059
    Points:
    229
    Sexe:
    Homme
    C'est surement à cause de l'effet de potion :
    player.addPotionEffect(new PotionEffect(Potion.saturation.id, 20, 0));
    Que tu as mit. Tu es en 1.7 ou en 1.8 ?
     
  13. Arthaïr

    Arthaïr Mineur

    Inscrit:
    1 Août 2014
    Messages:
    344
    Points:
    99
    Sexe:
    Homme
  14. robin4002

    robin4002 Support Technique
    Staff

    Inscrit:
    17 Août 2012
    Messages:
    5 059
    Points:
    229
    Sexe:
    Homme
    En 1.8 tu peux faire comme ceci :
    player.addPotionEffect(new PotionEffect(Potion.saturation.id, 20, 0, false));
    pour masquer les particules des effets de potion.
     
  15. Arthaïr

    Arthaïr Mineur

    Inscrit:
    1 Août 2014
    Messages:
    344
    Points:
    99
    Sexe:
    Homme

Partager cette page