Fix command compound

This commit is contained in:
Tnze
2022-06-21 18:07:41 +08:00
parent c0a7feb28c
commit 0c804fdd41
2 changed files with 5 additions and 138 deletions

View File

@ -1,44 +1,17 @@
package command
import (
"context"
"strings"
"github.com/Tnze/go-mc/data/packetid"
pk "github.com/Tnze/go-mc/net/packet"
"github.com/Tnze/go-mc/server"
)
// Init implement server.Component for Graph
func (g *Graph) Init(game *server.Game) {
game.AddHandler(&server.PacketHandler{
ID: packetid.ServerboundChat,
F: func(client *server.Client, player *server.Player, packet server.Packet758) error {
var msg pk.String
if err := pk.Packet(packet).Scan(&msg); err != nil {
return err
}
if cmd := string(msg); strings.HasPrefix(cmd, "/") {
ctx := context.WithValue(context.TODO(), "sender", player)
cmderr := g.Execute(ctx, strings.TrimPrefix(cmd, "/"))
if cmderr != nil {
// TODO: tell player that their command has error
}
}
return nil
},
})
type Client interface {
SendPacket(p pk.Packet)
}
// Run implement server.Component for Graph
func (g *Graph) Run(ctx context.Context) {}
// ClientJoin implement server.Component for Graph
func (g *Graph) ClientJoin(client *server.Client, _ *server.Player) {
client.WritePacket(server.Packet758(pk.Marshal(
func (g *Graph) ClientJoin(client Client) {
client.SendPacket(pk.Marshal(
packetid.ClientboundCommands, g,
)))
))
}
// ClientLeft implement server.Component for Graph
func (g *Graph) ClientLeft(_ *server.Client, _ *server.Player, _ error) {}