This commit is contained in:
2024-10-26 12:41:37 +02:00
parent 78b2a2f022
commit a6a7a94c20
5 changed files with 2021 additions and 135 deletions

View File

@@ -232,7 +232,7 @@ func (player *Player) sendLoginSuccess() error {
var buf bytes.Buffer
addUUID(&buf, player.uuid)
addString(&buf, player.name)
addString(&buf, player.Entity.Name)
addVarint(&buf, int32(len(player.profile.Properties)))
@@ -331,6 +331,12 @@ func (player *Player) removeResourcePack(packUUID uuid.UUID) (err error) {
if hasUUID {
addUUID(&buf, packUUID)
}
switch player.state {
case 3:
return player.sendPacket(0x08, &buf)
case 4:
return player.sendPacket(0x45, &buf)
}
return player.sendPacket(0x08, &buf)
}
@@ -347,7 +353,13 @@ func (player *Player) addResourcePack(packUUID uuid.UUID, url string, hash strin
addString(&buf, message)
}
return player.sendPacket(0x09, &buf)
switch player.state {
case 3:
return player.sendPacket(0x09, &buf)
case 4:
return player.sendPacket(0x46, &buf)
}
return errors.New("invalid resource pack state")
}
func (player *Player) sendTransfer(host string, port uint16) (err error) {
@@ -386,7 +398,13 @@ func (player *Player) sendUpdateTags() error {
}
}
}
return player.sendPacket(0x0D, &buf)
switch player.state {
case 3:
return player.sendPacket(0x0D, &buf)
case 4:
return player.sendPacket(0x78, &buf)
}
return errors.New("invalid update tags state")
}
func (player *Player) sendDataPacks() error {
@@ -407,7 +425,14 @@ func (player *Player) sendReportDetails() (err error) {
addString(&buf, key)
addString(&buf, value)
}
return player.sendPacket(0x0F, &buf)
switch player.state {
case 3:
return player.sendPacket(0x0F, &buf)
case 4:
return player.sendPacket(0x7A, &buf)
}
return errors.New("invalid report details state")
}
func (player *Player) sendServerLinks() error {
@@ -423,7 +448,14 @@ func (player *Player) sendServerLinks() error {
}
addString(&buf, serverLink.URL)
}
return player.sendPacket(0x10, &buf)
switch player.state {
case 3:
return player.sendPacket(0x10, &buf)
case 4:
return player.sendPacket(0x7B, &buf)
}
return errors.New("invalid server links state")
}
func (player *Player) sendPluginMessage(channel string, data *bytes.Buffer) (err error) {
@@ -461,7 +493,7 @@ func (player *Player) sendStatusResponse(description string) (err error) {
continue
}
playerSamples = append(playerSamples, PlayerSample{
Name: player.name,
Name: player.Entity.Name,
ID: player.uuid.String(),
})
}