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 /server | |
| parent | bb868d2d0d4d5a16d798d01d4a2ca8573ddc8a60 (diff) | |
use ExtEntityPositions
Diffstat (limited to 'server')
| -rw-r--r-- | server/player.go | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/server/player.go b/server/player.go index 66dcc88..63dad37 100644 --- a/server/player.go +++ b/server/player.go @@ -85,12 +85,22 @@ func (p *player) kick(reason string) { } } +func (p *player) sendAuthInfo() { + var userType byte + if p.state.Auth >= cheatAuth { + userType = classic.OpUser + } + p.client.SendPacket(p, &classic.UpdateUserType { + Type: userType, + }) +} + func (p *player) handlePacket(packet classic.Packet) { if p.level == nil || !p.levelLoaded { return } switch pck := packet.(type) { - case *classic.SetPosFacing: + case *classic.SetPosFacingExt: p.state.Pos = entityPos { entityCoord(pck.X), entityCoord(pck.Y), entityCoord(pck.Z), } @@ -173,11 +183,11 @@ func (p *player) MovePlayer( p.Act(from, func() { p.state.Pos = pos p.state.Facing = facing - p.client.SendPacket(p, &classic.SpawnPlayer { + p.client.SendPacket(p, &classic.SpawnPlayerExt { PlayerId: -1, - X: classic.FShort(pos.X), - Y: classic.FShort(pos.Y), - Z: classic.FShort(pos.Z), + X: classic.Fixed(pos.X), + Y: classic.Fixed(pos.Y), + Z: classic.Fixed(pos.Z), Yaw: facing.Yaw, Pitch: facing.Pitch, }) @@ -241,12 +251,12 @@ func (p *player) OnLevelData(from *level, info levelInfo, data io.ReadCloser) { Height: int16(info.Size.Y), Length: int16(info.Size.Z), }) - p.client.SendPacket(p, &classic.SpawnPlayer { + p.client.SendPacket(p, &classic.SpawnPlayerExt { PlayerId: -1, Username: classic.PadString(p.name), - X: classic.FShort(p.state.Pos.X), - Y: classic.FShort(p.state.Pos.Y), - Z: classic.FShort(p.state.Pos.Z), + X: classic.Fixed(p.state.Pos.X), + Y: classic.Fixed(p.state.Pos.Y), + Z: classic.Fixed(p.state.Pos.Z), Yaw: p.state.Facing.Yaw, Pitch: p.state.Facing.Pitch, }) @@ -268,12 +278,12 @@ func (p *player) OnLevelError(from *level, message string, info levelInfo) { func (p *player) OnPlayer( from *level, id levelPlayerId, name string, pos entityPos) { p.Act(from, func() { - p.client.SendPacket(p, &classic.SpawnPlayer { + p.client.SendPacket(p, &classic.SpawnPlayerExt { PlayerId: int8(id), Username: classic.PadString(name), - X: classic.FShort(pos.X), - Y: classic.FShort(pos.Y), - Z: classic.FShort(pos.Z), + X: classic.Fixed(pos.X), + Y: classic.Fixed(pos.Y), + Z: classic.Fixed(pos.Z), }) }) } @@ -287,11 +297,11 @@ func (p *player) OnRemovePlayer(from *level, id levelPlayerId) { func (p *player) OnMovePlayer( from *level, id levelPlayerId, pos entityPos, facing entityFacing) { p.Act(from, func() { - p.client.SendPacket(p, &classic.SetPosFacing { + p.client.SendPacket(p, &classic.SetPosFacingExt { PlayerId: int8(id), - X: classic.FShort(pos.X), - Y: classic.FShort(pos.Y), - Z: classic.FShort(pos.Z), + X: classic.Fixed(pos.X), + Y: classic.Fixed(pos.Y), + Z: classic.Fixed(pos.Z), Yaw: facing.Yaw, Pitch: facing.Pitch, }) }) |
