MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Faire changer un item avec un clique droit sur un block

    Planifier Épinglé Verrouillé Déplacé Résolu 1.9.x et 1.10.x
    1.9.4
    39 Messages 4 Publieurs 6.3k Vues 1 Watching
    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.
    • DeletedD Hors-ligne
      Deleted
      dernière édition par

      Tu le mets là où tu veux voir apparaître ton nouvel item en main. Mais je me suis trompé, currentItem renvoie un integer qui est l’index du slot actuellement occupé. Du coup il faudrait mieux utiliser la méthode InventoryPlayer#setInventorySlotContents, avec en premier argument l’index du slot, puis ensuite l’itemstack. Tu as désormais tous les élément, je te laisse faire !

      1 réponse Dernière réponse Répondre Citer 0
      • TituyaT Hors-ligne
        Tituya
        dernière édition par

        Non, ca ne fonctionne pas, ça dit "type mismatch: cannot convert from ItemStack to int

        Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

        1 réponse Dernière réponse Répondre Citer 0
        • InfiniteI Hors-ligne
          Infinite
          dernière édition par

          Partage ton code ça a l’air pas compliqué ,je vais essayer de t’aider

          Mes Sites(Mes Sites)
          |
          |    Site général : Game & play
          |   Site de projets (en dev !) :Infinite's Ressources
          J'ai et je suis content d'avoir 16,75 points d'ICRating

          1 réponse Dernière réponse Répondre Citer 0
          • TituyaT Hors-ligne
            Tituya
            dernière édition par

            Euh j’ai pas tout compris … je débute vraiment en modding …

            Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

            1 réponse Dernière réponse Répondre Citer 0
            • InfiniteI Hors-ligne
              Infinite
              dernière édition par

              Alors ?

              EDIT : Ok

              Mes Sites(Mes Sites)
              |
              |    Site général : Game & play
              |   Site de projets (en dev !) :Infinite's Ressources
              J'ai et je suis content d'avoir 16,75 points d'ICRating

              1 réponse Dernière réponse Répondre Citer 0
              • TituyaT Hors-ligne
                Tituya
                dernière édition par

                Attendez un peu, je fait quelque chose, je vous partage le code actuelle dans quelques minutes

                Voila

                package com.tuto.mod.blocks;
                
                import com.tuto.mod.init.ItemsMod;
                
                import net.minecraft.block.Block;
                import net.minecraft.block.material.Material;
                import net.minecraft.block.state.IBlockState;
                import net.minecraft.entity.item.EntityItem;
                import net.minecraft.entity.player.EntityPlayer;
                import net.minecraft.item.ItemStack;
                import net.minecraft.util.EnumFacing;
                import net.minecraft.util.math.BlockPos;
                import net.minecraft.util.text.TextComponentString;
                import net.minecraft.util.text.TextComponentTranslation;
                import net.minecraft.util.text.TextFormatting;
                import net.minecraft.world.World;
                
                public class MachineMod extends Block
                {
                
                    public MachineMod(Material materialIn)
                    {
                        super(materialIn);
                        setResistance(3F);
                        setHardness(3F);
                        setHarvestLevel("pickaxe", 1);
                    }
                
                    public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ)
                    {
                         if(player.getHeldItemMainhand() != null && player.getHeldItemMainhand().getItem() == ItemsMod.supT)
                         {
                             player.inventory.setInventorySlotContents(new ItemStack(ItemsMod.dust));
                         }
                
                         else
                         {
                             player.addChatMessage(new TextComponentString("L item n est pas le bon"));
                         }
                    }
                
                }
                

                il manque quelque chose entre setInventorySlotContents et new Item stack …

                Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                1 réponse Dernière réponse Répondre Citer 0
                • DeletedD Hors-ligne
                  Deleted
                  dernière édition par

                  Oui, l’index du slot concerné, qu’on obtient grâce à la variable currentItem, précédemment énoncé.

                  1 réponse Dernière réponse Répondre Citer 0
                  • TituyaT Hors-ligne
                    Tituya
                    dernière édition par

                    comme ça ?

                    
                    package com.tuto.mod.blocks;
                    
                    import com.tuto.mod.init.ItemsMod;
                    
                    import net.minecraft.block.Block;
                    import net.minecraft.block.material.Material;
                    import net.minecraft.block.state.IBlockState;
                    import net.minecraft.entity.item.EntityItem;
                    import net.minecraft.entity.player.EntityPlayer;
                    import net.minecraft.item.ItemStack;
                    import net.minecraft.util.EnumFacing;
                    import net.minecraft.util.math.BlockPos;
                    import net.minecraft.util.text.TextComponentString;
                    import net.minecraft.util.text.TextComponentTranslation;
                    import net.minecraft.util.text.TextFormatting;
                    import net.minecraft.world.World;
                    
                    public class MachineMod extends Block
                    {
                    
                        public MachineMod(Material materialIn)
                        {
                            super(materialIn);
                            setResistance(3F);
                            setHardness(3F);
                            setHarvestLevel("pickaxe", 1);
                        }
                    
                        public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ)
                        {
                             if(player.getHeldItemMainhand() != null && player.getHeldItemMainhand().getItem() == ItemsMod.supT)
                             {
                                 player.inventory.setInventorySlotContents(player.inventory.currentItem, new ItemStack(ItemsMod.dust));
                             }
                    
                             else
                             {
                                 player.addChatMessage(new TextComponentString("L'item n'est pas le bon"));
                             }
                        }
                    
                    }
                    
                    

                    Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                    1 réponse Dernière réponse Répondre Citer 0
                    • InfiniteI Hors-ligne
                      Infinite
                      dernière édition par

                      Je teste et je te réponds
                      Essaye de faire ça :

                      
                      player.inventory.setInventorySlotContents(player.inventory.currentItem, new ItemStack(ItemsMod.dust));
                      
                      

                      Mes Sites(Mes Sites)
                      |
                      |    Site général : Game & play
                      |   Site de projets (en dev !) :Infinite's Ressources
                      J'ai et je suis content d'avoir 16,75 points d'ICRating

                      1 réponse Dernière réponse Répondre Citer 0
                      • TituyaT Hors-ligne
                        Tituya
                        dernière édition par

                        non ça ne fonctionne pas, ce n’est pas ça alors… je vois pas vraiment quoi mettre en tant qu’index


                        C’est exactement ce que j’ai mit avant ;D Et sinon non toujours pas 😢

                        Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                        1 réponse Dernière réponse Répondre Citer 0
                        • InfiniteI Hors-ligne
                          Infinite
                          dernière édition par

                          Moi de mon coté en 1.7.10 l’item est remplacé pendant un millième de seconde
                          et toi ?

                          Mes Sites(Mes Sites)
                          |
                          |    Site général : Game & play
                          |   Site de projets (en dev !) :Infinite's Ressources
                          J'ai et je suis content d'avoir 16,75 points d'ICRating

                          1 réponse Dernière réponse Répondre Citer 0
                          • TituyaT Hors-ligne
                            Tituya
                            dernière édition par

                            Je ne peu pas lancer le jeu ! c’est ça le probleme ;D
                            la fonction OnBlockActivated demande un return en false, ce qui ne fonctionne alors pas :d

                            Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                            1 réponse Dernière réponse Répondre Citer 0
                            • InfiniteI Hors-ligne
                              Infinite
                              dernière édition par

                              Crash report ?

                              EDIT : essaie de retourner en true

                              Mes Sites(Mes Sites)
                              |
                              |    Site général : Game & play
                              |   Site de projets (en dev !) :Infinite's Ressources
                              J'ai et je suis content d'avoir 16,75 points d'ICRating

                              1 réponse Dernière réponse Répondre Citer 0
                              • TituyaT Hors-ligne
                                Tituya
                                dernière édition par

                                Ok deja le jeu ce lance, c’est bien ça ! j’avais juste mal fait ma déclaration de block, deux block register au meme id …
                                Mais en jeu, cela ne fait absolument rien … meme pas le message
                                Je rappelle

                                package com.tuto.mod.blocks;
                                
                                import com.tuto.mod.init.ItemsMod;
                                
                                import net.minecraft.block.Block;
                                import net.minecraft.block.material.Material;
                                import net.minecraft.block.state.IBlockState;
                                import net.minecraft.entity.item.EntityItem;
                                import net.minecraft.entity.player.EntityPlayer;
                                import net.minecraft.item.ItemStack;
                                import net.minecraft.util.EnumFacing;
                                import net.minecraft.util.math.BlockPos;
                                import net.minecraft.util.text.TextComponentString;
                                import net.minecraft.util.text.TextComponentTranslation;
                                import net.minecraft.util.text.TextFormatting;
                                import net.minecraft.world.World;
                                
                                public class MachineMod extends Block
                                {
                                
                                    public MachineMod(Material materialIn)
                                    {
                                        super(materialIn);
                                        setResistance(3F);
                                        setHardness(3F);
                                        setHarvestLevel("pickaxe", 1);
                                    }
                                
                                    public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ)
                                    {
                                         if(player.getHeldItemMainhand() != null && player.getHeldItemMainhand().getItem() == ItemsMod.supT)
                                         {
                                             player.inventory.setInventorySlotContents(player.inventory.currentItem, new ItemStack(ItemsMod.dust));
                                         }
                                
                                         else
                                         {
                                             player.addChatMessage(new TextComponentString("L'item n'est pas le bon"));
                                         }
                                    }
                                
                                }
                                

                                Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                                1 réponse Dernière réponse Répondre Citer 0
                                • InfiniteI Hors-ligne
                                  Infinite
                                  dernière édition par

                                  rajoute un return true  avant la dernière accolade

                                  Mes Sites(Mes Sites)
                                  |
                                  |    Site général : Game & play
                                  |   Site de projets (en dev !) :Infinite's Ressources
                                  J'ai et je suis content d'avoir 16,75 points d'ICRating

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • TituyaT Hors-ligne
                                    Tituya
                                    dernière édition par

                                    Je l’ai deja fait avant et ca ne fonctionne pas, c’est pour ça que je l’ai delete

                                    Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • InfiniteI Hors-ligne
                                      Infinite
                                      dernière édition par

                                      Essaie de le mettre et envoie moi ton crash report

                                      Mes Sites(Mes Sites)
                                      |
                                      |    Site général : Game & play
                                      |   Site de projets (en dev !) :Infinite's Ressources
                                      J'ai et je suis content d'avoir 16,75 points d'ICRating

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • TituyaT Hors-ligne
                                        Tituya
                                        dernière édition par

                                        Je n’ai pas de crash, Ni d’erreur dans les logs …

                                        Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

                                          Ajoutes un @Override au dessus de la fonction, si tu as une erreur tu n’as pas les bon arguments.

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • TituyaT Hors-ligne
                                            Tituya
                                            dernière édition par

                                            Avec ou sans le return ?

                                            Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB