MFF

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

    [1.12.2] Touche personnalisé sous conditions crash

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    9 Messages 2 Publieurs 477 Vues 2 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.
    • ScoulouneS Hors-ligne
      Scouloune
      dernière édition par

      Bonjour !
      Je souhaite créer une touche personnalisé (ici , ‘B’), j’aimerais que la touche envoie un message dans le chat sous la condition que le joueur est une armure particulière , ici, un sac à dos ( pour la suite ouvrir un container que je n’ai pas encore créer).
      j’ai donc fait ;

      	@SubscribeEvent
      	    public void onEvent(KeyInputEvent event)
      	    {
      	        if(keyBindBackpack.isPressed())
      	        {
      	        	if(player.inventory.armorItemInSlot(2) != null )
      	        	{
      	            keyTestTyped();
      	        }
      	       }
      	    }
      	 
      	    private void keyTestTyped()
      	    {
      	
      	    		Minecraft.getMinecraft().player.sendChatMessage("test");
      	    	
      	    }
      

      (Ceci est dans mon ClientProxy)

      Seul problème, le jeu se lance mais dès que j’appuie sur B le jeu crash avec cette erreur :

      https://pastebin.com/BJh71kyk

      J’avoue ne pas comprendre l’erreur, j’aimerais aussi savoir comment faire pour dire que je veux que ce soit l’item “backpack” dans l’armor ItemSlot et non pas juste une condition pour voir si il y a quelquechose d’équipé…

      Merci d’avoir pris le temps de lire !

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

        @Scouloune a dit dans [1.12.2] Touche personnalisé sous conditions crash :

        if(keyBindBackpack.isPressed())

              {
        
              	if(player.inventory.armorItemInSlot(2) != null )
        
              	{
        
                  keyTestTyped();
        
              }
        

        j’ai aussi essayé :
        if(keyBindBackpack.isPressed() && player.inventory.armorItemInSlot(2) != null)
        {
        keyTestTyped();
        }

        ça ne fonctionne pas

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

          J’ai trouvé ! Je le donne ça pourrais être utile à des gens :

           if(keyPersonnalisé.isPressed() && Minecraft.getMinecraft().player.inventory.armorItemInSlot(2).getItem() == ModItems.VOTRE_ITEM)
          	        {      
          	        	keyPressed();
          	        }
          1 réponse Dernière réponse Répondre Citer 0
          • pazzazzoP Hors-ligne
            pazzazzo
            dernière édition par

            tu peut donner le code entier stp

            Clique sur ^ en bas a droite de de mon message s'il te plait

            ScoulouneS 1 réponse Dernière réponse Répondre Citer 0
            • ScoulouneS Hors-ligne
              Scouloune @pazzazzo
              dernière édition par Scouloune

              @pazzazzo

              (TOUT DANS TON CLIENTPROXY !)
              pour créer la touche :

              tout en haut tu déclares

              private static Keybinding nom_de_ta_touche;
              

              ensuite dans ton ClientProxy :

              MinecraftForge.EVENT_BUS.register(this);
              nom_de_ta_touche = new KeyBinding("nom.key",Keyboard.KEY_(tu choisis celle que tu souhaites),"key.categories.gameplay");
              ClientRegistry.registerKeyBinding(nom_de_ta_touche);
              

              ensuite tu vas créer une fonction pour vérifier que tu à appuyer sur ta touche :

              @SubscribeEvent
              public void onEvent(KeyInputEvent event)
              {
              if(nom_de_ta_touche.isPressed())
                    {
                           keyTestTyped();
                    }
              }
              

              ensuite, une fonction pour savoir quesque ta touche doit faire :

              private void keyTestTyped(); 
              {
                 //ton action ici , par exemple tu veux envoyer un message dans le chat quand tu appuies sur ta touche :
              
              Minecraft.getMinecraft().player.sendChatMesssage("ma touche personnalisé fonctionne");
              }
              

              Voilà ! J’éspère avoir été clair ! 🙂
              Désolé pour les quelques fautes… 😞

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

                je vais tester merciiii d’avance 😊

                Clique sur ^ en bas a droite de de mon message s'il te plait

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

                  Ha oui mais attends, le nom de la touche elle est configurable dans les paramètres?

                  Clique sur ^ en bas a droite de de mon message s'il te plait

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

                    sa me demande de créer la classe Keybinding

                    Clique sur ^ en bas a droite de de mon message s'il te plait

                    ScoulouneS 1 réponse Dernière réponse Répondre Citer 0
                    • ScoulouneS Hors-ligne
                      Scouloune @pazzazzo
                      dernière édition par

                      @pazzazzo Tu as discord ?
                      Scouloune #9522

                      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