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.2k 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.
    • 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