Augmeter ses stats de déplacment dans l'eau + Touche personalisée
-
Sans Extand Entity Properties, comment mettre un tag au joueur ?
On peut le mettre directement dans la MainClass/ClientProxy/CommonProxy ? -
@‘robin4002’:
Faudrait mettre un tag dans le joueur (player.getEntityData().setBoolean(“ascend”, true);) lors de l’appuie de la touche s’il a les jambières et qu’il est dans l’eau et ensuite dans un TickEvent.PlayerTickEvent fait que si le joueur à le tag (event.player.getEntityData().getBoolean(“ascend”)) alors s’il n’est pas dans l’eau tu le retire et tu mets son motionY sur 0, sinon s’il est dans l’eau tu mets son motionY sur 2.5F.
Comme l’a dit Robin, tu fais player.getEntityData.setBoolean(“unNom”, taValeur)
-
Comment on fait pour le TickEvent ?
C’est une classe ou une méthode ? -
C’est un event, donc ça s’utilise comme n’importe quel event.
-
Bon, j’ai pas tous compris.
Les events sont trop compliqué pour moi
J’ai improvisé, et j’ai fait a ma sauce.
Sans surprise, ça ne fonctionne pasClient
private void keyTestTyped(EntityPlayer player) { // La touche vient d'être appuyé !! if(player.inventory.armorItemInSlot(1) != null && player.inventory.armorItemInSlot(1).getItem() == ScaphLeggings.airbag_leggings) { if(player.isInWater()) { player.getEntityData().setBoolean("airbag", true); } else { player.getEntityData().setBoolean("airbag", false); } } }Jambières
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { if(player.getEntityData().getBoolean("ascend")) { player.motionY += 2.5F; } } -
-
Enfaîte, c’est fonctionnel. J’avais juste fait une faute dans la classe des jambières (Je vous laisse chercher
)
Sauf, que c’est TROP fonctionnel

PS : je suis monté jusqu’a environ 100b de haut ( Base 64 ), puis j’ai enlevé les jambières. Je suis monté jusqu’a environ 20 000 -
Normal, tu as mis 20.0F il me semble ?
le nombre que tu mets c’est la distance qui se parcouru au prochain tick, donc si tu mets 2 en y, le joueur sautera en l’air de 2 blocks. -
J’ai mis += 2.5F
L’erreur est autre part. Tellement visible qu’elle en devient invisible
(Faut surement que j’enlève le +
)
PS = le fait que je décole vient dfait que le boolean n’est jamais mis en False je pense
Ouais, enfaite, le false est mis vachement tard, ou jmais
J’ai tenté un truc, mais rien n’y faitprivate void keyTestTyped(EntityPlayer player) { // La touche vient d'être appuyé !! if(player.inventory.armorItemInSlot(1) != null && player.inventory.armorItemInSlot(1).getItem() == ScaphLeggings.airbag_leggings) { if(player.isInWater()) { player.getEntityData().setBoolean("airbag", true); } if(!player.isInWater()) { player.getEntityData().setBoolean("airbag", false); } } } -
Avec onArmor tick c’est bon aussi.
Et en effet, ça serait plutôt comme ça :if(player.getEntityData().getBoolean("airbag")) { if(player.isInWater()) { player.motionY = 2.5F; } else { player.getEntityData().setBoolean("airbag", false); } } -
Je m’envole toujours.
Doit avoir un problème je sais pas ou mais le false n’est jamais appliquéEDIT : Vous n’avez toujours pas trouvé mon erreur dans mon précédent code ?

-
@‘Eryah’:
Je m’envole toujours.
Doit avoir un problème je sais pas ou mais le false n’est jamais appliquéEDIT : Vous n’avez toujours pas trouvé mon erreur dans mon précédent code ?

Si, la preuve dans le code que je viens de te donner l’erreur est corrigé.
Essayes avec juste 1.0F alors ? -
Effectivement elle est corrigé e, mais tu ne la pas spotted directement. Tu à peut-être corrigé sans prêter attention
J’allume mon Éclipsé, mais mon PC râle, il freeze et RAM.
Envoyé de mon SM-G357FZ en utilisant Tapatalk
-
Si si je l’avais vu

-
Breef

Le problème ne vient pas de la vitesse, mais du fait que le boolean est jamais mis en false. Preuve, une fois sorti de l’eau et les jambières enlevés, si je remet le pantalon, je me r’envole, même sur la terre ferme
Je vais voire si je rajoute un condition de isInWater en plus
EHH BAH VOILA, Cela fonctione beaucoup mieux maintenant !
Mais j’ai toujours le boolean jamais en false, en gros, je rebondit sur l’eau…
Je vais tenter un truc
C’est bon. Tous est comme je voulais. Merci vous, robin et SCAREX