MFF

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

    [Abandonné] Active Item

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.9
    15 Messages 5 Publieurs 3.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.
    • J Hors-ligne
      Jodge
      dernière édition par

      @‘LeBossMax2’:

      Je pence que la réponse est simple : (si je me trompe pas) on ne peut attaquer que avec la main principale donc tu peut utiliser directement :

      ((EntityLivingBase)entity).getItemStackFromSlot(EntityEquipmentSlot.MAINHAND)
      

      Oui et non. C’est exacte que l’on ne peu frapper que avec la main principal, mais l’arc (ou de façon plus commune, toutes les armes de jet), lui, peut être utilisé des deux mains 😕

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

        player.getCurrentUsingHand je crois, sinon regarde dans l’event si tu n’as pas quelque chose qui donne accès

        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
        • AymericRedA Hors-ligne
          AymericRed
          dernière édition par

          Juste une question, à quoi cela va te servir de savoir de quelle main est partie la flèche ? Car si le joueur à un arc dans sa main principale, la main gauche ne sera pas utilisée et ducoup tu as juste à tester si l’item de la main principale “utilise” le clic gauche.

          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

            [size=smallplayer.getCurrentUsingHand je crois, sinon regarde dans l’event si tu n’as pas quelque chose qui donne accès]

            La fonction doit fonctionner avec EntityLivingBase comme plus haut niveau commun (monstre, golem, player). Il ne faut donc aucune fonction spécifique a une classe de plus haut niveau…

            [size=smallJuste une question, à quoi cela va te servir de savoir de quelle main est partie la flèche ? Car si le joueur à un arc dans sa main principale, la main gauche ne sera pas utilisée et ducoup tu as juste à tester si l’item de la main principale “utilise” le clic gauche.]

            Contre exemple : tien dans ta main secondaire une potion, et dans ta main principal un objet avec cooldown (vanilla tu a l’enderpearl). Spawn clic gauche. Lorsque l’objet est en “recharge” c’est l’autre qui est utilisé.
            Alors vanilla, je l’avoue ça n’as pas d’importance. Mais prenons le mod Tinker’s (que j’utilise dans mes test) si tu prend deux armes de lancé différentes dans chaque main et que tu spam clic, tu utilisera l’un puis l’autres…

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

              Regarde les variables disponibles dans l’event. Mais il me semble que les 2 mains ne sont disponibles que pour les joueurs

              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
              • J Hors-ligne
                Jodge
                dernière édition par

                @‘SCAREX’:

                Regarde les variables disponibles dans l’event. Mais il me semble que les 2 mains ne sont disponibles que pour les joueurs

                Les deux mains sont disponible dès EntityLivingBase (et peu être même un cran au dessous). En revanche, il n’existe (à ma connaissance) aucun monstre vanilla qui puissent nativement utilisé la 2nd main.

                Concernant les variables, il n’y a pas grand chose : DamageSource et montant des dégâts (float). Damage sources me donne l’entité attaquante, et si il s’agit de dégat de type ‘thorns’ ou non.

                L’utilisation de :

                ((EntityLivingBase)attacker).getHeldItemMainhand();
                

                n’est qu’une réduction permettant d’obtenir la main principal. Mojang a considérer que les monstres n’utiliseraient que leurs mains principal. Mais cela ne change rien au problème à la fois pour le joueurs, et les monstres moddée ambidextre.

                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

                  EntityLivingBase:2692 :

                     public EnumHand getActiveHand()
                     {
                         return (((Byte)this.dataManager.get(HAND_STATES)).byteValue() & 2) > 0 ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND;
                     }
                  

                  Et ensuite :
                  EntityLivingBase:1611 :

                     @Nullable
                     public ItemStack getHeldItem(EnumHand hand)
                     {
                         if (hand == EnumHand.MAIN_HAND)
                         {
                             return this.getItemStackFromSlot(EntityEquipmentSlot.MAINHAND);
                         }
                         else if (hand == EnumHand.OFF_HAND)
                         {
                             return this.getItemStackFromSlot(EntityEquipmentSlot.OFFHAND);
                         }
                         else
                         {
                             throw new IllegalArgumentException("Invalid hand " + hand);
                         }
                     }
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • SCAREXS Hors-ligne
                    SCAREX
                    dernière édition par

                    Sinon tu as EntityLivingBase.getActiveItemStack

                    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
                    • J Hors-ligne
                      Jodge
                      dernière édition par

                      Si tu parlais d’utiliser :

                      ((EntityLivingBase)attacker).getHeldItem(((EntityLivingBase)attacker).getActiveHand());
                      

                      alors non. Cela me retourne l’élément courant dans ma main principal, même si je tire a l’arc avec l’autre…

                      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

                        Pourtant cette fonction est sensé retourner l’item que le joueur utilise actuellement.

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

                          @‘robin4002’:

                          Pourtant cette fonction est sensé retourner l’item que le joueur utilise actuellement.

                          C’est peu être dus à l’intervalle entre le moment ou le projectile par et atteint sa cible ?

                          EDIT : remarque ce serait logique : un bug de minecraft permet de profité du looting d’une épée en switchant la main dessus après avoir lancé une potion.

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

                            Si tu veux quelque chose de particulier pour les flèches il va falloir récupérer le moment où le joueur tire et ça devient plus complexe, au passage je te rappelle qu’une flèche ne vient pas forcément d’une entité mais peut venir de n’importe où

                            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
                            • J Hors-ligne
                              Jodge
                              dernière édition par

                              Bon… alors d’après mes observations, ce n’est, à l’heure actuel, et sans développer une fonctionnalité tierce, pas possible, puisque Minecraft ne le gère pas.

                              Etant donné que c’est un cas peu présent, assez lourds à régler, et que j’ai d’autres priorités plus gênantes, je met pour le moment en stand-by ce problème. Il passe donc en abandonné.

                              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