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

    Résolu Créer une amélioration pour une armure

    1.7.x
    1.7.10
    4
    7
    1052
    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.
    • lapourgagner
      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
      • Dylem
        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
        • lapourgagner
          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
          • Eikins
            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
            • lapourgagner
              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
              • BrokenSwing
                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
                • lapourgagner
                  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
                  Contact / Mentions Légales

                  MINECRAFT FORGE FRANCE © 2018

                  Powered by NodeBB