Item permettant de Fly



  • Bonjour j'aimerais savoir comment créer un item permettant de voler comme en creative.



  • Tout d'abord tu vas override la méthode onItemRightClick, et une fois dedans soit tu pourras checker un boolean enregistré dans les tags du joueur (voir le tuto de gugu42 sur le ExtProp) soit tu vérifies si le joueur est en train de voler, dans quel cas tu mettras false / true au bout de cette ligne
    player.capabilities.allowFlying = true;
    player est le nom de l'argument de type EntityPlayer de la méthode onItemRightClick, mais ça je pense que tu l'avais deviné ^^'



  • Merci ça fonctionne mais comment vérifier si l'item est equipé dans le slot du Plastron (mon item est un bout d'armure)

    ??????



  • player.getCurrentArmor(3)



  • d'accord mais je vérifie ça dans quel method ?


  • Correcteurs

    Du coup va plutôt falloir également que tu crées un bouton personnalisé avec la condition de rester appuyé sur la touche pour que la condition soit true. Y'a un tuto sur ça.

    En gros la condition devra checker si ton équipement est sur le slot 3 d'armure et que tu es en train d'appuyer sur la touche, du coup ça mettrait le fly true.



  • @'SpyMan':

    d'accord mais je vérifie ça dans quel method ?

    Tu créer la condition dans le même constructeur que le reste, soit le onItemRightClick


  • Correcteurs

    Il créé une pièce d'armure, pas un item en main.



  • Oups, je suis rester sur l'item en main…

    Il te faut donc en EventHandler avec comme constructeur PlayerTickEvent pour enfin y mettre ta condition.

    Mais après je ne pense pas qu'il y est besoin de bouton ou autre, il l’équipe et vole. Enfin, ça dépend s'il veut fly tout le temps tant qu'il a l'armure ou s'il veux un appuie d'une touche.

    Cape a la super Man ^^



  • @'UnknowOrigin':

    Oups, je suis rester sur l'item en main…

    Il te faut donc en EventHandler avec comme constructeur PlayerTickEvent pour enfin y mettre ta condition.

    Mais après je ne pense pas qu'il y est besoin de bouton ou autre, il l’équipe et vole. Enfin, ça dépend s'il veut fly tout le temps tant qu'il a l'armure ou s'il veux un appuie d'une touche.

    Cape a la super Man ^^

    Ou sinon on utilise le onArmorTick de la classe de l'armure…



  • Le problème c'est qu'avec le onArmorTick tu ne peux pas dire quand arrêter de fly



  • Bah dans l event onTickPlayer (un truc dans le genre) fais une condition qui vérifie et le gamemode qu'il soit en survival et si il a l'armure d'équippé. Si c'est le cas tu actives le fly mode sinon, si il est survival mais qu'il n'a pas ta nouvelle armure d'équippé, tu désactives le fly mode. Sa me semble être la meilleure solution 🙂