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.1k 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

      Hello,je voudrais faire une lance,pas une lance de lancer 😛
      du coup j’ai chercher dans le code source et sur d’autre mod… j’ai rien trouvé ou alors les fonction ne marchaient pas…
      Bref je voudrais que ma lance touche 1 bloc plus loins que les items normal.
      Merci d’avance 😄

      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

        Tu veux dire que tu pourrai taper de plus loin ?

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

          Exactement, taper une entité plus loin que la normal…J’ai regardé le src de Balkons qui a une lance,a part une fonction que j’ai essayé qui marche pas,je vois pas comment il a fait…
          lien du github https://github.com/Ckathode/balkons-weaponmod/tree/master/src/main/java/ckathode/weaponmod/item

          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
          • DiabolicaTrixD Hors-ligne
            DiabolicaTrix Correcteurs Moddeurs confirmés
            dernière édition par

            Si tu parles du extended reach, ça vient de son interface IExtendedReachItem

            1 réponse Dernière réponse Répondre Citer 0
            • 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