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

    Faire un stick qui bouge le joueur

    Sans suite
    1.7.10
    6
    14
    2439
    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.
    • Infectiion21
      Infectiion21 dernière édition par

      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 réponse Dernière réponse Répondre Citer 0
      • Pchom
        Pchom dernière édition par

        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 réponse Dernière réponse Répondre Citer 0
        • robin4002
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

          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 réponse Dernière réponse Répondre Citer 0
          • Deleted
            Deleted dernière édition par

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

            1 réponse Dernière réponse Répondre Citer 0
            • Tituya
              Tituya dernière édition par

              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 réponse Dernière réponse Répondre Citer 0
              • Deleted
                Deleted dernière édition par

                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 réponse Dernière réponse Répondre Citer 0
                • Tituya
                  Tituya dernière édition par

                  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 réponse Dernière réponse Répondre Citer 0
                  • Infectiion21
                    Infectiion21 dernière édition par

                    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 réponse Dernière réponse Répondre Citer 0
                    • Tituya
                      Tituya dernière édition par

                      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 réponse Dernière réponse Répondre Citer 0
                      • Infectiion21
                        Infectiion21 dernière édition par

                        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 réponse Dernière réponse Répondre Citer 0
                        • Deleted
                          Deleted dernière édition par

                          Où as-tu mis le fallDistance ?

                          1 réponse Dernière réponse Répondre Citer 0
                          • Infectiion21
                            Infectiion21 dernière édition par

                            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 réponse Dernière réponse Répondre Citer 0
                            • AymericRed
                              AymericRed dernière édition par

                              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 réponse Dernière réponse Répondre Citer 0
                              • Deleted
                                Deleted dernière édition par

                                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 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