The bug
The client tries to teleport endermen as well. This can cause particles and teleportation sounds to appear at the wrong position or the enderman might be away for a short moment before its position is re-synchronized.
How to reproduce
Summon an enderman
Punch it in Creative mode
→ It will disappear for a short moment
Code analysis
Partwise by @unknown
Based on 1.12 decompiled using MCP 9.40 PRE 1
The method net.minecraft.entity.monster.EntityEnderman.teleportRandomly()
is called client-side as well which can result in different results since the random number generators are not synchronized. Additionally this method is called when the hurt animation is displayed client-side by dealing 0 unblockable damage to the enderman.
This could be solved by either adding an "is server" check in the method EntityEnderman.teleportRandomly()
or maybe even better in the method net.minecraft.entity.monster.EntityEnderman.attackEntityFrom(DamageSource, float)
.
Linked issues
is duplicated by 2
Attachments
Comments 8
So the client teleports the enderman too and not only the server.
This cause problems if the server cancel the teleport.
This is clearly an issue, and a fix is already provided.
Any chance for a fix?
Is this still an issue in the latest snapshot 16w44a? If so please update the affected versions.
This is an automated comment on any open or reopened issue with out-of-date affected versions.

Maybe the check should already happen in EntityEnderman.attackEntityFrom(DamageSource, float)
.

Confirmed 1.12.1
Confirmed for 18w30b
Still in 18w50a
Isn't this like a feature or request for addition?