MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Rajouter des chiffres décimaux a une valeur d'armure ?

    Planifier Épinglé Verrouillé Déplacé Sans suite
    10 Messages 5 Publieurs 3.8k Vues 1 Watching
    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.
    • azatomA Hors-ligne
      azatom
      dernière édition par

      Bonjours/Bonsoirs
      Etant en création d’un mod avec une multitude d’armure je souhaite bien sur leur mettre a toute une protection différente. Ayant créer plusieurs armures au dessus du diamant (3) elles montent toute d’un peu plus la protection au dessus de celle du diamant, a tel point que mon armure en saphir (la dernière) est a peu près … invincible O_o
      Pourtant je n’ai rajouté que 3 boucliers a celle ci …
      J’aimerais donc réduire encore ces valeurs en les divisant c’est a dire qu’au lieu d’avoir ça :

      public static ArmorMaterial ms = EnumHelper.addArmorMaterial("ms", 55, new int[] {4, 10, 8, 4}, 30);
      

      j’ai ça :

      public static ArmorMaterial ms = EnumHelper.addArmorMaterial("ms", 55, new int[] {3.5, 10, 8, 3.5}, 30);
      

      sauf que j’obtiens bien entendu une erreur 😕 et le fais de caster le nombre ne change en rien mon problème 😞
      Donc si vous avez un moyen d’ajouter des décimales sur ces valeurs je suis ouvert a toute proposition ^^
      encore merci de votre aide
      cordialement azatom

      1 réponse Dernière réponse Répondre Citer 0
      • mindany2M Hors-ligne
        mindany2
        dernière édition par

        Là juste en pensant au à tes lignes on voit que ce n’est pas possible puisqu’un int est un nombre entier
        Après faut regarder si tu peux mettre autre chose qu’un int et si ce n’est pas le cas je crains que ce ne soit pas possible :s

        ^^

        1 réponse Dernière réponse Répondre Citer 0
        • T Hors-ligne
          totos51
          dernière édition par

          et bien étant donné que c’est un tableau de int oui forcément tu ne pourras pas y mettre des décimaux et un cast transformer 3.5 en 3, donc ce n’est pas ce que tu veux ^^’
          je ne penses pas que ce soit possible ainsi, il doit cependant y avoir une solution alternative.

          1 réponse Dernière réponse Répondre Citer 0
          • azatomA Hors-ligne
            azatom
            dernière édition par

            On pourrais mettre un tableau de double au lieu d’un tableau de int non ?

            1 réponse Dernière réponse Répondre Citer 0
            • mindany2M Hors-ligne
              mindany2
              dernière édition par

              Non
              Il me semble que c’est impossible
              addArmorMaterial requière des int et pas des double

              ^^

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

                Salut,
                Non, impossible, il faudrait modifier les codes de minecraft. Mojang ont mit dans int dans l’ArmorMaterial, on y peut rien. Désolé.

                En revanche, tu peux toujours jouer avec l’interface net.minecraftforge.common.ISpecialArmor
                public class MonArmure extends ItemArmor implements ISpecialArmor

                Il faut ajouter ces trois méthodes :

                @Override
                public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot)
                {
                return new ArmorProperties(priorité, ratio, dégat max);
                }
                
                @Override
                public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot)
                {
                return nombre de barre d armure;
                }
                
                @Override
                public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot)
                {
                //code a éxécuter pour abimer l'armure
                // stack.damageItem(damage, entity); par exemple
                }
                
                1 réponse Dernière réponse Répondre Citer 0
                • azatomA Hors-ligne
                  azatom
                  dernière édition par

                  et c’est si toute l’armure est sur le joueur ?
                  Car si il fait un mixte ?

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

                    C’est pour chaque pièce, c’est pour ça que tu as le paramètre slot. Tout s’additionne il me semble.

                    1 réponse Dernière réponse Répondre Citer 0
                    • utyboU Hors-ligne
                      utybo
                      dernière édition par

                      @‘robin4002’:

                      C’est pour chaque pièce, c’est pour ça que tu as le paramètre slot. Tout s’additionne il me semble.

                      Je confirme, les valeurs s’additionnent, celles que tu indiques ne seront jamais les valeurs totales de toute l’armure.
                      Ce système permet d’ailleurs d’avoir différents types d’armure sur soit (plastron en diamant, pantalons en fer…)

                      Moddeur à la retraite et développeur de trucs en Java.

                      J'aide les gens comme je peux, alors si mon message v…

                      1 réponse Dernière réponse Répondre Citer 0
                      • azatomA Hors-ligne
                        azatom
                        dernière édition par

                        Je vais essayer je vous tiens au courant 🙂
                        Edit : je ne prend aucun dégât, je pense que ça viens de ratio et de priorité, je n’ai pas bien compris ce que je dois y mettre ?
                        De plus j’ai mis 2 barre de boucliers et ça me le mes pour toute les pièces, il n’y aurait pas un moyen pour que je puisse mettre une valeur a chaque pièce d’armure ?
                        De plus n°2 : C’est du int le nombre de barre de bouclier ^^ donc ça ne change rien …

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

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB