monorepo fixes
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
|
||||
func TypeToPacketIdentifier(d proto_base.Direction, s proto_base.State, t any) (i string) {
|
||||
switch d {
|
||||
case proto_base.ToServer:
|
||||
switch s {
|
||||
case proto_base.Handshaking:
|
||||
i = HandshakingToServerTypeToPacketIdentifier(t)
|
||||
case proto_base.Status:
|
||||
i = StatusToServerTypeToPacketIdentifier(t)
|
||||
case proto_base.Login:
|
||||
i = LoginToServerTypeToPacketIdentifier(t)
|
||||
case proto_base.Configuration:
|
||||
i = ConfigurationToServerTypeToPacketIdentifier(t)
|
||||
case proto_base.Play:
|
||||
i = PlayToServerTypeToPacketIdentifier(t)
|
||||
}
|
||||
case proto_base.ToClient:
|
||||
switch s {
|
||||
case proto_base.Handshaking:
|
||||
i = HandshakingToClientTypeToPacketIdentifier(t)
|
||||
case proto_base.Status:
|
||||
i = StatusToClientTypeToPacketIdentifier(t)
|
||||
case proto_base.Login:
|
||||
i = LoginToClientTypeToPacketIdentifier(t)
|
||||
case proto_base.Configuration:
|
||||
i = ConfigurationToClientTypeToPacketIdentifier(t)
|
||||
case proto_base.Play:
|
||||
i = PlayToClientTypeToPacketIdentifier(t)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func PacketIdentifierToType(d proto_base.Direction, s proto_base.State, i string) (t any) {
|
||||
switch d {
|
||||
case proto_base.ToServer:
|
||||
switch s {
|
||||
case proto_base.Handshaking:
|
||||
t = HandshakingToServerPacketIdentifierToType(i)
|
||||
case proto_base.Status:
|
||||
t = StatusToServerPacketIdentifierToType(i)
|
||||
case proto_base.Login:
|
||||
t = LoginToServerPacketIdentifierToType(i)
|
||||
case proto_base.Configuration:
|
||||
t = ConfigurationToServerPacketIdentifierToType(i)
|
||||
case proto_base.Play:
|
||||
t = PlayToServerPacketIdentifierToType(i)
|
||||
}
|
||||
case proto_base.ToClient:
|
||||
switch s {
|
||||
case proto_base.Handshaking:
|
||||
t = HandshakingToClientPacketIdentifierToType(i)
|
||||
case proto_base.Status:
|
||||
t = StatusToClientPacketIdentifierToType(i)
|
||||
case proto_base.Login:
|
||||
t = LoginToClientPacketIdentifierToType(i)
|
||||
case proto_base.Configuration:
|
||||
t = ConfigurationToClientPacketIdentifierToType(i)
|
||||
case proto_base.Play:
|
||||
t = PlayToClientPacketIdentifierToType(i)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func DecodePacket(d proto_base.Direction, s proto_base.State, r io.Reader) (params any, err error) {
|
||||
switch d {
|
||||
case proto_base.ToServer:
|
||||
switch s {
|
||||
case proto_base.Handshaking:
|
||||
var packet HandshakingToServerPacket
|
||||
packet, err = HandshakingToServerPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
case proto_base.Status:
|
||||
var packet StatusToServerPacket
|
||||
packet, err = StatusToServerPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
case proto_base.Login:
|
||||
var packet LoginToServerPacket
|
||||
packet, err = LoginToServerPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
case proto_base.Configuration:
|
||||
var packet ConfigurationToServerPacket
|
||||
packet, err = ConfigurationToServerPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
case proto_base.Play:
|
||||
var packet PlayToServerPacket
|
||||
packet, err = PlayToServerPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
}
|
||||
case proto_base.ToClient:
|
||||
switch s {
|
||||
case proto_base.Handshaking:
|
||||
var packet HandshakingToClientPacket
|
||||
packet, err = HandshakingToClientPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
case proto_base.Status:
|
||||
var packet StatusToClientPacket
|
||||
packet, err = StatusToClientPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
case proto_base.Login:
|
||||
var packet LoginToClientPacket
|
||||
packet, err = LoginToClientPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
case proto_base.Configuration:
|
||||
var packet ConfigurationToClientPacket
|
||||
packet, err = ConfigurationToClientPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
case proto_base.Play:
|
||||
var packet PlayToClientPacket
|
||||
packet, err = PlayToClientPacket{}.Decode(r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
params = packet.Params
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func EncodePacket(d proto_base.Direction, s proto_base.State, i string, p any, w io.Writer) (err error) {
|
||||
switch d {
|
||||
case proto_base.ToServer:
|
||||
switch s {
|
||||
case proto_base.Handshaking:
|
||||
err = HandshakingToServerPacket{i, p}.Encode(w)
|
||||
case proto_base.Status:
|
||||
err = StatusToServerPacket{i, p}.Encode(w)
|
||||
case proto_base.Login:
|
||||
err = LoginToServerPacket{i, p}.Encode(w)
|
||||
case proto_base.Configuration:
|
||||
err = ConfigurationToServerPacket{i, p}.Encode(w)
|
||||
case proto_base.Play:
|
||||
err = PlayToServerPacket{i, p}.Encode(w)
|
||||
}
|
||||
case proto_base.ToClient:
|
||||
switch s {
|
||||
case proto_base.Handshaking:
|
||||
err = HandshakingToClientPacket{i, p}.Encode(w)
|
||||
case proto_base.Status:
|
||||
err = StatusToClientPacket{i, p}.Encode(w)
|
||||
case proto_base.Login:
|
||||
err = LoginToClientPacket{i, p}.Encode(w)
|
||||
case proto_base.Configuration:
|
||||
err = ConfigurationToClientPacket{i, p}.Encode(w)
|
||||
case proto_base.Play:
|
||||
err = PlayToClientPacket{i, p}.Encode(w)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user