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.
    • 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
                    • robin4002R Hors-ligne
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                      dernière édition par

                      Avec, une fonction de type boolean doit forcement avoir un return.

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

                        en return quoi ?
                        return true ?

                        et j’ai l’erreur avec le @Override, je ne vois pas pourquoi et comment changé ceci, je pense que cela vien de ça

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

                        mais je ne sais pas pourquoi ;C

                        le code actuel

                        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);
                            }
                        
                            @Override
                            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"));
                                 }
                                 return true;
                            }
                        
                        }
                        

                        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

                          Si tu as une erreur, c’est que tu n’as pas implémenté la bonne fonction, essaie de prendre la bonne cette fois-ci.
                          Si tu n’es pas sûr d’y arriver, tu peux aller dans Source -> Override/Implement methods…

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

                            je viens de regarder, il y a aussi la fonction onBlockClicked, est-elle mieux approprié ?
                            J’essaye quelque chose, je vous dit si cela fonctionne
                            [EDIT]
                            Cela fonctionne merci !
                            et par contre, quand je n’ai pas d’item ou le mauvais, cela spam le chat, il faudrait rajouter quelque chose apres du style attendre 1 seconde Mais comment faire ?

                            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

                              onBlockActivated -> Clic droit
                              onBlockClicked -> Clic gauche

                              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