Créer un kit d'outils
-
Sommaire
Introduction
Bonjour à tous ! On se retrouve aujourd’hui pour un petit tutoriel pour apprendre a créer votre propre kit d’outils en 1.11
Pré-requis
Code
La classe items:
Nous allons commencer par nous occuper de notre classe items (vous devez l’avoir déjà créer si vous avez suivi le tutoriel de Pchom)
La ou vous déclarer vos item ajouter la ligne suivante :public static ToolMaterial toolnomdevotrematériau = EnumHelper.addToolMaterial("toolnomdevotrematériau", 1, 199, 8.0F, 4.0F, 18);
Nous allons décortiquer un peu le code entre parenthèse ensemble
“toolnomdevotrematériau” : cela va être initialiser votre matériel on va se resservir de ce nom plus tard dans le code
Maintenant décortiquons un peu les nombres mis en paramètre
1: c’est le niveau de minage de votre pioche 0 mine comme une pioche en bois 1 comme pioche en pierre 2 comme pioche en fer et 3 comme pioche en diamant
199: c’est la durabilité de nos outils -1 mes outils auront donc une durabilité de 200 ici
Ensuite 8.0F : c’est la vitesse de récolte de vos outils plus ce nombre sera élevé plus vos pioche et vos hache minerons rapidement !
Le 4.0F : c’est les dégâts en demi-coeurs que vont infligés les outils, pour l’épée 2 coeurs de dégâts seront ajouter à cette valeur
Et pour finir le dernier nombre 18: c’est l’enchantabilité de vos outils, plus ce nombre sera élevé plus vous aurez de chance d’obtenir de bons enchantements sur vos outils
Ensuite nous allons déclarer les différents outils de notre kit ajouter cette ligne sous la déclaration de votre matériau vous devez l’écrire 5 fois en ajoutant tour à tour la pioche, l’épée, la hache, la houe et la pelle (si vous ne voulez pas l’intégralité des outils vous n’êtes pas obliger de tous les ajouter)public static final Item VOTREMATERIAU_VOTREOUTILS = new VotrematériauVotreoutils(toolvotrematériau).setRegistryName("votremateriau_votreoutils").setUnlocalizedName("votremateriau_votre");
pour moi cela donne ceci
public static final Item COPPER_SWORD = new CopperSword(toolcopper).setRegistryName("copper_sword").setUnlocalizedName("copper_sword"); public static final Item COPPER_PICKAXE = new CopperPickaxe(toolcopper).setRegistryName("copper_pickaxe").setUnlocalizedName("copper_pickaxe"); public static final Item COPPER_HOE = new CopperHoe(toolcopper).setRegistryName("copper_hoe").setUnlocalizedName("copper_hoe"); public static final Item COPPER_SHOVEL = new CopperShovel(toolcopper).setRegistryName("copper_shovel").setUnlocalizedName("copper_shovel"); public static final Item COPPER_AXE = new CopperShovel(toolcopper).setRegistryName("copper_axe").setUnlocalizedName("copper_axe");
(vous aller avoir une erreur sur le nom des classes c’est normal nous allons créer les classe plus tard)
Maintenant nous allons enregistrer les model de nos cinq outils avec la fonction RegisterModel je vous met un exemple si vous avez oublié comment faire
registerModel(COPPER_SWORD, 0);
maintenant nous allons enregistrer leurs texture inventaire sous la ligne ModLoader.setcustomLoaderModelRessourceLocation vous allez ajouter la ligne suivante pour chacun de vos outils
ModelLoader.setCustomModelResourceLocation(VOTREMATERIAU_VOTREOUTIL, 0, new ModelResourceLocation(ModSimpleores.MODID + ":votremateriau_votreoutil", "inventory"));
pour moi ça donne
ModelLoader.setCustomModelResourceLocation(COPPER_SWORD, 0, new ModelResourceLocation(ModSimpleores.MODID + ":copper_sword", "inventory")); ModelLoader.setCustomModelResourceLocation(COPPER_PICKAXE, 0, new ModelResourceLocation(ModSimpleores.MODID + ":copper_pickaxe", "inventory")); ModelLoader.setCustomModelResourceLocation(COPPER_HOE, 0, new ModelResourceLocation(ModSimpleores.MODID + ":copper_hoe", "inventory")); ModelLoader.setCustomModelResourceLocation(COPPER_SHOVEL, 0, new ModelResourceLocation(ModSimpleores.MODID + ":copper_shovel", "inventory")); ModelLoader.setCustomModelResourceLocation(COPPER_AXE, 0, new ModelResourceLocation(ModSimpleores.MODID + ":copper_axe", "inventory"));
Ensuite enregistrer vos items dans votre classe RegisterHandler
Nous en avons fini avec notre classe item passons maintenant aux classes de nos itemsLa classe de l’item:
Vous allez créer vos 5 classe avec l’héritage ItemVotreoutil par exemple
public class CopperAxe extends ItemAxe{
Faites juste attention pour la pelle il faut mettre extends ItemSpade et non extends ItemShovel
Dans chacune des classes faites les import nécessaire et ajouter le constructeur suivant
public NomdeVotreClasse(ToolMaterial material) { super(material); }
Si vous voulez uniquement créer des kits d’outils basique vous pouvez utiliser les mêmes classes outils pour tous vos kits d’outils.
Maintenant passons aux textures in-gameLes textures et les fichiers jsons :
Tout d’abord placer votre textures et créer vos jsons comme si vous vouliez enregistrer un item basique.
Il faut juste modifier le contenu des json en y mettant ceci{ "parent": "item/handheld", "textures": { "layer0": "modid:items/votremateriau_voteoutils" } }
Cela permet d’avoir un bon visuel in-game des outils dans les deux mains
Résultat
Et voici le résultat ! Si vous avez des idées pour le bonus n’hésitez pas a les poster en commentaire
Crédits
Rédaction : Aypristyle
Inspiration : Créer un kit d’outils robin2002
Ce tutoriel de Aypristyle publié sur Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International -
Salut aypristyle, désolé je ne pas t’avoir répondu avant, j’avais zappé. Ton tutoriel est effectivement beaucoup mieux, il reste quelques trucs à corriger (balise ancre à corriger, fautes d’orthographe, etc …) mais dont les correcteurs se feront un plaisir de s’occuper. Il faudrait cependant que tu indiques à quoi correspondent les valeurs que tu mets en paramètre de ton matériau (199, 8.0F, 4.0F, 18).
-
Merci BrokenSwing j’ai ajouté ce que tu m’a demandé
-
Corrige les ancres (enlève la partie bonus du sommaire et remet l’ancre correcte vers le résultat)
-
C’est bon j’ai rectifiée les ancres
Merci BrokenSwing pour ton aide !