add player package with key client-side player functionality, update protocol codecs, and refactor metadata definitions and slot usage

This commit is contained in:
2025-08-23 16:19:45 +08:00
parent cff9d4a809
commit 4528bdc86a
32 changed files with 2613 additions and 468 deletions

29
pkg/bot/client.go Normal file
View File

@ -0,0 +1,29 @@
package bot
import (
"context"
"git.konjactw.dev/patyhank/minego/pkg/auth"
"git.konjactw.dev/patyhank/minego/pkg/protocol/packet/game/server"
)
type Client interface {
Connect(ctx context.Context, addr string, options *ConnectOptions) error
Close(ctx context.Context) error
IsConnected() bool
WritePacket(ctx context.Context, packet server.ServerboundPacket) error
PacketHandler() PacketHandler
EventHandler() EventHandler
World() World
Inventory() InventoryHandler
Player() Player
}
type ClientOptions struct {
AuthProvider auth.Provider
}
type ConnectOptions struct {
FakeHost string
}