MFF

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

    Créer une amélioration pour une armure

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    7 Messages 4 Publieurs 1.3k 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.
    • lapourgagnerL Hors-ligne
      lapourgagner
      dernière édition par

      Bonjour,

      J’aimerais créer un mod pour un serveur pour jouer entre potes avec de nouvelles armures a laquelle j’aimerais pouvoir ajouter des améliorations (vitesse, NightVision, JumpBoost…).
      J’aimerais que l’on puisse crafter un item, le mettre dans une machine spécial avec un morceau d’armure et que le morceau d’armure sorte avec l’amélioration.
      Ma question est la suivante: dois-je créer chaque armure en plusieurs fois ou y-a-t il un moyen simple de créer ce genre de modification, si oui quel genre de chose ?

      J’espère m’être bien exprimé, si vous ne comprennez pas, n’hésitez a me demander j’essaierais de faire un effort !

      Merci !

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

        Tu as juste à crééer l’armure, puis rajouter les effets avec la fonction :

        
        @Override
        public void onArmorTick(World world, EntityPlayer player, ItemStack armor) {
            player.addPotionEffect(new PotionEffect(effet 1));
            player.addPotionEffect(new PotionEffect(effet 2));
            player.addPotionEffect(new PotionEffect(effet 3));
        }
        
        

        Ajoute juste une condition qui dit si oui ou non l’armure a été améliorée (des booléens par éxemple, définis dans la classe de ton armure en private), pas besoin d’en créer plusieurs !

        
        if(this.aEteAmelioree) 
            player.addPotionEffect….
        
        

        EDIT: Juste une note, le meilleur moyen de faire ça, c’est d’utiliser les NBTTags.

        Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

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

          Je me sens bête, c’est tellement simple…

          Merci beaucoup !!


          Mais comme je suis un gros noob, j’effectue des double-post et je demande comment ajouter un NBTTag sur une armure grace a un utem et une machine…

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

            Attention, les classes de type Item sont des “schémas”, les variables à l’intérieur ne sont pas valable pour une armure en particulier mais toutes les armures de ce type.
            Un exemple pour illustrer mon propos :
            Tu créer un bâton avec une variable “cooldown” en clair dans ta classe, et bien cette variable sera commune à tout les items du jeu, donc si un joueur utilise un sort avec ton item et déclenche ce cooldown, tout les autres joueurs subiront le cooldown. Pour les variables propres aux items en particulier, il faut passer par les NBT (en fait tu stock tes variables dans un ItemStack et non un Item).
            Dans ce cas précis, si tu mets ton booléen en clair dans ta classe Item, lorsqu’une personne améliorera l’item, toutes les armures du jeux seront améliorées.
            Voilà voilà 🙂

            Fracture

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

              @‘Eikins’:

              Attention, les classes de type Item sont des “schémas”, les variables à l’intérieur ne sont pas valable pour une armure en particulier mais toutes les armures de ce type.
              Un exemple pour illustrer mon propos :
              Tu créer un bâton avec une variable “cooldown” en clair dans ta classe, et bien cette variable sera commune à tout les items du jeu, donc si un joueur utilise un sort avec ton item et déclenche ce cooldown, tout les autres joueurs subiront le cooldown. Pour les variables propres aux items en particulier, il faut passer par les NBT (en fait tu stock tes variables dans un ItemStack et non un Item).
              Dans ce cas précis, si tu mets ton booléen en clair dans ta classe Item, lorsqu’une personne améliorera l’item, toutes les armures du jeux seront améliorées.
              Voilà voilà 🙂

              Ah oui… faudrait pas que j’oubli sa  😄

              Edit: Je ne sais pas appliqué un tag NBT a une armure, et je ne trouve pas comment faire. Qui a une petite explication rapide ?

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

                Il me semble pourtant avoir fait un tutoriel sur les NBT … https://www.minecraftforgefrance.fr/showthread.php?tid=4584

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

                  Ah oui merci, je ne l’avais pas trouvé…

                  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