Handle player teleport packet
This commit is contained in:
@@ -20,7 +20,7 @@ from protocol.packets import (
|
||||
ClickWindowPacket, CloseWindowPacket, ServerWindowConfirmationPacket,
|
||||
ClientWindowConfirmationPacket, EntityMetadataPacket,
|
||||
SpawnLivingEntityPacket, EntityPositionRotationPacket, DestroyEntitiesPacket,
|
||||
EntityActionPacket, SpawnPlayerPacket,
|
||||
EntityActionPacket, EntityTeleport,
|
||||
)
|
||||
|
||||
from protocol.types import Slot
|
||||
@@ -330,9 +330,10 @@ class Game:
|
||||
register(self.handle_entity_position, clientbound.play.EntityPositionDeltaPacket)
|
||||
register(self.handle_entity_position_rotation, EntityPositionRotationPacket)
|
||||
register(self.handle_destroy_entities, DestroyEntitiesPacket)
|
||||
register(self.handle_spawn_player, SpawnPlayerPacket)
|
||||
register(self.handle_spawn_player, clientbound.play.SpawnPlayerPacket)
|
||||
register(self.handle_respawn, clientbound.play.RespawnPacket)
|
||||
register(self.handle_player_list, clientbound.play.PlayerListItemPacket)
|
||||
register(self.handle_entity_teleport, EntityTeleport)
|
||||
#register(self.handle_entity_velocity, clientbound.play.EntityVelocityPacket)
|
||||
|
||||
#register(self.handle_packet, Packet, early=True)
|
||||
@@ -917,7 +918,7 @@ class Game:
|
||||
print(packet)
|
||||
self.g.players[packet.entity_id] = Munch(
|
||||
entity_id=packet.entity_id,
|
||||
player_uuid=packet.player_uuid,
|
||||
player_uuid=packet.player_UUID,
|
||||
x=packet.x,
|
||||
y=packet.y,
|
||||
z=packet.z,
|
||||
@@ -1009,6 +1010,21 @@ class Game:
|
||||
|
||||
if player.player_uuid == '0c123cfa-1697-4427-9413-4b645dee7ec0': print(packet)
|
||||
|
||||
def handle_entity_teleport(self, packet):
|
||||
mob = self.g.mobs.get(packet.entity_id, None)
|
||||
if mob:
|
||||
mob.x = packet.x
|
||||
mob.y = packet.y
|
||||
mob.z = packet.z
|
||||
|
||||
player = self.g.players.get(packet.entity_id, None)
|
||||
if player:
|
||||
player.x = packet.x
|
||||
player.y = packet.y
|
||||
player.z = packet.z
|
||||
|
||||
if player.player_uuid == '0c123cfa-1697-4427-9413-4b645dee7ec0': print(packet)
|
||||
|
||||
def handle_entity_velocity(self, packet):
|
||||
obj = self.g.objects.get(packet.entity_id, None)
|
||||
if obj:
|
||||
@@ -1023,6 +1039,8 @@ class Game:
|
||||
del self.g.objects[eid]
|
||||
if eid in self.g.mobs:
|
||||
del self.g.mobs[eid]
|
||||
if eid in self.g.players:
|
||||
del self.g.players[eid]
|
||||
|
||||
def leave_bed(self):
|
||||
packet = EntityActionPacket()
|
||||
|
||||
Reference in New Issue
Block a user