MFF

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

    Lance

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    17 Messages 6 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.
    • XeNeX Hors-ligne
      XeNe
      dernière édition par

      oui justement il y a une fonction qui j’ai essayer,elle ne marche pas

      Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

      1 réponse Dernière réponse Répondre Citer 0
      • BrokenSwingB Hors-ligne
        BrokenSwing Moddeurs confirmés Rédacteurs
        dernière édition par

        Il fait tout là dedans, à chaque tick il vérifie si swingProgressInt == 1 (sûrement le mouvement du bras lorsque l’on frappe et 1 doit désigner la fin du mouvement) après il vérifie si le joueur à un item dans sa main qui implémente IExtendedReachItem et dans ce cas il récupère l’entité visé jusqu’à un maximum de “getExtendedReach” blocs devant le joueurs et il l’attaque si elle est pas nul (l’entité et en fait une MovingObjectPosition mais bon)
        https://github.com/Ckathode/balkons-weaponmod/blob/cda820ed2a5e2a3682f3846f3d89283803415141/src/main/java/ckathode/weaponmod/WMClientEventHandler.java

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

          Je pense qu’il y a plus simple :

              protected MovingObjectPosition getMovingObjectPositionFromPlayer(World worldIn, EntityPlayer playerIn, boolean useLiquids)
              {
                  float f = playerIn.prevRotationPitch + (playerIn.rotationPitch - playerIn.prevRotationPitch);
                  float f1 = playerIn.prevRotationYaw + (playerIn.rotationYaw - playerIn.prevRotationYaw);
                  double d0 = playerIn.prevPosX + (playerIn.posX - playerIn.prevPosX);
                  double d1 = playerIn.prevPosY + (playerIn.posY - playerIn.prevPosY) + (double)playerIn.getEyeHeight();
                  double d2 = playerIn.prevPosZ + (playerIn.posZ - playerIn.prevPosZ);
                  Vec3 vec3 = new Vec3(d0, d1, d2);
                  float f2 = MathHelper.cos(-f1 * 0.017453292F - (float)Math.PI);
                  float f3 = MathHelper.sin(-f1 * 0.017453292F - (float)Math.PI);
                  float f4 = -MathHelper.cos(-f * 0.017453292F);
                  float f5 = MathHelper.sin(-f * 0.017453292F);
                  float f6 = f3 * f4;
                  float f7 = f2 * f4;
                  double d3 = 5.0D;
                  if (playerIn instanceof net.minecraft.entity.player.EntityPlayerMP)
                  {
                      d3 = ((net.minecraft.entity.player.EntityPlayerMP)playerIn).theItemInWorldManager.getBlockReachDistance();
                  }
                  Vec3 vec31 = vec3.addVector((double)f6 * d3, (double)f5 * d3, (double)f7 * d3);
                  return worldIn.rayTraceBlocks(vec3, vec31, useLiquids, !useLiquids, false);
              }
          

          Cette fonction est dans la classe Item et d’après ce que j’ai compris, d3 est ce que tu cherches, tu n’as plus qu’à Override la fonction et changer d3.

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

            @AymericRed –> non ça marche pas D::

            je vais essayer de faire comme dans l’autre mod…

            Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

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

              Oui essaye plutôt comme ça, parce qu’en fait c’est juste pour les blocs et c’est autre chose pour les entitées (qui n’est pas modifiable) 🙂

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

                Ouais non j’ai essayer et ça n’a pas marcher…. hmm je vois pas d’où ça peut venir(c’est surtout ça le probleme quand on utilise le code d’une autre personne lel)

                Enfin Bref…je crois que je vais plutot abandonnée pour ce coté la.

                Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

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

                  Crées ton raycast entity, dans la méthode onUpdate de ton item, tu check si l’entity observée par le joueur n’est pas null et si [font=Ubuntu, sans-serifswingProgressInt == 1 (j’ai pas vérifié si ça indiquait vraiment les moments où le joueur frappait ou pas). Sinon à la place de swingProgressInt == 1, tu peux te placer dans l’event MouseEvent et vérifier quand le clic gauche est appuyé. Si toutes ces conditions sont réunies, tu vérifies les coords de l’entity en question et celles du joueur de manière a calculer la distance qui vous sépare. Ainsi tu pourras ou pas lui infliger des dégâts via la méthode attackEntityFrom =)]

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

                    Ou sinon une autre méthode, plus simple, tu remplace le PlayerControllerMP de Minecraft et tu modifie la valeur de la fonction getBlockReachDistance en fonction de l’item (testé et ça marche très bien)

                    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
                    • robin4002R Hors-ligne
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                      dernière édition par

                      C’est peut-être même possible via réflexion. Plus simple que remplacer une classe et plus propre.

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

                        Oui pas faux mais comme j’ai pas trop de connaissances là dedans… 🙂

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

                          Occupe toi déjà de la dessiner dans l’event, ensuite on verra pour le reste.

                          1 réponse Dernière réponse Répondre Citer 0
                          • BrokenSwingB Hors-ligne
                            BrokenSwing Moddeurs confirmés Rédacteurs
                            dernière édition par

                            Tu parles de la main là ?! Mdr 😛 C’est pas le même sujet

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

                              Oups, je suis vraiment paumé moi ^^’

                              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