• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Lance

    Sans suite
    1.7.10
    6
    17
    2957
    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.
    • XeNe
      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
      • BrokenSwing
        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
        • XeNe
          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
          • DiabolicaTrix
            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
            • XeNe
              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
              • BrokenSwing
                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
                • AymericRed
                  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
                  • XeNe
                    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
                    • AymericRed
                      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
                      • XeNe
                        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
                        • Deleted
                          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
                          • AymericRed
                            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
                            • robin4002
                              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
                              • AymericRed
                                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
                                • Deleted
                                  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
                                  • BrokenSwing
                                    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
                                    • Deleted
                                      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
                                      Contact / Mentions Légales

                                      MINECRAFT FORGE FRANCE © 2018

                                      Powered by NodeBB