Deploy as an optional client-side tweak, enabled by default for all PvP-oriented 1.8.9 modpacks or utilities. Appendix A: Sample code repository (GitHub): [link placeholder] Appendix B: Before/After video demonstration: [link placeholder]
net.minecraft.client.network.NetHandlerPlayClient#handleEntityStatus Case 2 → Entity#performHurtAnimation() . hit delay fix 1.8.9
if (packetIn.getOpCode() == 2) Entity entity = packetIn.getEntity(this.clientController.netClientHandler); if (entity != null && !entity.isEntityInvulnerable()) if (entity.hurtResistantTime <= 0) // Already triggered locally? entity.performHurtAnimation(); Deploy as an optional client-side tweak, enabled by
To avoid playing the hurt animation twice (once local, once when SPacketEntityStatus arrives), add a check: entity
Analysis and Implementation of the Hit Delay Fix for Minecraft 1.8.9
No client-side call to performHurtAnimation() when sendUseEntity is invoked. 4. Solution Overview Implementation method: Override or mix into NetHandlerPlayClient and the player attack logic to immediately call performHurtAnimation() on the target entity right after sending CPacketUseEntity .
In NetHandlerPlayClient#handleEntityStatus :