• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Faire un stick qui bouge le joueur

    Sans suite
    1.7.10
    6
    14
    2271
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Infectiion21
      Infectiion21 last edited by

      Bonnnjour/Bonnnsoir !

      Juste pour commencer, OUIII je suis encore en 1.7.10 pour TESTER des choses, alors pas de commentaires au sujet de ma version de minecraft toute pourrite x)

      Alors voilà, j’ai essayé de créer un item qui ‘‘onItemRightClick’’ fait BOUGER le joueur, c’est à dire qu’il le fait sauter de quelques blocks et avancer en même temps pour faire une belle parabole. Le problème est que j’ai essayé toutes les combinaisons de player.motionX/Y/Z, player.move, etc. Rien ne marche et je ne comprend pas trop… Alors voilà.

      Je vous donne la classe de mon item (sachant que ma classe principale déclare mon item comme un item normal).

      package fr.breakfight.fatalymod.items;
      
      import com.sun.xml.internal.stream.Entity;
      
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemStack;
      import net.minecraft.potion.Potion;
      import net.minecraft.potion.PotionEffect;
      import net.minecraft.world.World;
      
      public class StickDeJump extends Item{
      
      public StickDeJump(){
      this.setMaxDamage(10);
      this.maxStackSize = 1;
      }
      
          @Override
          public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player)
          {
              if (!world.isRemote) // très important a ne pas oublié : le code qui se trouve dans cette condition sera executer que coté serveur. CECI EST TRES IMPORTANT 
              {
              player.moveEntity(10, 20, 0);
              player.motionX = 10;
              }
              itemStack.damageItem(1, player); //Ici, nous enlevons 1 de durabilité a l'item
              return itemStack;
          }
      
      }
      
      

      Je voulais aussi savoir, si c’est possible de mettre un jumpNoFall quand le joueur aura fini sa chute avec le stick. 
      Merci beaucoup ! 😄

      1 Reply Last reply Reply Quote 0
      • Pchom
        Pchom last edited by

        Mmh, je ne suis pas certain de pouvoir t’aider, mais j’avoue qu’il y a quelque chose qui me dérange.
        Déjà, quand tu dis que ça ne fonctionne pas, ça veut dire que quand tu fais clic droit il ne se passe rien, où que ça ne bouge pas comme tu le souhaites ? C’est complètement différent, et les sources du problèmes également.

        Pour le jumpNoFall, je n’en sais rien, mais tu pourrais vérifier que lorsque ton joueur prend des dégâts, ça ne soit pas à cause du stick, justement. Par exemple, tu as un bool que tu mets sur true quand tu fais clic droit, et quand ton joueur prend des dégâts, si ça vient de la chute, tu le mets sur false et annule les dégâts. Après faut penser qu’il est possible, selon la map, qu’il ne prenne pas de dégâts, ou que ça prenne plus de temps que prévu, …

        C’est tout ce que je peux te proposer, je ne suis pas très doué pour ça, mais c’est une piste à explorer, certes naïve, mais qui peut fonctionner.

        > *Si vous ne pouvez expliquer un concept à un enfant de six ans, c’est que vous ne le comprenez pas c…

        1 Reply Last reply Reply Quote 0
        • robin4002
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

          Le déplacement du joueur c’est géré côté client et le serveur est notifié des déplacements, donc il faudrait retirer le !world.isRemote.

          1 Reply Last reply Reply Quote 0
          • Deleted
            Deleted last edited by

            Et pour retirer les dégâts de chute, tu peux set la variable fallDistance à 0, peu avant la chute.

            1 Reply Last reply Reply Quote 0
            • Tituya
              Tituya last edited by

              Quelqu’un ayant lu mon tutoriel !!! :-3 <fête> 
              Sinon je suis d’accord avec robin, les mouvements ce font côté serveur. Et le fall, tu peu peut-être rajouter pendant 3 secondes l’effet résistance au joueur, comme ça pas de dégâts  :s</fête>

              Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

              1 Reply Last reply Reply Quote 0
              • Deleted
                Deleted last edited by

                Pas de dégât sûrement, mais très certainement l’animation de la prise de dommage (effet sur l’écran, son, barre des coeurs qui bouge, etc…), du coup pas très esthétique. Non, la seule solution est d’utiliser la variable fallDistance.

                1 Reply Last reply Reply Quote 0
                • Tituya
                  Tituya last edited by

                  Ouais j’y avais pas pensé pour la propreté des choses, je suis entièrement d’accord avec toi ! Pour la fallDistance

                  Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                  1 Reply Last reply Reply Quote 0
                  • Infectiion21
                    Infectiion21 last edited by

                    Déjà, merci à vous 4 de vos réponses ! Je vais essayer quelques petits trucs selon vos conseils et je vous dis si ça marche ! Merci beaucoup :d

                    1 Reply Last reply Reply Quote 0
                    • Tituya
                      Tituya last edited by

                      Alors, as tu réussi ?

                      Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                      1 Reply Last reply Reply Quote 0
                      • Infectiion21
                        Infectiion21 last edited by

                        Oui ! J’ai seulement enlevé le if(!world.isRemote)…
                        Parcontre, je ne sais pas si ce serait possible de faire bouger le joueur en direction d’ou il regarde, c’est à dire qu’il jump(ça c’est correct), mais aussi avancer, soit se fait propulser de genre une dizaine de block vers là ou il regarde. Le player.motionX ne marche pas, puisque forcément il le fait bouger en direction des X +, donc pas forcément ou le joueur regarde…

                        Pour le player.fallDistance = 0, ça ne marche pas 😕

                        Voilàààà

                        1 Reply Last reply Reply Quote 0
                        • Deleted
                          Deleted last edited by

                          Où as-tu mis le fallDistance ?

                          1 Reply Last reply Reply Quote 0
                          • Infectiion21
                            Infectiion21 last edited by

                            J’ai essayé de le mettre à la même place que le player.motion, soit sans le if(!world.isRemote) et j,ai essayé de le mettre dans la balise du if…

                            1 Reply Last reply Reply Quote 0
                            • AymericRed
                              AymericRed last edited by

                              Sinon tu peux utiliser l’event LivingFallEvent et le cancel si le joueur vient de sauter avec ton item.

                              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 Reply Last reply Reply Quote 0
                              • Deleted
                                Deleted last edited by

                                Effectivement + facile d’utiliser l’event.
                                Car pour le fallDIstance, il faudrait être dans une méthode tickée, et appelé au moment de la chute, or le onItemRightClick n’est pas le bon endroit.

                                1 Reply Last reply Reply Quote 0
                                • 1 / 1
                                • First post
                                  Last post
                                Design by Woryk
                                Contact / Mentions Légales

                                MINECRAFT FORGE FRANCE © 2018

                                Powered by NodeBB