This commit is contained in:
adman
2025-12-19 17:26:58 +01:00
parent cb38382a07
commit d7df6b25ef
20 changed files with 401 additions and 167 deletions
+52
View File
@@ -0,0 +1,52 @@
package modules
import (
"errors"
"fmt"
"github.com/admin-else/strom/event"
"github.com/admin-else/strom/proto"
"github.com/admin-else/strom/proto_base"
"github.com/admin-else/strom/proto_generated/v1_21_8"
)
type ConfigIgnorer struct {
*proto.Conn
}
func (c *ConfigIgnorer) Default(event any) (err error) {
fmt.Printf("%#v\n", event)
return
}
func (c *ConfigIgnorer) OnKnownPacks(packet v1_21_8.PacketCommonSelectKnownPacks) (err error) {
return c.Send(packet)
}
func (c *ConfigIgnorer) OnFinish(_ v1_21_8.ConfigurationToClientPacketFinishConfiguration) (err error) {
err = c.Send(v1_21_8.ConfigurationToServerPacketFinishConfiguration{})
if err != nil {
return
}
c.State = proto_base.Play
err = event.HandlerDone
return
}
func (c *ConfigIgnorer) OnPing(packet v1_21_8.ConfigurationToClientPacketPing) (err error) {
err = c.Send(v1_21_8.ConfigurationToServerPacketPong(packet))
return
}
func (c *ConfigIgnorer) OnKeepAlive(packet v1_21_8.ConfigurationToClientPacketKeepAlive) (err error) {
err = c.Send(v1_21_8.ConfigurationToServerPacketKeepAlive(packet))
return
}
func IgnoreConfig(c *proto.Conn) (err error) {
err = c.Start(&ConfigIgnorer{c})
if err != nil {
err = errors.Join(err, errors.New("failed to ignore config"))
}
return
}