MFF

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

    ReCréer un enchantement Death Strider

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    42 Messages 6 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.
    • M Hors-ligne
      mosca421
      dernière édition par

      Salut, j’ai un petit problème je voudrais essayer de recréer l’enchantement  Death Strider (permet d’aller plus vite dans l’eau)
      Mais je ne sais pas quel event appeler donc si vous avez deux trois idée je suis preneur 
      Merci

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

        Tu peux essayer avec le playerTickEvent

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

          Alors j’ai fais au mieux mais je ne vais pas plus vite sous l’eau =/ :

          package fr.serveur.mods;
          
          import cpw.mods.fml.common.eventhandler.SubscribeEvent;
          import cpw.mods.fml.common.gameevent.TickEvent.PlayerTickEvent;
          import net.minecraft.entity.EntityLivingBase;
          import net.minecraft.item.ItemStack;
          import net.minecraft.potion.Potion;
          import net.minecraft.potion.PotionEffect;
          import net.minecraft.world.World;
          import net.minecraftforge.event.entity.living.LivingHurtEvent;
          import net.minecraft.entity.player.EntityPlayer;
          
          public class Eventenchant {
          
          public void onplayeriswater(PlayerTickEvent event,EntityPlayer player, World world) {
          
             {
          
                     if (player.isInWater())
                     {
                         player.motionX *= 1.2D;
                         if (player.motionY > 0.0D)
                         {
                             player.motionY *= 1.2D;
                         }
                         player.motionZ *= 1.2D;
                         double maxSpeed = 0.2D;
                         if (player.motionX > maxSpeed)
                         {
                             player.motionX = maxSpeed;
                         }
                         else if (player.motionX < -maxSpeed)
                         {
                             player.motionX = -maxSpeed;
                         }
                         if (player.motionY > maxSpeed)
                         {
                             player.motionY = maxSpeed;
                         }
                         if (player.motionZ > maxSpeed)
                         {
                             player.motionZ = maxSpeed;
                         }
                         else if (player.motionZ < -maxSpeed)
                         {
                             player.motionZ = -maxSpeed;
                         }
                     }
                 }
          
          }
          
          public boolean hasEnchantment(ItemStack stack, int id) {
          boolean flag = false;
          if (stack.getEnchantmentTagList() != null) {
          for (int i = 0; i < stack.getEnchantmentTagList().tagCount(); i++) {
          if (stack.getEnchantmentTagList().getCompoundTagAt(i).getShort("140") == id) {
          flag = true;
          } else {
          flag = false;
          }
          }
          }
          return flag;
          }
          }
          
          
          1 réponse Dernière réponse Répondre Citer 0
          • SCAREXS Hors-ligne
            SCAREX
            dernière édition par

            ta fonction n’est pas enregistrée correctement, regarde le tutoriel sur les événements.

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

              @SubscribeEvent Je l’ai rajouter mais toujours rien =/

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

                Tu as enregistré la classe ?

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

                  MinecraftForge.EVENT_BUS.register(new Eventenchant());
                  Dans preinit

                  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

                    PlayerTickEvent est un event de FML, donc faut utiliser la méthode de FML.

                    Aussi, un seul argument pour les fonctions d’event :
                    public void onplayeriswater(PlayerTickEvent event,EntityPlayer player, World world) {
                    ->
                    public void onplayeriswater(PlayerTickEvent event) {
                    Utilises event.player et event.player.worldObj

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

                      Juste comme ça pense à la convention Java et renomme ta méthode d’event.

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

                        Ok merci ça marche mais juste une question je ne peux pas changer de sens si je ne m’arrête pas une idée ?

                        1 réponse Dernière réponse Répondre Citer 0
                        • elias54E Hors-ligne
                          elias54 Administrateurs
                          dernière édition par

                          Mh… tu peux toujours changer de manière brutale la vitesse du joueur comme ceci :

                          
                          event.player.getEntityAttributes(SharedMonsterAttributes.movementSpeed).setBaseValue(5D); //5D = un exemple de double
                          
                          

                          Mon site | GitHub

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

                            J’essaye de suite merci !

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

                              C’est moins efficace que mon ancien code le problème c’est que le FOV change mais pas le speed même si j’augmente 5D

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

                                Personne n’aurais une idée ?

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

                                  Quel est le problème ?
                                  Tu veux modifier la vitesse du joueur quand il est dans l’eau et qu’il a l’enchantement, c’est ça ?

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

                                    Yeap c’est tous a fais ça

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

                                      Alors il me semble que passer par les Events soit la meilleur solution

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

                                        xD pour info c’est se que je fais lis la page n°1

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

                                          J’avais lu la première page mais bon …
                                          Voilà un code, je ne sais pas si ça te conviendra :

                                          
                                          @SubscribeEvent
                                          public void onPlayerTick(PlayerTickEvent event)
                                          {
                                          EntityPlayer player = event.player;
                                          if(player.isInWater())
                                          {
                                          //Si il est dans l'eau on augmente sa vitesse de marche
                                          player.capabilities.setPlayerWalkSpeed(0.15F);
                                          }
                                          else
                                          {
                                          //Si il est pas dans l'eau on lui remet sa vitesse de marche normale
                                          player.capabilities.setPlayerWalkSpeed(0.1F);
                                          }
                                          }
                                          
                                          
                                          1 réponse Dernière réponse Répondre Citer 0
                                          • M Hors-ligne
                                            mosca421
                                            dernière édition par

                                            Au pire minecraft 1.8 n’a pas une classe sur laquelle je peux me baser pour le code ?

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 3 / 3
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB