update 1.19.2 client login

This commit is contained in:
Tnze
2022-11-23 00:49:32 +08:00
parent 702f5b5cc4
commit d250284642

View File

@ -18,10 +18,11 @@ import (
mcnet "github.com/Tnze/go-mc/net" mcnet "github.com/Tnze/go-mc/net"
pk "github.com/Tnze/go-mc/net/packet" pk "github.com/Tnze/go-mc/net/packet"
"github.com/Tnze/go-mc/yggdrasil/user" "github.com/Tnze/go-mc/yggdrasil/user"
"github.com/google/uuid"
) )
// ProtocolVersion is the protocol version number of minecraft net protocol // ProtocolVersion is the protocol version number of minecraft net protocol
const ProtocolVersion = 759 const ProtocolVersion = 760
const DefaultPort = mcnet.DefaultPort const DefaultPort = mcnet.DefaultPort
// JoinServer connect a Minecraft server for playing the game. // JoinServer connect a Minecraft server for playing the game.
@ -77,6 +78,8 @@ func (c *Client) join(ctx context.Context, d *mcnet.Dialer, addr string) error {
// Login Start // Login Start
c.KeyPair, err = user.GetOrFetchKeyPair(c.Auth.AsTk) c.KeyPair, err = user.GetOrFetchKeyPair(c.Auth.AsTk)
HasSignature := err == nil HasSignature := err == nil
c.UUID, err = uuid.Parse(c.Auth.UUID)
HasPlayerUUID := err == nil
err = c.Conn.WritePacket(pk.Marshal( err = c.Conn.WritePacket(pk.Marshal(
packetid.LoginStart, packetid.LoginStart,
pk.String(c.Auth.Name), pk.String(c.Auth.Name),
@ -85,6 +88,11 @@ func (c *Client) join(ctx context.Context, d *mcnet.Dialer, addr string) error {
Has: HasSignature, Has: HasSignature,
Field: keyPair(c.KeyPair), Field: keyPair(c.KeyPair),
}, },
pk.Boolean(HasPlayerUUID),
pk.Opt{
Has: HasPlayerUUID,
Field: pk.UUID(c.UUID),
},
)) ))
if err != nil { if err != nil {
return LoginErr{"login start", err} return LoginErr{"login start", err}