diff options
| author | raven <citrons@mondecitronne.com> | 2026-03-21 20:18:49 -0500 |
|---|---|---|
| committer | raven <citrons@mondecitronne.com> | 2026-03-21 20:21:46 -0500 |
| commit | e08bcfec250e9a618241edab9f36ea64af306a40 (patch) | |
| tree | 7da9a03b69382d53db0ed667a55230106d5457e0 /classic | |
| parent | bb868d2d0d4d5a16d798d01d4a2ca8573ddc8a60 (diff) | |
use ExtEntityPositions
Diffstat (limited to 'classic')
| -rw-r--r-- | classic/ext_entity_pos.go | 22 | ||||
| -rw-r--r-- | classic/packets.go | 16 |
2 files changed, 36 insertions, 2 deletions
diff --git a/classic/ext_entity_pos.go b/classic/ext_entity_pos.go new file mode 100644 index 0000000..cfc7bb9 --- /dev/null +++ b/classic/ext_entity_pos.go @@ -0,0 +1,22 @@ +package classic + +type Fixed int32 + +type SpawnPlayerExt struct { + PlayerId int8 + Username String + X, Y, Z Fixed + Yaw, Pitch byte +} +func (p *SpawnPlayerExt) PacketId() byte { + return 0x07 +} + +type SetPosFacingExt struct { + PlayerId int8 + X, Y, Z Fixed + Yaw, Pitch byte +} +func (p *SetPosFacingExt) PacketId() byte { + return 0x08 +} diff --git a/classic/packets.go b/classic/packets.go index 48ea80d..e361399 100644 --- a/classic/packets.go +++ b/classic/packets.go @@ -179,8 +179,18 @@ func createPacketType(packetId byte, client bool, ext map[string]bool) Packet { case 0x04: return &LevelFinalize {} case 0x05: return &ClientSetBlock {} case 0x06: return &SetBlock {} - case 0x07: return &SpawnPlayer {} - case 0x08: return &SetPosFacing {} + case 0x07: + if !ext["ExtEntityPositions"] { + return &SpawnPlayer {} + } else { + return &SpawnPlayerExt {} + } + case 0x08: + if !ext["ExtEntityPositions"] { + return &SetPosFacing {} + } else { + return &SetPosFacingExt {} + } case 0x09: return &UpdatePosFacing {} case 0x0a: return &UpdatePos {} case 0x0b: return &UpdateFacing {} @@ -188,6 +198,8 @@ func createPacketType(packetId byte, client bool, ext map[string]bool) Packet { case 0x0d: return &Message {} case 0x0e: return &DisconnectPlayer {} case 0x0f: return &UpdateUserType {} + case 0x10: return &ExtInfo {} + case 0x11: return &ExtEntry {} default: return nil } } |
