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"
pk "github.com/Tnze/go-mc/net/packet"
"github.com/Tnze/go-mc/yggdrasil/user"
"github.com/google/uuid"
)
// ProtocolVersion is the protocol version number of minecraft net protocol
const ProtocolVersion = 759
const ProtocolVersion = 760
const DefaultPort = mcnet.DefaultPort
// 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
c.KeyPair, err = user.GetOrFetchKeyPair(c.Auth.AsTk)
HasSignature := err == nil
c.UUID, err = uuid.Parse(c.Auth.UUID)
HasPlayerUUID := err == nil
err = c.Conn.WritePacket(pk.Marshal(
packetid.LoginStart,
pk.String(c.Auth.Name),
@ -85,6 +88,11 @@ func (c *Client) join(ctx context.Context, d *mcnet.Dialer, addr string) error {
Has: HasSignature,
Field: keyPair(c.KeyPair),
},
pk.Boolean(HasPlayerUUID),
pk.Opt{
Has: HasPlayerUUID,
Field: pk.UUID(c.UUID),
},
))
if err != nil {
return LoginErr{"login start", err}