MFF

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

    Recherche une fonction

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    15 Messages 4 Publieurs 3.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.
    • mathmatboyM Hors-ligne
      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
      • jglrxavpokJ Hors-ligne
        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
        • mathmatboyM Hors-ligne
          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
          • SCAREXS Hors-ligne
            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
            • robin4002R Hors-ligne
              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
              • mathmatboyM Hors-ligne
                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
                • SCAREXS Hors-ligne
                  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
                  • mathmatboyM Hors-ligne
                    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
                    • SCAREXS Hors-ligne
                      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
                      • mathmatboyM Hors-ligne
                        mathmatboy
                        dernière édition par

                        Rien fonctionne.

                        1 réponse Dernière réponse Répondre Citer 0
                        • SCAREXS Hors-ligne
                          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
                          • mathmatboyM Hors-ligne
                            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
                            • SCAREXS Hors-ligne
                              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
                              • mathmatboyM Hors-ligne
                                mathmatboy
                                dernière édition par

                                Merci je check sa

                                1 réponse Dernière réponse Répondre Citer 0
                                • mathmatboyM Hors-ligne
                                  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
                                  ContactMentions Légales

                                  MINECRAFT FORGE FRANCE © 2024

                                  Powered by NodeBB