monorepo fixes

This commit is contained in:
adman
2025-12-15 22:46:34 +01:00
parent 6108534a12
commit c58dbbe5b0
83 changed files with 2273 additions and 2042 deletions
+178
View File
@@ -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
}