Résolu Effet de lenteur sous l'eau
-
EntityPlayer player(event.entity);
Ca me le souligne en rouge
-
Euh apprends le java : EntityPlayer player = (EntityPlayer) event.entity;
-
@VDD
+1@SpyMan, il me semblait que tu savais cast depuis tout le temps que t’es inscrit sur MFF _ ??
-
Merci Sympa, mais c’est pas le truc que j’ai a faire LE PLUS SOUVANT merci
Et je connais bien le java merci de vous en inquiéterMarche poo
[font=Source Code Pro*@SubscribeEvent *]public void onLiving(LivingEvent.LivingUpdateEvent *event*) { if (*event*.entity.isInWater()) { if (*event*.entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) *event*.entity%(#aaa9a7)[; ] player.capabilities.setPlayerWalkSpeed(0.1F)%(#aaa9a7)[; ] } } }
-
Essaye avec autre chose que 0.1F pour voir.
-
@‘SpyMan’:
Merci Sympa, mais c’est pas le truc que j’ai a faire LE PLUS SOUVANT merci
Et je connais bien le java merci de vous en inquiéterMarche poo
[font=Source Code Pro*@SubscribeEvent *]public void onLiving(LivingEvent.LivingUpdateEvent *event*) { if (*event*.entity.isInWater()) { if (*event*.entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) *event*.entity%(#aaa9a7)[; ] player.capabilities.setPlayerWalkSpeed(0.1F)%(#aaa9a7)[; ] } } }
Tu as enregistrer ta classe event au moins ?
-
dans cette class jai d’autre events qui fonctionne donc oui elle est bien enregistrer coté forge et fml
J’ai test avec d’autres valeurs mais ca marche pas non plus
-
Mets un System.out.println pour voir si c’est bien appelé.
-
@‘AymericRed’:
Mets un System.out.println pour voir si c’est bien appelé.
J’ai essayer de mon côté l’event marche bien mais en fait le truc c’est que sa modifie ton walkspeed quand tu sors de l’eau ^^
Essaye un walkspeed de 3.0F marche dans l’eau puis sort sur la terre tu vas voir que sa l’applique une fois hors de l’eau et quand tu re rentre dans l’eau tu es encore slow -
Ah ça ne mache pas dans l’eau, il y a peut-être une fonction setSwimSpeed (je pense pas mais bon), je regarderais tout à l’heure.
-
Mon event est bien appeler mais ca marche pas
-
event.entity.motionX *= nouvelle valeur
event.entity.motionY *= nouvelle valeur
event.entity.motionZ *= nouvelle valeur -
@‘ZeAmateis’:
event.entity.motionX *= nouvelle valeur
event.entity.motionY *= nouvelle valeur
event.entity.motionZ *= nouvelle valeur+1
-
T’a multiplié motionY par quoi ?
-
@‘AymericRed’:
T’a multiplié motionY par quoi ?
j’ai rien dis
-
Je sais plus si c’est += ou *= et tu met un double il me semble teste tu verra
-
@‘ZeAmateis’:
Je sais plus si c’est += ou *= et tu met un double il me semble teste tu verra
avec += il avance tout seul ^^ avec *= ça marche mais genre c’est bugger peu.
-
Sinon if(motionY > 0) motionY += machin truc; et if(motionY < 0) motionY -= machin truc;
-
[font=Source Code Pro*@SubscribeEvent *]public void onLiving(LivingEvent.LivingUpdateEvent *event*) { if (*event*.entity.isInWater()) { *event*.entity.motionX += 1%(#aaa9a7)[; ] *event*.entity.motionZ += 1%(#aaa9a7)[; ] } }
Marche pas : je vais plus vite sur terre mais dans l’eau je peu pas me deplacer en X et Z
-
Ce n’est pas +, c’est x
Donc remplace cela par event.entity.motionX*= 1.3F et pareil pour l’axe z