• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Ajouter des effet "cumulatif" sur un set d'armure

    1.7.x
    1.7.x
    4
    11
    2645
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • A
      anguelwyvern dernière édition par

      Slt voila avant de partir j’étais rester sur un problème, un effet cumulatif sur mes armure sur un set

      (je cherche l’effet absorption)

      exemple : quand je mets mon casque j’ai 2 coeur d’abso, la tous va bien,
      si je rajoute par exemple le body qui lui rajoute 4 coeur donc au total j’ai “6 coeur d’abso” etc etc en rajoutant legs et feet, donc un effet qui s’ajoute et pas qui ce remplace,

      ce que j’ai obtenu comme résultat jusqua maintenant c’est
      soit la pièce d’armure avec l’abso la plus élever prend le pas,
      soit j’ai un nombre de cœur d’abso heu INFINI !! (un peu overcheat l’armure O.o)

      ce qui est intéressant c’est le regen des coeur d’abso qui lui ce cumul bien !!

      bref si vous avez une idée je veux bien car la je suis a cours …

      PS : AlphaSwittleTeam m’aide également sur la chose mais idem il semble avoir également qu’elle que difficulté

      bref voici mon code j’espère sa pourra aidez

      package fr.celestiafrance.c_drone.common;
      
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.ItemArmor;
      import net.minecraft.item.ItemStack;
      import net.minecraft.potion.Potion;
      import net.minecraft.potion.PotionEffect;
      import net.minecraft.util.MathHelper;
      import net.minecraft.world.World;
      
      public class ArmorMK1 extends ItemArmor {
          public static final float ABSORPTION_LIMIT = 40.0f;
          private ItemArmor.ArmorMaterial material;
          private Object event;
      
          public ArmorMK1(ItemArmor.ArmorMaterial material, int type) {
              super(material, 0, type);
              this.material = material;
          }
      
          public String getArmorTexture(ItemStack stack, Entity entity, int slot,
                  String type) {
              if (slot == 2) {
                  return c_drone.MODID + ":textures/models/armor/Mk1_layer_2.png";
              }
              else {
                  return c_drone.MODID + ":textures/models/armor/Mk1_layer_1.png";
              }
          }
          @Override
          public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {
              if (this.armorType == 2 && player.isSprinting() && player.onGround) {
                  player.motionX *= 1.4F;
                  player.motionZ *= 1.4F;
              }
      
              if (this.armorType == 0) {
                  if ((player.ticksExisted % 80) == 0) {
                      float absorption = player.getAbsorptionAmount();
                      if (absorption < 4.5f) {
                          absorption += 0.5f;
                          player.setAbsorptionAmount(absorption);
                      }
                  }
              }
              if (this.armorType == 1) {
                  if ((player.ticksExisted % 80) == 0) {
                      float absorption = player.getAbsorptionAmount();
                      if (absorption < 8.5f) {
                          absorption += 0.5f;
                          player.setAbsorptionAmount(absorption);
                      }
                  }
              }
              if (this.armorType == 2) {
                  if ((player.ticksExisted % 80) == 0) {
                      float absorption = player.getAbsorptionAmount();
                      if (absorption < 2.5) {
                          absorption += 0.5f;
                          player.setAbsorptionAmount(absorption);
                      }
                  }
              }
              if (this.armorType == 3) {
                  if ((player.ticksExisted % 80) == 0) {
                      float absorption = player.getAbsorptionAmount();
                      if (absorption < 5.5f) {
                          absorption += 0.5f;
                          player.setAbsorptionAmount(absorption);
                      }
                  }
              }
          }
      }
      
      
      1 réponse Dernière réponse Répondre Citer 0
      • isador
        isador Moddeurs confirmés Modérateurs dernière édition par

        tu fait une condition qui check les pièces d’armure du joueur, si il a un casque ca ajoute a une variable +2, etc… et c’est cette variable que tu attribut a ton setAbsoption

        1 réponse Dernière réponse Répondre Citer 0
        • Überfap
          Überfap dernière édition par

          Ah oui Isador, en effet c’est une bonne idée 😉

          Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
          Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

          1 réponse Dernière réponse Répondre Citer 0
          • isador
            isador Moddeurs confirmés Modérateurs dernière édition par

            je sais j’ai toujours de bonne idée 😛

            1 réponse Dernière réponse Répondre Citer 0
            • Überfap
              Überfap dernière édition par

              @Override
              public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
              float absorption = player.getAbsorptionAmount();
              float limit = 10.0f;
              if (this.armorType == 1) {
              if (absorption < limit) {
              if (player.ticksExisted % 80 == 0) {
              absorption += (limit - absorption);
              player.setAbsorptionAmount(absorption);
              }
              }
              }
              }
              

              Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
              Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

              1 réponse Dernière réponse Répondre Citer 0
              • A
                anguelwyvern dernière édition par

                je revient vers vous cher amis MFF, voila avec alpha on c’est penchez sur la chose, on as creuser autant que possible mais la on bloque, pas moyen de mettre un effet qui ce cumul entre les pièces d’armure, serait t’il possible d’avoir l’aide de nos grand maitre java bien aimez ?^^

                1 réponse Dernière réponse Répondre Citer 0
                • Überfap
                  Überfap dernière édition par

                  Oh tout puissant robin qui consulte ce poste, viens nous en aide 😛

                  Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                  Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                    Et si ne je ne sais pas ?
                    En fait je ne vois pas l’intérêt de faire ce que vous êtes en train de faire, pour l’absorption il y a déjà l’EnumArmor, et si il ne suffit pas, on peut passer par l’interface ISpecialArmor, je ne vois pas l’intérêt de passer par la fonction de tick…

                    1 réponse Dernière réponse Répondre Citer 0
                    • Überfap
                      Überfap dernière édition par

                      J’ai rien compris x) Tu peux nous mettre un exemple s’il te plait ?

                      Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                      Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                        www.minecraftforgefrance.fr/showthread.php?tid=1012&pid=11807#pid11807

                        https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/ultimategravisuite/common/UltimateArmor.java#L279-L328

                        1 réponse Dernière réponse Répondre Citer 0
                        • A
                          anguelwyvern dernière édition par

                          “dieux à parlez, tous simplement”

                          et les fidèles s’incline humblement

                          merci robin 😉

                          1 réponse Dernière réponse Répondre Citer 0
                          • 1 / 1
                          • Premier message
                            Dernier message
                          Design by Woryk
                          Contact / Mentions Légales

                          MINECRAFT FORGE FRANCE © 2018

                          Powered by NodeBB