The WrapperPlayer.java class (extending living entity and thus entity) has a packet order that doesn't align with the mc protocol. The protocol requires the WrapperPlayServerPlayerInfoUpdate packet to be sent before the WrapperPlayServerSpawnEntity packet. (this is correctly done in the viewer functionality since the entity see:
|
if (this instanceof WrapperPlayer) { |
|
WrapperPlayer p = (WrapperPlayer) this; |
|
sendPacket(uuid, p.tabListPacket()); |
|
} |
|
|
|
sendPacket(uuid, createSpawnPacket()); |
|
sendPacket(uuid, entityMeta.createPacket()); |
|
sendPacket(uuid, createPassengerPacket()); |
|
|
|
if (this instanceof WrapperLivingEntity) { |
|
WrapperLivingEntity wrapperLivingEntity = (WrapperLivingEntity) this; |
|
wrapperLivingEntity.createSpawnPackets().forEach(packetWrapper -> sendPacket(uuid, packetWrapper)); |
|
} |
)
The
WrapperPlayer.javaclass (extending living entity and thus entity) has a packet order that doesn't align with the mc protocol. The protocol requires theWrapperPlayServerPlayerInfoUpdatepacket to be sent before theWrapperPlayServerSpawnEntitypacket. (this is correctly done in the viewer functionality since the entity see:EntityLib/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java
Lines 213 to 225 in 87ec596