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

    Résolu Problème couteau

    1.7.x
    1.7.x
    4
    12
    2877
    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.
    • zery59
      zery59 dernière édition par 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 🙂

      Joueur PC Master Race :D
      Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

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

        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 réponse Dernière réponse Répondre Citer 0
        • zery59
          zery59 dernière édition par

          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.

          Joueur PC Master Race :D
          Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

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

            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 réponse Dernière réponse Répondre Citer 0
            • robin4002
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

              @‘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 réponse Dernière réponse Répondre Citer 1
              • zery59
                zery59 dernière édition par

                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)

                Joueur PC Master Race :D
                Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

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

                  Je fais un UP

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

                  Joueur PC Master Race :D
                  Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

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

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

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

                      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 😮

                      Joueur PC Master Race :D
                      Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

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

                        Up 😕

                        Joueur PC Master Race :D
                        Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 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 réponse Dernière réponse Répondre Citer 0
                          • zery59
                            zery59 dernière édition par

                            Effectivement, ça marche parfaitement !

                            Merci beaucoup robin4002 🙂 🙂

                            Joueur PC Master Race :D
                            Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

                            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