Résolu Effet de lenteur sous l'eau
-
Bonjour je voudrais savoir si il est possible de désactiver les effets procuré lorsque que l’on se trouve sous l’eau, je m’explique :
Quand l’on détruit un bloc sous l’eau, l’effiency est beaucoup plus lent et aussi la vitesse de déplacement.
Y a t-il un moyen de les retirer ? -
Tu peux ajouter des popo de vitesse quand le joueur est dans l’eau à l’aide de l’event LivingUpdateEvent.
Ou alors pour le problème de vitesse, augmenter les motion du joueur. -
Pour la vitesse de destruction, tu peux utiliser cet event : PlayerEvent.BreakSpeed, si le joueur est sous l’eau, tu réaugmentes la vitesse de break (sachant que c’est divisé par 5 si t’es sous l’eau puis redivisé par 5 si tu n’es pas sur le sol juste avant l’appel de l’event).
-
Thanks !
-
résolu ?
-
non pas encore visiblement.
mais quelle est le nom de la variable a modifier pour le break speed ? -
newSpeed
-
“event.entityPlayer.newSpeed” si c’est ca j’ai une erreur : le newSpeed est souligné en rouge
-
@‘SpyMan’:
“event.entityPlayer.newSpeed” si c’est ca j’ai une erreur : le newSpeed est souligné en rouge
Nan c’est cet event: PlayerEvent.BreakSpeed après tu fais se que a dis aymeric tu check si le joueur est dans l’eau et si oui tu lui augmente sa vitesse de destruction.
-
c’est juste event.newSpeed
-
Merci
Mais aussi quel est le nom de la variable a modifier pour la vitesse de deplacement du joueur ? -
tu peux diviser les motion du joueur sur chaque axe
-
Ou alors modifier la variable PlayerCapabilites#walkSpeed
-
nice merci
EDIT : Ok mais c’est pas avec cet event la : LivingUpdateEvent pour le walkSpeed
-
Ok mais c’est pas avec cet event la : LivingUpdateEvent
-
Bah si
if(player.isWater) ou (inWater)
player.playerCapabilities.walkSpeed = 0.2 //de base c’est 0.1 je croisSi le field est private ou protected, alors sers toi de la classe ObfuscationReflectionHelper
-
@SubscribeEvent
public void onLiving(LivingEvent.LivingUpdateEvent event)
{
if (event.entity.isInWater())
{
event.entity.
}
}C’est pas un EntityPlayer, c’est juste une Entity donc je peut pas acceder aux capabilities.walkspeed
-
Eh bien tu crées une nouvelle variable EntiytPlayer en castant event.entity après avoir check via instanceof
-
ok merci
EDIT :
EntityPlayer player(event.entity);Ca me le souligne en rouge
-
comment on cast ? :3
C’est pas le truc que je fait souvant lel