Augmeter ses stats de déplacment dans l'eau + Touche personalisée
-
Mais si j’augmente le motionX/Y/Z, sa va l’augmenter partout je pense, j’aimerais uniquement sur l’eau
Ne fonctionne pas.
j’ai du faire une erreurpublic void onArmorTick(World world, EntityPlayer player, ItemStack itemStack, Entity entityIn) { entityIn.motionX = 1.0F; entityIn.motionY = 1.0F; }
J’ai oublié le @Override c’est bon
-
Tick event
-
Euuh petit problèe…
Quand je met les bottes, je m’envole. Pourtant, il n’y a pas de motionY@Override public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { player.motionX = 1.0F; player.motionZ = 1.0F; } -
Il faut pas set sur une valeur mais multiplier.
Il y a une boolean player.inWater il me semble pour savoir si le joueur est dans l’eau ou non. -
player.isInWater , je pense que c’est cela
Mais même avec le multiplier, je ne comprend pas, je m’envole dès que je met les bottes -
le motionX et Z doivent influencer le Y.
-
Je comprend pas pourquoi…
Et c’est assez gênant quoi…
J’ai même tenter de rajouter un MotionY et de le mettre a 0, rien n’y fait
J’ai également tenter de mettre une valeur négative ( Car les bottes font tomber plus vite également ), et la… Etrange comportement
Au sol on ne voit aucune difference
Mais si on met les bottes dans les air, on est plaqué au sol pour moins d’une demi seconde, et on remonte -
le motion a toujours été étrange, regarde quand est-ce que la méthode est appelée.
-
A ma surprise, jamais.
J’ai mis un println et je ne le voit pas -
Es-tu sûr d’avoir bien mis le @Override et d’avoir les bons paramètres ?
-
@Override public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { if(player.isInWater()) { player.motionX *= 1.0F; player.motionZ *= 1.0F; player.motionY = -5.0F; System.out.println("Ahuut"); } } -
Si la fonction n’est même pas appelée lorsque tu es totalement sous l’eau, il te faut utiliser un tick event.
-
public void TickEvent(World world, EntityPlayer player, ItemStack itemStack) { if(player.isInWater()) { player.motionX *= 1.0F; player.motionZ *= 1.0F; player.motionY = -5.0F; System.out.println("Ahuut"); } }Je n’ia pas mis l’Override car je ne connais pas les paramètres de base, et le ctrl+O , je ne voit pas le TickEvent
Je vais me coucher là, donc je ne vais plus ppoivoir répondre -
Si tu ne connais pas les paramètres, il faut faire Alt + shift + S puis override/implement methods et trouver la bonne fonction. L’aanotation @Override permet de verifier que tu utilises la bonne fonction.
-
Oui, c’est ce que je voulait dire par CTRL+o , j’avais la flemme d’écrire le mot et je me souvenait plus du raccourci. Donc je 'e voyais pas TickEvent
Envoyé de mon SM-G357FZ en utilisant Tapatalk
-
Alt + shift + s puis override/implement methods permet de ré-écrire les méthodes. Alors que Ctrl + shift + O organise les importations. le tickEvent doit être enregistré avec le FMLCommonHandler, il ne fait pas partit des Items.
-
Je n’ai plus le PC sous les yeux, mais de mémoire, je n’avais comme choix uniquement ItemArmor, Item, Object
Envoyé de mon SM-G357FZ en utilisant Tapatalk
-
çà ce sont les classes dont ta classe est étendu, ensuite il faut choisir la méthode. Tu connais un peu le java au moins ?
-
Comme dit dans un précédent tppic, je vais.m’attaquer à openclasseoom pendant mon trajet en avion, et sur mn lieu de vacance
Envoyé de mon SM-G357FZ en utilisant Tapatalk
-
Le plus important à apprendre c’est la programmation orientée objet, c’est ce dont tu auras le plus besoin.