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

    Résolu Recherche une fonction

    1.7.x
    1.7.10
    4
    15
    3062
    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.
    • mathmatboy
      mathmatboy dernière édition par

      Version : 1.7.10

      API utilisée(s) : Forge
      Recherche(s) effectuée(s) : MinecraftForgeFrance, google, etc…

      Explication du problème : je cherche la fonction que quand le player fait click droit, sa ouvre un Gui

      J’ai chercher un peu mais la seule chose j’ai trouver ses sa :

      ​    /**
      
          * Called upon block activation (right click on the block.)
          */
         public boolean onBlockActivated(World p_149727_1_, int p_149727_2_, int p_149727_3_, int p_149727_4_, EntityPlayer p_149727_5_, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_)
         {
             if (p_149727_1_.isRemote)
             {
                 return true;
             }
             else
             {
                 p_149727_5_.displayGUIWorkbench(p_149727_2_, p_149727_3_, p_149727_4_);
                 return true;
             }
         }
      

      Code(s) :

      Pour les curieux, je veux faire un block que quand tu fait Click droit, sa t’ouvre un Gui qui va permettre de vous téléporter ou au spawn etc…

      1 réponse Dernière réponse Répondre Citer 0
      • jglrxavpok
        jglrxavpok Modérateurs dernière édition par

        ​player.openGui(instanceDuMod, idDuGui, posX, posY, posZ);
        

        Ou quelque chose de similaire….

        On retrouve assez souvent ce morceau de code sur le forum, tu as du mal chercher.

        Modérateur sur MFF. 
        Mon Github: http://github.com/jglrxavpok
        Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

          Je vais regarder sa désoler, je du faire une mauvaise recherche.

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

            il vaut mieux utiliser la fonction de forge : player.displayGuiScreen

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

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

              player.openGui vient de FML. Elle peut être utilisé côté serveur et nécessite un gui handler. Le paquet est géré par cette fonction de façon transparente.
              minecraft.displayGuiScreen vient de Minecraft, pas de Forge. Elle ne peut que être utilisé côté client, et elle est a privilégier uniquement si il n’y a pas de container associé au screen. Si l’action déclencheur est côté serveur, il faut utiliser un paquet, ou alors utiliser plutôt la fonction openGui.

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

                J’ai trouver sa est-ce-que c’est la fonction qui me faut ?

                ​    @SideOnly(Side.CLIENT)
                
                   @Override
                   public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player) 
                   {
                    if(world.isRemote)
                    {
                    Minecraft.getMinecraft().displayGuiScreen(new GuiMod());
                    }
                    return super.onItemRightClick(item, world, player);
                    }
                

                Je prend tu cette fonction player.openGui ou player.displayGuiScreen

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

                  @‘mathmatboy’:

                  J’ai trouver sa est-ce-que c’est la fonction qui me faut ?

                     @SideOnly(Side.CLIENT)
                  
                     @Override
                     public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player) 
                     {
                      if(world.isRemote)
                      {
                      Minecraft.getMinecraft().displayGuiScreen(new GuiMod());
                      }
                      return super.onItemRightClick(item, world, player);
                      }
                  

                  Je prend tu cette fonction player.openGui ou player.displayGuiScreen

                  Ici tu es seulement côté client donc pas de problèmes.

                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                  Pas de demandes de support par MP ni par skype SVP.
                  Je n'accepte sur skype que l…

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

                    Ouais c’est pour le client mais j’ai une erreur avec le return

                    The method onBlockRightClick(ItemStack, World, EntityPlayer) is undefined for the type Block

                    ​     return super.onBlockRightClick(item, world, player);
                    
                    1 réponse Dernière réponse Répondre Citer 0
                    • SCAREX
                      SCAREX dernière édition par

                      @‘mathmatboy’:

                      Ouais c’est pour le client mais j’ai une erreur avec le return

                      The method onBlockRightClick(ItemStack, World, EntityPlayer) is undefined for the type Block

                          return super.onBlockRightClick(item, world, player);
                      

                      Ton code est appelé sur un bloc ou un item ?

                      Si c’est un bloc :

                      
                      onBlockActivated
                      //Si c'est un Item :
                      onItemRightClick
                      
                      

                      Il existe d’autres fonctions mais elles sont moins recommandées.

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

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

                        Rien fonctionne.

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

                          @‘mathmatboy’:

                          Rien fonctionne.

                          Enlève l’annotation SideOnly.

                          Est-ce un Item ou un block ?

                          EDIT : Tu as les mauvais arguments, voici les bons : World, int (x), int (y), int (z), EntityPlayer (joueur), int (metadata), float (hit X), float (hit Y), float (hit Z).

                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                          Pas de demandes de support par MP ni par skype SVP.
                          Je n'accepte sur skype que l…

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

                            C’est un block, merci de l’aide, j’go tester sa

                            EDIT c’est pire : 

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

                              @‘mathmatboy’:

                              C’est un block, merci de l’aide, j’go tester sa

                              Petit conseil pour réécrire les fonctions : fait Alt + shift + s puis “override or implement methods”, grâce à çà tu n’auras plus de problèmes avec les arguments.

                              Site web contenant mes scripts : http://SCAREXgaming.github.io

                              Pas de demandes de support par MP ni par skype SVP.
                              Je n'accepte sur skype que l…

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

                                Merci je check sa

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

                                  Problème résolu, pour ceux qui veule le code voila :

                                  ​    @SideOnly(Side.CLIENT)
                                  
                                  @Override
                                  public boolean onBlockActivated(World p_149727_1_, int p_149727_2_,
                                  int p_149727_3_, int p_149727_4_, EntityPlayer p_149727_5_,
                                  int p_149727_6_, float p_149727_7_, float p_149727_8_,
                                  float p_149727_9_) {
                                         if(p_149727_1_.isRemote)
                                         {
                                         Minecraft.getMinecraft().displayGuiScreen(new GuiTeleporteur());
                                         }
                                  return super.onBlockActivated(p_149727_1_, p_149727_2_, p_149727_3_,
                                  p_149727_4_, p_149727_5_, p_149727_6_, p_149727_7_, p_149727_8_,
                                  p_149727_9_);
                                  }
                                  
                                  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