add license and fix some bugs

This commit is contained in:
2026-02-17 22:25:39 +08:00
parent a885a7eec4
commit da87c54494
15 changed files with 528 additions and 543 deletions
+66
View File
@@ -0,0 +1,66 @@
package packet
import (
"git.konjactw.dev/falloutBot/go-mc/data/packetid"
pk "git.konjactw.dev/falloutBot/go-mc/net/packet"
)
import loginclient "git.konjactw.dev/patyhank/minego/pkg/protocol/packet/login/client"
import gameclient "git.konjactw.dev/patyhank/minego/pkg/protocol/packet/game/client"
import configclient "git.konjactw.dev/patyhank/minego/pkg/protocol/packet/configuration/client"
import loginserver "git.konjactw.dev/patyhank/minego/pkg/protocol/packet/login/server"
import gameserver "git.konjactw.dev/patyhank/minego/pkg/protocol/packet/game/server"
import configserver "git.konjactw.dev/patyhank/minego/pkg/protocol/packet/configuration/server"
type ServerboundPacket interface {
pk.Field
PacketID() packetid.ServerboundPacketID
}
type ClientboundPacket interface {
pk.Field
PacketID() packetid.ClientboundPacketID
}
type State int32
const (
StateLogin State = iota
StateConfig
StatePlay
)
func GetClientPacket(state State, id int32) ClientboundPacket {
switch state {
case StateLogin:
return loginclient.ClientboundPackets[packetid.ClientboundPacketID(id)]()
case StateConfig:
return configclient.ClientboundPackets[packetid.ClientboundPacketID(id)]()
case StatePlay:
return gameclient.ClientboundPackets[packetid.ClientboundPacketID(id)]()
}
return nil
}
func GetServerPacket(state State, id int32) ServerboundPacket {
switch state {
case StateLogin:
creator := loginserver.ServerboundPackets[packetid.ServerboundPacketID(id)]
if creator == nil {
return nil
}
return creator()
case StateConfig:
creator := configserver.ServerboundPackets[packetid.ServerboundPacketID(id)]
if creator == nil {
return nil
}
return creator()
case StatePlay:
creator := gameserver.ServerboundPackets[packetid.ServerboundPacketID(id)]
if creator == nil {
return nil
}
return creator()
}
return nil
}