Provide convenient unit packet registration

This commit is contained in:
DBotThePony 2025-03-18 18:56:23 +07:00
parent 7f299a6dec
commit 10f250b822
Signed by: DBot
GPG Key ID: DCC23B5715498507
3 changed files with 18 additions and 19 deletions

View File

@ -28,6 +28,18 @@ fun <T : CustomPacketPayload> PayloadRegistrar.playToServer(
handler: KFunction1<IPayloadContext, Unit>
): PayloadRegistrar = playToServer(type, codec) { _, context -> handler(context) }
fun <T : CustomPacketPayload> PayloadRegistrar.playToClient(
type: CustomPacketPayload.Type<T>,
value: T,
handler: KFunction1<IPayloadContext, Unit>
): PayloadRegistrar = playToClient(type, MatteryStreamCodec.MUnit(value)) { _, context -> handler(context) }
fun <T : CustomPacketPayload> PayloadRegistrar.playToServer(
type: CustomPacketPayload.Type<T>,
value: T,
handler: KFunction1<IPayloadContext, Unit>
): PayloadRegistrar = playToServer(type, MatteryStreamCodec.MUnit(value)) { _, context -> handler(context) }
inline fun encodePayload(registry: RegistryAccess, block: (RegistryFriendlyByteBuf) -> Unit): ByteArrayList {
val underlying = ByteBufAllocator.DEFAULT.buffer()
val buf = RegistryFriendlyByteBuf(underlying, registry, ConnectionType.NEOFORGE)

View File

@ -245,9 +245,6 @@ object ExopackMenuOpen : CustomPacketPayload {
"exopack_menu_open"
)
)
val CODEC: StreamCodec<FriendlyByteBuf, ExopackMenuOpen> =
StreamCodec.ofMember({ _, _ -> }, { ExopackMenuOpen })
}
class PickItemFromInventoryPacket(
@ -347,8 +344,6 @@ object DisplayExopackPacket : CustomPacketPayload {
"display_exopack"
)
)
val CODEC: StreamCodec<FriendlyByteBuf, DisplayExopackPacket> =
StreamCodec.ofMember({ _, _ -> }, { DisplayExopackPacket })
}
object HideExopackPacket : CustomPacketPayload {
@ -366,8 +361,6 @@ object HideExopackPacket : CustomPacketPayload {
"hide_exopack"
)
)
val CODEC: StreamCodec<FriendlyByteBuf, HideExopackPacket> =
StreamCodec.ofMember({ _, _ -> }, { HideExopackPacket })
}
object EnableExopackGlowPacket : CustomPacketPayload {
@ -385,8 +378,6 @@ object EnableExopackGlowPacket : CustomPacketPayload {
"enable_exopack_glow"
)
)
val CODEC: StreamCodec<FriendlyByteBuf, EnableExopackGlowPacket> =
StreamCodec.ofMember({ _, _ -> }, { EnableExopackGlowPacket })
}
object DisableExopackGlowPacket : CustomPacketPayload {
@ -404,8 +395,6 @@ object DisableExopackGlowPacket : CustomPacketPayload {
"disable_exopack_glow"
)
)
val CODEC: StreamCodec<FriendlyByteBuf, DisableExopackGlowPacket> =
StreamCodec.ofMember({ _, _ -> }, { DisableExopackGlowPacket })
}
object ResetExopackColorPacket : CustomPacketPayload {
@ -423,8 +412,6 @@ object ResetExopackColorPacket : CustomPacketPayload {
"reset_exopack_color"
)
)
val CODEC: StreamCodec<FriendlyByteBuf, ResetExopackColorPacket> =
StreamCodec.ofMember({ _, _ -> }, { ResetExopackColorPacket })
}
class ExopackSmokePacket(val player: UUID) : CustomPacketPayload {

View File

@ -44,15 +44,15 @@ internal fun registerNetworkPackets(event: RegisterPayloadHandlersEvent) {
.playToClient(ExopackSlotPacket.TYPE, ExopackSlotPacket.CODEC, ExopackSlotPacket::play)
.playToClient(ExopackMenuInitPacket.TYPE, ExopackMenuInitPacket.CODEC, ExopackMenuInitPacket::play)
.playToClient(ExopackSmokePacket.TYPE, ExopackSmokePacket.CODEC, ExopackSmokePacket::play)
.playToServer(ExopackMenuOpen.TYPE, ExopackMenuOpen.CODEC, ExopackMenuOpen::play)
.playToServer(ExopackMenuOpen.TYPE, ExopackMenuOpen, ExopackMenuOpen::play)
.playToServer(PickItemFromInventoryPacket.TYPE, PickItemFromInventoryPacket.CODEC, PickItemFromInventoryPacket::play)
.playToServer(DisplayExopackPacket.TYPE, DisplayExopackPacket.CODEC, DisplayExopackPacket::play)
.playToServer(HideExopackPacket.TYPE, HideExopackPacket.CODEC, HideExopackPacket::play)
.playToServer(EnableExopackGlowPacket.TYPE, EnableExopackGlowPacket.CODEC, EnableExopackGlowPacket::play)
.playToServer(DisableExopackGlowPacket.TYPE, DisableExopackGlowPacket.CODEC, DisableExopackGlowPacket::play)
.playToServer(ResetExopackColorPacket.TYPE, ResetExopackColorPacket.CODEC, ResetExopackColorPacket::play)
.playToServer(DisplayExopackPacket.TYPE, DisplayExopackPacket, DisplayExopackPacket::play)
.playToServer(HideExopackPacket.TYPE, HideExopackPacket, HideExopackPacket::play)
.playToServer(EnableExopackGlowPacket.TYPE, EnableExopackGlowPacket, EnableExopackGlowPacket::play)
.playToServer(DisableExopackGlowPacket.TYPE, DisableExopackGlowPacket, DisableExopackGlowPacket::play)
.playToServer(ResetExopackColorPacket.TYPE, ResetExopackColorPacket, ResetExopackColorPacket::play)
.playToServer(SetExopackColorPacket.TYPE, SetExopackColorPacket.CODEC, SetExopackColorPacket::play)
// otm player general