Add playerinfo recorder for chat message

This commit is contained in:
Tnze
2022-12-30 01:09:08 +08:00
parent 6fba193255
commit 77857a1a85
6 changed files with 206 additions and 39 deletions

View File

@ -9,6 +9,7 @@ import (
"github.com/Tnze/go-mc/bot"
"github.com/Tnze/go-mc/bot/basic"
"github.com/Tnze/go-mc/bot/playerlist"
"github.com/Tnze/go-mc/chat"
"github.com/Tnze/go-mc/chat/sign"
"github.com/Tnze/go-mc/data/packetid"
@ -20,12 +21,12 @@ type Manager struct {
p *basic.Player
}
func New(c *bot.Client, p *basic.Player, events EventsHandler) *Manager {
attachPlayerMsg(c, p, events.PlayerChatMessage)
func New(c *bot.Client, p *basic.Player, pl *playerlist.PlayerList, events EventsHandler) *Manager {
attachPlayerMsg(c, p, pl, events.PlayerChatMessage)
return &Manager{c, p}
}
func attachPlayerMsg(c *bot.Client, p *basic.Player, handler func(msg chat.Message) error) {
func attachPlayerMsg(c *bot.Client, p *basic.Player, _ *playerlist.PlayerList, handler func(msg chat.Message) error) {
c.Events.AddListener(
bot.PacketHandler{
Priority: 64, ID: packetid.ClientboundPlayerChat,
@ -85,3 +86,5 @@ func (m *Manager) SendMessage(msg string) error {
))
return err
}
var InvalidChatPacket = errors.New("invalid chat packet")