mirror of https://github.com/Minestom/Minestom.git
fix: send EntityHeadLookPacket on teleport (#2031)
* fix: send EntityHeadLookPacket on teleport * fix: new teleport test integration --------- Co-authored-by: DeidaraMC <DeidaraMC>
This commit is contained in:
parent
e5cb2f7a1d
commit
705ec5cc07
|
@ -323,7 +323,7 @@ public class Entity implements Viewable, Tickable, Schedulable, Snapshotable, Ev
|
|||
this.position = position;
|
||||
refreshCoordinate(position);
|
||||
synchronizePosition(true);
|
||||
setView(position.yaw(), position.pitch());
|
||||
sendPacketToViewers(new EntityHeadLookPacket(getEntityId(), position.yaw()));
|
||||
};
|
||||
|
||||
if (chunks != null && chunks.length > 0) {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package net.minestom.server.entity;
|
||||
|
||||
import net.minestom.server.network.packet.server.play.EntityHeadLookPacket;
|
||||
import net.minestom.testing.Env;
|
||||
import net.minestom.testing.EnvTest;
|
||||
import net.minestom.server.coordinate.Pos;
|
||||
|
@ -8,6 +9,8 @@ import net.minestom.server.network.packet.server.play.EntityTeleportPacket;
|
|||
import net.minestom.server.network.packet.server.play.PlayerPositionAndLookPacket;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
@EnvTest
|
||||
|
@ -58,10 +61,16 @@ public class EntityTeleportIntegrationTest {
|
|||
tracker.assertSingle(PlayerPositionAndLookPacket.class,
|
||||
packet -> assertEquals(teleportPosition, packet.position()));
|
||||
// Verify broadcast packet(s)
|
||||
viewerTracker.assertSingle(EntityTeleportPacket.class, packet -> {
|
||||
assertEquals(player.getEntityId(), packet.entityId());
|
||||
assertEquals(teleportPosition, packet.position());
|
||||
});
|
||||
|
||||
viewerTracker.assertCount(2);
|
||||
List<ServerPacket> packets = viewerTracker.collect();
|
||||
var teleportPacket = (EntityTeleportPacket) packets.get(0);
|
||||
assertEquals(player.getEntityId(), teleportPacket.entityId());
|
||||
assertEquals(teleportPosition, teleportPacket.position());
|
||||
|
||||
var headLookPacket = (EntityHeadLookPacket) packets.get(1);
|
||||
assertEquals(player.getEntityId(), headLookPacket.entityId());
|
||||
assertEquals(teleportPosition.yaw(), headLookPacket.yaw());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Reference in New Issue