summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorraven <citrons@mondecitronne.com>2026-03-21 20:18:49 -0500
committerraven <citrons@mondecitronne.com>2026-03-21 20:21:46 -0500
commite08bcfec250e9a618241edab9f36ea64af306a40 (patch)
tree7da9a03b69382d53db0ed667a55230106d5457e0 /server
parentbb868d2d0d4d5a16d798d01d4a2ca8573ddc8a60 (diff)
use ExtEntityPositions
Diffstat (limited to 'server')
-rw-r--r--server/player.go44
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,
})
})