MFF

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

    Effet de lenteur sous l'eau

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    53 Messages 7 Publieurs 8.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.
    • AymericRedA Hors-ligne
      AymericRed
      dernière édition par

      Mets un System.out.println pour voir si c’est bien appelé.

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

        @‘AymericRed’:

        Mets un System.out.println pour voir si c’est bien appelé.

        J’ai essayer de mon côté l’event marche bien mais en fait le truc c’est que sa modifie ton walkspeed quand tu sors de l’eau ^^
        Essaye un walkspeed de 3.0F marche dans l’eau puis sort sur la terre tu vas voir que sa l’applique une fois hors de l’eau et quand tu re rentre dans l’eau tu es encore slow

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

          Ah ça ne mache pas dans l’eau, il y a peut-être une fonction setSwimSpeed (je pense pas mais bon), je regarderais tout à l’heure.

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

            Mon event est bien appeler mais ca marche pas

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

              event.entity.motionX *= nouvelle valeur
              event.entity.motionY *= nouvelle valeur
              event.entity.motionZ *= nouvelle valeur

              Si je t'ai filé un coup de main n'oublie pas le + / -
              Par contre évite les demandes d'aides en MP, tu sera sympa'

              La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

              Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

              1 réponse Dernière réponse Répondre Citer 1
              • GabsG Hors-ligne
                Gabs
                dernière édition par

                @‘ZeAmateis’:

                event.entity.motionX *= nouvelle valeur
                event.entity.motionY *= nouvelle valeur
                event.entity.motionZ *= nouvelle valeur

                +1

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

                  T’a multiplié motionY par quoi ?

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

                    @‘AymericRed’:

                    T’a multiplié motionY par quoi ?

                    j’ai rien dis 🙂

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

                      Je sais plus si c’est += ou *= et tu met un double il me semble teste tu verra

                      Si je t'ai filé un coup de main n'oublie pas le + / -
                      Par contre évite les demandes d'aides en MP, tu sera sympa'

                      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                        @‘ZeAmateis’:

                        Je sais plus si c’est += ou *= et tu met un double il me semble teste tu verra

                        avec += il avance tout seul ^^ avec *= ça marche mais genre c’est bugger peu.

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

                          Sinon if(motionY > 0) motionY += machin truc; et if(motionY < 0) motionY -= machin truc;

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

                            [font=Source Code Pro*@SubscribeEvent
                            *]public void onLiving(LivingEvent.LivingUpdateEvent *event*)
                            {
                               if (*event*.entity.isInWater())
                               {
                                   *event*.entity.motionX += 1%(#aaa9a7)[;
                            ]        *event*.entity.motionZ += 1%(#aaa9a7)[;
                            ]    }
                            }
                            

                            Marche pas : je vais plus vite sur terre mais dans l’eau je peu pas me deplacer en X et Z

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

                              Ce n’est pas +, c’est x
                              Donc remplace cela par event.entity.motionX*= 1.3F et pareil pour l’axe z

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

                                J’avance tout seul dans l’eau et je vait plus vite sur terre et dans l’eau 😕

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

                                  Faut pas oublier d’ajouter un else avec motionX*=1; et motionZ*=1; pour éviter que le joueur conserve sa vitesse hors de l’eau.

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

                                    @‘Plaigon’:

                                    Faut pas oublier d’ajouter un else avec motionX*=1; et motionZ*=1; pour éviter que le joueur conserve sa vitesse hors de l’eau.

                                    Pas besoin le motion est mis à jour à chaque tick

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

                                      @‘Plaigon’:

                                      Ce n’est pas +, c’est x
                                      Donc remplace cela par event.entity.motionX*= 1.3F et pareil pour l’axe z

                                      ça marche nickel sa modifie bien la motion du joueur mais le soucis c’est que le joueur avance tout seul après ^^.

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

                                        Envoi le code

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

                                          [font=Source Code Propublic class ]%(#345f99)[WaterEventHandler
                                          ]{
                                             %(#278c3c)[*@SubscribeEvent
                                          *]    public void onPlayerBreakBlock(PlayerEvent.BreakSpeed *event*)
                                             {
                                                 if (*event*.entityPlayer.isInWater())
                                                 {
                                                     *event*.newSpeed = *event*.newSpeed %(#aaa9a7)*   5%(#aaa9a7)[;
                                              ]        }
                                                 }
                                          
                                                 %(#278c3c)[*@SubscribeEvent
                                              *]    public void onLiving(LivingEvent.LivingUpdateEvent *event*)
                                                 {
                                                     if (*event*.entity.isInWater())
                                                     {
                                                         *event*.entity.motionX %(#aaa9a7)*   1.3F%(#aaa9a7)[;
                                              ]            *event*.entity.motionZ %(#aaa9a7)*   1.3F%(#aaa9a7)[;
                                              ]        }
                                                     %(#0187df)[else
                                              ]        {
                                          
                                                     }
                                                 }
                                              }
                                              ```
                                          1 réponse Dernière réponse Répondre Citer 0
                                          • SCAREXS Hors-ligne
                                            SCAREX
                                            dernière édition par

                                            Alors, petite explication du code :

                                            • au premier tick le motion est égal à 1, ta fonction est appelée donc le motion vaut 1.3
                                            • au deuxième tick le motion vaut 1.3, ta fonction est appelée donc le motion vaut 1.69
                                            • etc
                                              donc le motion grandit de plus en plus ce qui fait qu’à la fin ton joueur avance tout seul, j’ai donc recopié le code de la 1.8 pour l’enchantement depthrider pour que le code soit correcte.

                                            J’ai d’ailleurs trouvé un petit bug dans ton code : lorsque le joueur est totalement plongé sous l’eau, sa vitesse de minage diminue, j’ai donc corrigé ça aussi :

                                            public class WaterEventHandler
                                            {
                                            @SubscribeEvent
                                            public void onPlayerBreakBlock(PlayerEvent.BreakSpeed event) {
                                            if (event.entityPlayer.isInWater()) {
                                            float f = 5;
                                            if (event.entityPlayer.isInsideOfMaterial(Material.water) && !EnchantmentHelper.getAquaAffinityModifier(event.entityPlayer)) // condition si le joueur est totalement immergé
                                            {
                                            f *= 5.0F;
                                            }
                                            event.newSpeed = event.newSpeed * f;
                                            }
                                            }
                                            
                                            @SubscribeEvent
                                            public void onLiving(LivingEvent.LivingUpdateEvent event) {
                                            EntityLivingBase living = event.entityLiving;
                                            if (living.isInWater() && (!(living instanceof EntityPlayer) || !((EntityPlayer) living).capabilities.isFlying)) {
                                            double d0 = living.posY;
                                            float f4 = 0.8F;
                                            float f5 = 0.02F;
                                            float f6 = 3F; // C'est cette valeur là qui indique le depthrider, si tu veut l'augmenter il te faut supprimer la condition qui suit
                                            
                                            if (f6 > 3.0F) {
                                            f6 = 3.0F;
                                            }
                                            
                                            if (!living.onGround) { // Si le joueur ne touche pas le sol, alors on divise la vitesse par 2, tu peux supprimer cette condition si tu en as envie
                                            f6 *= 0.5F;
                                            }
                                            
                                            if (f6 > 0.0F) {
                                            f4 += (0.54600006F - f4) * f6 / 3.0F;
                                            f5 += (living.getAIMoveSpeed() * 1.0F - f5) * f6 / 3.0F;
                                            }
                                            
                                            living.moveFlying(living.moveStrafing, living.moveForward, f5);
                                            living.moveEntity(living.motionX, living.motionY, living.motionZ);
                                            living.motionX *= (double) f4;
                                            living.motionY *= 0.800000011920929D;
                                            living.motionZ *= (double) f4;
                                            
                                            if (living.isCollidedHorizontally && living.isOffsetPositionInLiquid(living.motionX, living.motionY + 0.6000000238418579D - living.posY + d0, living.motionZ)) {
                                            living.motionY = 0.30000001192092896D;
                                            }
                                            }
                                            }
                                            }
                                            
                                            

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB