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

    Un item basique

    Les items
    1.6.x
    3
    4
    5543
    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.
    • robin4002
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par robin4002

      Après notre premier bloc, nous allons faire notre premier item.

      Dans la classe principale

      Déclarez votre item à la suite de la déclaration des blocs :

      public static Item ItemTutorial;
      

      Tout comme les blocs, vous pouvez en déclarer plusieurs à la suite.

      Dans la partie PreInit, ajoutez ceci :

      ItemTutorial = new ItemTutorial(12000).setUnlocalizedName("ItemTutorial").setTextureName("modtutoriel:ItemTutorial");
      

      12000 correspond à l’id (les id d’item vont de 4096 à 31999, sachez aussi que l’id que vous allez mettre ici n’est pas la même qu’en jeu, en effet 256 est additionné à cette id. Donc en jeu mon id sera 12256, ce 256 à été créer à l’origine pour que les id d’item commence à 256 et donc, que les id d’item ne rentre pas en conflit avec les blocs, mais comme forge modifie le jeu pour avoir 4096 id de bloc, ce n’est plus d’actualité. Il faut donc utiliser un id comprit entre 3840 et 31743)
      setUnlocalizedName défini le nom non localisé et func_111206_d est utilisé pour la texture (une fois de plus, nous reviendrons dessus plus tard)
      Juste en dessous, ajoutez :

      GameRegistry.registerItem(ItemTutorial, "ItemTutorial", "ModTutoriel");
      

      Ce code n’est pas obligatoire, il sert uniquement pour l’item Tracker de FML, sans ce code votre item fonctionne quand même.
      ItemTutorial est le nom non localisé, et ModTutoriel mon modid.

      Il vous reste une erreur sur “new ItemTutorial”, créez la classe.

      La classe de l’item

      Votre classe ressemble à ceci :

      package tutoriel.common;
      
      public class ItemTutorial
      {
      }
      

      Ajoutez “extends Item” après le nom de la classe, et importez net.minecraft.item.Item
      Vous allez avoir une erreur sur le nom de la classe, passer la souris dessus et faite “add constructor […]”
      Comme je vois l’ai déjà dit, on se retrouve mieux avec des paramètres qui ont un nom qui correspond à quoi il sert, donc remplacez les deux “par1” par “id”
      Ajoutez aussi le code pour la table créative, la classe de votre item devrait ressembler à ça :

      package tutoriel.common;
      
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.Item;
      
      public class ItemTutorial extends Item
      {
          public ItemTutorial(int id)
          {
              super(id);
              this.setCreativeTab(CreativeTabs.tabMaterials);
          }
      }
      

      Les ressources de l’item (texture + nom)

      Dans la classe principale, j’ai utilisé cette fonction : setTextureName(“modtutoriel:ItemTutorial”)
      modtutoriel correspond à mon modid sans aucune majuscule, il ne faut pas en mettre. ItemTutorial est le nom de ma texture

      Pour l’emplacement de la texture, allez dans votre dossier forge/mcp/src/minecraft/assets/<votre modid>/textures/ (voir tutoriel “un bloc basique” si vous ne l’avez pas encore)
      Créez un dossier items, puis créez votre fichier .png de 16x16 nommé ItemTutorial, ce qui correspond à la partie après le “:”. (vous pouvez aussi faire des textures plus grandes que 16x16, mais elles seront plus lourdes à charger)

      Allez maintenant dans le dossier forge/mcp/src/minecraft/assets/<votre modid>/lang/ et ouvrez votre fichier en_US.lang (voir tutoriel “un bloc basique” si vous ne l’avez pas encore)
      Dans ce fichier, ajoutez item.«le nom non localisé de votre bloc (celui dans setUnlocalizedName(“”))».name=«le nom en jeu»
      Par exemple :

      item.ItemTutorial.name=Item Tutorial
      

      /!\ Il ne doit pas avoir d’espace entre le nom non localisé, l’égale, et le nom localisé /!

      Rendu final

      Voir les changements sur Github

      1 réponse Dernière réponse Répondre Citer 0
      • Patatoufet
        Patatoufet dernière édition par

        @robin4002:

        Dans la classe principale, j’ai utilisé cette fonction : .func_111206_d(“modtutoriel:ItemTutorial”)
        modtutoriel correspond à mon modid sans aucune majuscule, il ne faut pas en mettre. BlockTutorial est le nom de ma texture

        Petit détail mais je préfère le signaler 😛

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

          Mince, copier/coller du tutoriel sur les blocs spoted !

          1 réponse Dernière réponse Répondre Citer 0
          • MrPerry300
            MrPerry300 dernière édition par

            x) Très spotted en tout cas très bon tutoriel 🙂

            Apprenti Codeur Java ( Merci Robin :p )

            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