MFF

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

    Le kit d'outils et une épée

    Planifier Épinglé Verrouillé Déplacé Les items
    1.6.x
    68 Messages 15 Publieurs 26.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.
    • 0nit0 Hors-ligne
      0nit
      dernière édition par robin4002

      Introduction

      Bonjour à toutes et à tous, je vais vous apprendre à faire un Kit d’outils(épée, pioche, pelle, hache et houe) en trois étapes:

      1. Dans la classe principale
      2. Les classe des outils
      3. Les ressources(textures et nom)

      Avant de commencer vous devez au moins savoir faire un item basique.

      Bonne lecture 🙂

      1. Dans la classe principale

      Tout d’abord vous allez déclarer vos items,

      public static Item TutorialSword, TutorialPickaxe, TutorialAxe,
      TutorialShovel, TutorialHoe;
      

      Vous pouvez aussi bien le faire ligne par ligne:

      public static Item TutorialSword;
      public static Item TutorialPickaxe;
      public static Item TutorialAxe;
      public static Item TutorialShovel;
      public static Item TutorialHoe;
      

      Puis vous allez créer un EnumToolMaterial.
      Ce code doit être dans à la suite des déclarations.

      static EnumToolMaterial TutorialMaterial = EnumHelper.addToolMaterial("Tutorial", 3, 1561, 8.0F, 3, 10);
      

      Le “TutorialMaterial” est le nom de votre EnumToolMaterial.
      Les valeurs dans le code ci-dessus correspondent à celles du diamant.
      Faites ctrl + clic sur EnumToolMaterial pour ouvrir la classe et voir les valeurs des autres outils.

      La valeur 3 correspond au “harvest level”, c’est à dire ce que peut casser la pioche
      (par exemple: 3 = solidité de l’obsidienne; 2 = solidité de l’or et du diamant;1 = solidité du fer; 0 = solidité du reste des blocs).

      La valeur 1561 correspond au nombre de damage que possède l’item. Cela correspond donc au nombre de coup -1 (comme il y a en plus le damage 0)

      La valeur 8.0F correspond à la vitesse de minage, plus le nombre est élevé plus les outils seront efficaces.

      La deuxième valeur 3 correspond au nombre de point de vie (demi cœur) enlevé par coup. Sachez que pour l’épée 4 sera ajoutez à cette valeur, 2 pour la pioche et 3 pour la hache.
      Donc avec la valeur 3, mon épée fera 7 cœur de dégât, ma pioche 5 et ma hache 6.

      Et la valeur 10 correspond à “l’enchantabilité” des outils, plus le chiffre est élevé plus les meilleurs enchantement seront facile à avoir.

      Pensez à importer:

      import net.minecraftforge.common.EnumHelper;
      import net.minecraft.item.EnumToolMaterial;
      

      (Vous pouvez toujours utilisez le raccourci Control+Shift+O sous Eclipse)

      Toujours dans PreInit, introduisez ce code dans la partie items en dessous des blocs:

      TutorialSword = new TutorialSword(TutorialSwordID, TutorialMaterial).setUnlocalizedName("TutorialSword").setTextureName("modtutoriel:TutorialSword");
      TutorialPickaxe = new TutorialPickaxe(TutorialPickaxeID, TutorialMaterial).setUnlocalizedName("TutorialPickaxe").setTextureName("modtutoriel:TutorialPickaxe");
      TutorialAxe = new TutorialAxe(TutorialAxeID, TutorialMaterial).setUnlocalizedName("TutorialAxe").setTextureName("modtutoriel:TutorialAxe");
      TutorialShovel = new TutorialShovel(TutorialShovelID, TutorialMaterial).setUnlocalizedName("TutorialShovel").setTextureName("modtutoriel:TutorialShovel");
      TutorialHoe = new TutorialHoe(TutorialHoeID, TutorialMaterial).setUnlocalizedName("TutorialHoe").setTextureName("modtutoriel:TutorialHoe");
      

      Le TutorialMaterial est bien sûr l’EnumToolMaterial que vous avez créé.
      “setUnlocalizedName” permet de donner le nom non-localisé c’est à dire le nom qui est utilisé pour le fonctionnement interne du jeu.
      Et enfin, “func_111206_d” est utilisé pour localiser la texture de l’outil, où, “modtutoriel” est votre mod ID (il est à écrire SANS AUCUNE MAJUSCULE), et le TutorialSword est le nom de la texture en .png je le rappelle. 😉

      Vous aurez sûrement remarqué les 5 erreurs présentes sur chaque outil, pour les corriger on va créer une nouvelle classe pour chaque outil.

      Dans la partie Init ajoutez :

      MinecraftForge.setToolClass(TutorialPickaxe, "pickaxe", 3);
      MinecraftForge.setToolClass(TutorialAxe, "axe", 3);
      MinecraftForge.setToolClass(TutorialShovel, "shovel", 3);
      

      Vos outils fonctionnent aussi sans ce code, mais il est important pour l’hardvest de forge (compatibilité avec les autres mods et pour vos propre MinecraftForge.setBlockHarvestLevel(block, toolClass, tier); )
      Le 3 correspond à la première valeur de mit dans l’enumTool (0 pour l’équivalent du bois et or, 1 pour cobble, 2 pour fer, et 3 pour le diamant)

      Et n’oubliez pas d’importer:

      import net.minecraftforge.common.MinecraftForge;
      

      Optionnel, l’enregistrement des items pour l’itemTracker de FML :

      GameRegistry.registerItem(TutorialSword, "TutorialSword", "ModTutoriel");
      GameRegistry.registerItem(TutorialPickaxe, "TutorialPickaxe", "ModTutoriel");
      GameRegistry.registerItem(TutorialAxe, "TutorialAxe", "ModTutoriel");
      GameRegistry.registerItem(TutorialShovel, "TutorialShovel", "ModTutoriel");
      GameRegistry.registerItem(TutorialHoe, "TutorialHoe", "ModTutoriel");
      

      2. Les classes des outils

      Dans la classe de chaque outils mettez ce code:

      import net.minecraft.item.EnumToolMaterial;
      import net.minecraft.item.Item[Sword, Pickaxe, Axe, Spade, Hoe];
      
      public class NomDeLaClasse extends Item[Sword, Pickaxe, Axe, Spade, Hoe]
      {
      
      }
      

      Vous aurez une erreur sur le nom de la classe passez la souris dessus et faite “add constructor”, vous devriez obtenir sa:

      package tutoriel.common;
      
      import net.minecraft.item.EnumToolMaterial;
      import net.minecraft.item.ItemPickaxe;
      
      public class NomDeLaClasse extends Item[Sword, Pickaxe, Axe, Spade, Hoe]
      {
      public TutorialPickaxe(int id, EnumToolMaterial toolMaterial)
      {
      super(id, toolMaterial);
      }
      }
      

      Vous aurez aussi remarquer qu’il y a des champs non justifier([Sword, Pickaxe, Axe, Spade, Hoe]), vous devez les remplacer par les bouts de code ci-dessous:
      -Pour l’épée mettez “extends ItemSword” et “import net.minecraft.item.ItemSword”.
      -Pour la pioche mettez “extends ItemPickaxe” et “import net.minecraft.item.ItemPickaxe”.
      -Pour la hache mettez “extends ItemAxe” et “import net.minecraft.item.ItemAxe”.
      -Pour la pelle mettez “extends ItemSpade” et “import net.minecraft.item.ItemSpade”.
      -Pour la houe mettez “extends ItemHoe” et “import net.minecraft.item.ItemHoe”.

      Pour rendre vos outils réparable ajoutez ce code dans la classe de l’outil :

      public boolean getIsRepairable(ItemStack stack, ItemStack repairItem)
      {
      if(stack.getItem().equals(this) && repairItem.getItem().itemID == ModTutoriel.TutorialMetadata.itemID)
      return true;
      return false;
      }
      

      ModTutoriel.TutorialMetadata et l’item avec lequel le l’armure peut être réparé.

      Et voilà la partie codage est terminée !!!

      3. Ressources

      Pour les ressources, allez tout simplement lire le tutoriel de robin4002 en cliquant juste ici

      Rendu final

      voir sur github

      0_1529608963849_2013-08-01_14.33.16.png

      Mes tutoriels:

      >! \[1.6.x\] - Le kit d'outils
      >! \[1.6.x\] - Les recettes du four

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

        Un bon tutoriel malgré les fautes d’orthographe.

        Si tu corrige tout ça, je pense que tu sera validé 🙂

        "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
        ― Jordan B. Peterson

        1 réponse Dernière réponse Répondre Citer 0
        • jglrxavpokJ Hors-ligne
          jglrxavpok Modérateurs
          dernière édition par

          J’ai corrigé la plupart des fautes d’orthographe et de frappes pour rendre plus lisible le tutoriel.
          En parlant de la lisibilité, hésite pas à refaire la présentation, là ça donne pas du tout envie de le lire. (Mettre des espaces après les virgules, c’est déjà un bon début).

          A part ça, c’est plutôt un bon tutoriel!

          Modérateur sur MFF. 
          Mon Github: http://github.com/jglrxavpok
          Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

            Merci pour la correction 😉 et je vais essayer de faire mieux.

            Mes tutoriels:

            >! \[1.6.x\] - Le kit d'outils
            >! \[1.6.x\] - Les recettes du four

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

              Si tu continue a améliorer le tutoriel, je pense qu’il sera rapidement validé 😉

              "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
              ― Jordan B. Peterson

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

                Ok merci du conseil, mais comment on fait pour que l’image soit plus grande car c’est plûto gênent d’avoir une petite image sur sont tuto 😕

                Mes tutoriels:

                >! \[1.6.x\] - Le kit d'outils
                >! \[1.6.x\] - Les recettes du four

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

                  Sans vouloir être méchant, ce tuto est assez complexe, et tu as oublié pas mal de chose, tu devrais le laisser à robin 😕

                  Mes tutos :

                  >! Un item mangeable
                  [url=http://www.minecraftforgefranc…

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

                    Si il manque des choses c’est parce que je conte faire LE KIT D’OUTIL-Suite pour ne pas embrouiller les visiteurs qui veulent commençait le modding et moi personnellement je trouve pas sa compliquer.

                    Mes tutoriels:

                    >! \[1.6.x\] - Le kit d'outils
                    >! \[1.6.x\] - Les recettes du four

                    1 réponse Dernière réponse Répondre Citer 0
                    • elias54E Hors-ligne
                      elias54 Administrateurs
                      dernière édition par

                      Pas de conflits sur le forum, merci.

                      Mon site | GitHub

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

                        Sans vouloir être méchant, ce tuto est assez complexe, et tu as oublié pas mal de chose, tu devrais le laisser à robin 😕

                        Faire un kits d’outils n’est pas complexe, c’est un item avec un enum en plus, pour les choses oubliées, je ne vois rien, mais il faudrais ajouter les prérequis.

                        Sinon, un peu de pub: pour les recettes, il existe une fonction dans le FFMTAPI pour toutes les ajoutées 🙂


                        Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

                          Il y a plein d’autres fonctions non cités u_u

                          Mes tutos :

                          >! Un item mangeable
                          [url=http://www.minecraftforgefranc…

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

                            Heu… je ne mets quoi en Près-requis :huh:
                            Et je connais FFMTAPI qui génial, je vais commencer un mod qui l’utilise.

                            Mes tutoriels:

                            >! \[1.6.x\] - Le kit d'outils
                            >! \[1.6.x\] - Les recettes du four

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

                              Il y a plusieurs fonctions oublié.
                              Onit, si tu te sens capable de le faire, fais le, si tu veux je pourrais t’aider à ajouté les méthodes manquantes 🙂

                              Mes tutos :

                              >! Un item mangeable
                              [url=http://www.minecraftforgefranc…

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

                                Merci de me proposer de l’aide, je t’envérais un MP si j’ai besoin de toi 😉

                                Mes tutoriels:

                                >! \[1.6.x\] - Le kit d'outils
                                >! \[1.6.x\] - Les recettes du four

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

                                  Ouaip, et excuse moi pour l’autre message 😉

                                  Mes tutos :

                                  >! Un item mangeable
                                  [url=http://www.minecraftforgefranc…

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

                                    C’est pas grave 😪

                                    Mes tutoriels:

                                    >! \[1.6.x\] - Le kit d'outils
                                    >! \[1.6.x\] - Les recettes du four

                                    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

                                      Dans init :
                                      MinecraftForge.setToolClass(TutorialPickaxe, “pickaxe”, harvest level (le même que l’enum tool) );
                                      MinecraftForge.setToolClass(TutorialShovel, “shovel”, harvest level (le même que l’enum tool) );
                                      MinecraftForge.setToolClass(TutorialAxe, “axe”, harvest level (le même que l’enum tool) );

                                      Ils sont pas obligatoire, mais plutôt important pour la compatibilité harvest level entre les différents mods.


                                      Ha et le titre est à revoir (majuscule …)

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

                                        Ok merci du tuyau, j’ajoute et je change le titre aussi 😉

                                        Mes tutoriels:

                                        >! \[1.6.x\] - Le kit d'outils
                                        >! \[1.6.x\] - Les recettes du four

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

                                          Harvest et non Hardvest 😉

                                          "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                                          ― Jordan B. Peterson

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

                                            Mais non le “hardvest level” c’est le “niveau du gilet dur”


                                            Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB