This commit is contained in:
Tnze
2021-06-20 13:02:02 +08:00
parent 47ebfc3c27
commit 53f9414707

View File

@ -150,18 +150,21 @@ func (c *Client) join(d *net.Dialer, addr string) error {
if err := p.Scan(&msgid, &channel, &data); err != nil { if err := p.Scan(&msgid, &channel, &data); err != nil {
return LoginErr{"Login Plugin", err} return LoginErr{"Login Plugin", err}
} }
if handler, ok := c.LoginPlugin[string(channel)]; ok {
respdata, err := handler([]byte(data)) handler, ok := c.LoginPlugin[string(channel)]
if ok {
data, err = handler(data)
if err != nil { if err != nil {
return LoginErr{"Login Plugin", err} return LoginErr{"Login Plugin", err}
} }
if err := c.Conn.WritePacket(pk.Marshal(packetid.LoginPluginResponse, msgid, pk.Boolean(true), pk.ByteArray(respdata))); err != nil { }
return LoginErr{"login Plugin", err}
} if err := c.Conn.WritePacket(pk.Marshal(
} else { packetid.LoginPluginResponse,
if err := c.Conn.WritePacket(pk.Marshal(packetid.LoginPluginResponse, msgid, pk.Boolean(false))); err != nil { msgid, pk.Boolean(ok),
return LoginErr{"login Plugin", err} pk.Opt{Has: ok, Field: data},
} )); err != nil {
return LoginErr{"login Plugin", err}
} }
} }
} }