summaryrefslogtreecommitdiff
path: root/server/player.go
diff options
context:
space:
mode:
authorraven <citrons@mondecitronne.com>2026-03-22 16:32:00 -0500
committerraven <citrons@mondecitronne.com>2026-03-22 16:32:16 -0500
commit8e6326c0db4ceec909b7b949418fbf909d23af29 (patch)
tree918a6fd925a6439ff4359413faf98f7ea5ee326e /server/player.go
parent8afab135eabb570a07de8261b00524510fa5c1fc (diff)
use ExtPlayerList
Diffstat (limited to 'server/player.go')
-rw-r--r--server/player.go28
1 files changed, 22 insertions, 6 deletions
diff --git a/server/player.go b/server/player.go
index 86a32fa..e436714 100644
--- a/server/player.go
+++ b/server/player.go
@@ -284,9 +284,10 @@ func (p *player) OnLevelData(from *level, info levelInfo, data io.ReadCloser) {
TexturePackUrl: classic.PadDString(info.TexturePack),
})
})
- p.client.SendPacket(p, &classic.SpawnPlayerExt {
- PlayerId: -1,
- Username: classic.PadString(p.name),
+ p.client.SendPacket(p, &classic.AddEntity2 {
+ EntityId: 255,
+ InGameName: classic.PadString(p.name),
+ SkinName: classic.PadString(p.name),
X: classic.Fixed(p.state.Pos.X),
Y: classic.Fixed(p.state.Pos.Y),
Z: classic.Fixed(p.state.Pos.Z),
@@ -312,9 +313,10 @@ 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.SpawnPlayerExt {
- PlayerId: int8(id),
- Username: classic.PadString(name),
+ p.client.SendPacket(p, &classic.AddEntity2 {
+ EntityId: byte(id),
+ InGameName: classic.PadString(name),
+ SkinName: classic.PadString(name),
X: classic.Fixed(pos.X),
Y: classic.Fixed(pos.Y),
Z: classic.Fixed(pos.Z),
@@ -328,6 +330,20 @@ func (p *player) OnRemovePlayer(from *level, id levelPlayerId) {
})
}
+func (p *player) OnAddListEntry(from *Server, entry listEntry) {
+ p.client.SendPacket(p, &classic.AddPlayerName {
+ NameId: int16(entry.id),
+ PlayerName: classic.PadString(entry.playerName),
+ ListName: classic.PadString(entry.listName),
+ })
+}
+
+func (p *player) OnRemoveListEntry(from *Server, id listId) {
+ p.client.SendPacket(p, &classic.RemovePlayerName {
+ NameId: int16(id),
+ })
+}
+
func (p *player) OnMovePlayer(
from *level, id levelPlayerId, pos entityPos, facing entityFacing) {
p.Act(from, func() {