Navigation

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

    SOLVED Problème couteau

    1.7.x
    1.7.x
    4
    12
    2510
    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.
    • zery59
      zery59 last edited by robin4002

      Bonjour,

      J’aimerais faire un couteau ayant les attributs suivant :

      -L’item à la même fonction qu’une arme (Elle fait des dégâts, mais ce n’est pas un ItemSword)
      -Il soit utile à un craft (Mais une fois le craft fais, le couteau ne doit pas disparaître mais l’outil deviens un peu usée(La barre verte sous les outils))

      J’ai essayé un truc comme ça :

      import net.minecraft.client.renderer.texture.IIconRegister;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.Item;
      
      public class Couteau extends Item
      {
          @Override
           public void registerIcons(IIconRegister iconregister)
          {
              this.itemIcon = iconregister.registerIcon(Nawak.MODID + ":Couteau");
          }
      
          protected Couteau()
          {
              this.setCreativeTab(CreativeTabs.tabCombat);
          }
      }
      

      Mais rien ne correspond à ce que je voudrait dans la partie protected Couteau()
      Les this.etc ne vont pas à ce que je recherche.

      Merci d’avance 🙂

      1 Reply Last reply Reply Quote 0
      • K
        Kushhh last edited by

        avant de commencer réorganise ton code (ne fait pas les mêmes erreurs que moi !)

        
        import net.minecraft.client.renderer.texture.IIconRegister;
        import net.minecraft.creativetab.CreativeTabs;
        import net.minecraft.item.Item;
        
        public class Couteau extends Item
        {
        protected Couteau()
        {
        this.setCreativeTab(CreativeTabs.tabCombat);
        }
        
        @SideOnly(SIDE.CLIENT)
        public void registerIcons(IIconRegister iconregister)
        {
        this.itemIcon = iconregister.registerIcon(Nawak.MODID + ":Couteau");
        }
        }
        
        
        1 Reply Last reply Reply Quote 0
        • zery59
          zery59 last edited by

          Ok, c’est bon je l’ai réorganisé. Mais vu le nombre de réponses, je suppose que ça doit obligatoirement être un itemSword ?

          J’aimerais qu’il fasse des dêgats, mais en créant un addToolMaterial (Ou un truc comme ça), il y a forcément une possibilité d’enchantement, ce que je ne veux pas.

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

            je te conseille de faire une sorte de item 3D, et de créer la classe couteau, si tu veux faire un couteau de lancer il te faut créer un projectile.

            1 Reply Last reply Reply Quote 0
            • robin4002
              robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

              @‘zery59’:

              J’aimerais qu’il fasse des dêgats, mais en créant un addToolMaterial (Ou un truc comme ça), il y a forcément une possibilité d’enchantement, ce que je ne veux pas.

              Non. Tu mets le dernier nombre (qui correspond à la facilité d’enchantement) sur 0, et il ne pourra pas être enchanté.

              1 Reply Last reply Reply Quote 1
              • zery59
                zery59 last edited by

                Ok, merci robin4002. Je vais le faire.

                Diangle : Je ne veux pas qu’il se lance. Je veut juste qu’il fasse un peu de dégâts et qu’il soit utilisé dans un craft (Mais une fois le craft terminé, le couteau reste dans la table comme le sceau de lait avec les gâteaux)

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

                  Je fais un UP

                  Comment je peux faire pour que le couteau ne disparaisse pas lors d’un craft ?

                  1 Reply Last reply Reply Quote 0
                  • robin4002
                    robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                    Il faut un custom IRecipe, regarde les classes de minecraft, si tu as besoin d’aide prévient.

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

                      D’accord, je vais regarder

                      Je vois pas trop quoi faire 😕

                      Il y a bien une class IRecipe :

                      package net.minecraft.item.crafting;
                      
                      import net.minecraft.inventory.InventoryCrafting;
                      import net.minecraft.item.ItemStack;
                      import net.minecraft.world.World;
                      
                      public interface IRecipe
                      {
                      /**
                      * Used to check if a recipe matches current crafting inventory
                      */
                      boolean matches(InventoryCrafting var1, World var2);
                      
                      /**
                      * Returns an Item that is the result of this recipe
                      */
                      ItemStack getCraftingResult(InventoryCrafting var1);
                      
                      /**
                      * Returns the size of the recipe area
                      */
                      int getRecipeSize();
                      
                      ItemStack getRecipeOutput();
                      }
                      

                      Mais je dois en faire quoi ? Je devrais utiliser le code suivant ?

                      GameRegistry.addRecipe(IRecipe recipe)
                      

                      Mais ça me donne ça :

                      GameRegistry.addRecipe(recipe);
                      

                      Première fois que je comprends vraiment rien 😮

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

                        Up 😕

                        1 Reply Last reply Reply Quote 0
                        • robin4002
                          robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by robin4002

                          Je viens de faire des tests, en fait pas besoin d’utiliser un custom IRecipe.
                          Suffit juste de mettre ça dans la classe de ton item :

                          public boolean hasContainerItem(ItemStack stack)
                          {
                               return true;
                          }
                          
                          public ItemStack getContainerItem(ItemStack stack)
                          {
                               return new ItemStack(stack.getItem(), 1, stack.getItemDamage() + 1);
                          }
                          
                          public boolean doesContainerItemLeaveCraftingGrid(ItemStack stack)
                          {
                              return false;
                          }
                          

                          Par contre pour ajouter la recette, fait comme ça :

                          GameRegistry.addRecipe(new ItemStack(itemTutoriel2), new Object[] {"X", "Y", 'X', new ItemStack(swordTuto, 1, OreDictionary.WILDCARD_VALUE), 'Y', itemTutoriel});
                          

                          Le OreDictionary.WILDCARD_VALUE est important, sinon tu pourra que crafter avec une épée neuf.

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

                            Effectivement, ça marche parfaitement !

                            Merci beaucoup robin4002 🙂 🙂

                            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