Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Crée un item avec une durabilité pour un craft

    Les items
    1.7.10
    3
    6
    4322
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Orkals
      Orkals last edited by robin4002

      Sommaire

      • Introduction
      • Pré-requis
      • Code
        • Modification de l’item
        • Ajout de la recette
      • Crédits

      Introduction

      Bonjour aujourd’hui nous allons créer un outil pour craft avec une durabilité. Gregtech, Ic2, Rp2 ont utilisé cette fonctionnalité pour donner un peu plus de réalisme dans leurs mods.

      Pré-requis

      • Créer un item basique
      • Créer un bloc basique

      Code

      Modification de l’item :

      Allez dans la classe de votre item, nous allons dans un premier temps modifier le constructeur. Nous allons ajouter la méthode :
      this.setMaxDamage(20);
      qui va définir le nombre maximum d’utilisation de l’item.
      Pour ma part je ne veux pas qu’on puisse le réparé, donc j’ajoute aussi this.canRepair = false;

          public HammerIron() {
              this.setMaxDamage(20);
              this.canRepair = false;
          }
      

      Ensuite nous allons ajouter une fonction pour que l’item s’use lorsqu’il est utilisé dans un craft :

          public ItemStack getContainerItem(ItemStack itemStack) {
              return new ItemStack(this, 1, itemStack.getItemDamage() + 1);
          }
      

      Nous allons également ajouter deux autres fonctions, une pour indiquer que l’item possède un container item (les seaux de lave, d’eau et lait ont comme itemContainer le seau vide, c’est pour cela que lors du craft d’un gâteau, les sceaux reviennent vides). La deuxième va indiquer que l’item ne doit pas quitter la grille de craft lorsqu’on craft :

          public boolean hasContainerItem(ItemStack stack) {
              return true;
          }
      
          public boolean doesContainerItemLeaveCraftingGrid(ItemStack stack) {
              return false;
          }
      

      Ajout de la recette :

      Ici nous nous trouvons dans votre classe principale plus précisément dans la partie init .

      Nous allons déclarer la recette comme ceci :

          public void init(FMLInitializationEvent event) {
              GameRegistry.addRecipe(new ItemStack(Pickaxe_flint), new Object[] {
      "FFF", "IS ", " S ", 'F', Items.flint, 'S', Items.stick, 'I',
      new ItemStack(HammerIron,1,OreDictionary.WILDCARD_VALUE )  , });
      

      Attention à la ligne (HammerIron,1,OreDictionary.WILDCARD_VALUE ), elle est importante pour pouvoir utiliser votre outil lors de plusieurs craft. Je m’explique si vous avez déjà utilisé l’item une fois, sans OreDictionary.WILDCARD_VALUE, il ne pourra plus être utilisé. En effet pour enregistrer le niveau de dégât d’un item Minecraft passe par les métadatas, il faut donc enregistrer le craft avec tous les métadatas possibles, or OreDictionary.WILDCARD_VALUE représente tous les métadatas.

      Crédits

      Rédaction :

      • Orkals
      • robin4002 (aide pour le code et formatage du tutoriel)

      Correction :

      • gagoi

      Creative Commons
      Ce tutoriel de 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

      retourRetour vers le sommaire des tutoriels

      1 Reply Last reply Reply Quote 0
      • Ama
        Ama last edited by

        Met en forme le design du tuto’ là c’est assez moche ^^ Mais GG tutoriel interresant

        1 Reply Last reply Reply Quote 0
        • Orkals
          Orkals last edited by

          oui je c’est en cours mais enfaite il y des balise qui saute quand j’édite le message alors bon ! je continuerais se soir !

          1 Reply Last reply Reply Quote 0
          • Ama
            Ama last edited by

            Tu fera attention il y avait un double topic de ton Tutoriel dans cette section ^^

            1 Reply Last reply Reply Quote 0
            • Orkals
              Orkals last edited by

              arf sorry

              1 Reply Last reply Reply Quote 0
              • JustAnDev
                JustAnDev last edited by

                Il faudrait faire la meme mais la partie sans craft

                1 Reply Last reply Reply Quote 0
                • 1 / 1
                • First post
                  Last post
                Design by Woryk
                Contact / Mentions Légales / Faire un don

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB