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.4k Vues 1 Abonné
    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

      [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