@@ -10,7 +10,7 @@ import org.jetbrains.annotations.ApiStatus
1010
1111object PacketInterceptor {
1212
13- private val packetCallbacks = mutableMapOf<Int , Pair <Class <out Packet <* >>, (Packet <* >) -> Unit >> ()
13+ private val packetCallbacks = mutableMapOf<Int , Pair <Class <out Packet <* >>, (Player , Packet <* >) -> Unit >> ()
1414 private var counter = 0
1515
1616 /* *
@@ -22,12 +22,12 @@ object PacketInterceptor {
2222 * @param callback the callback to be called when the packet is received
2323 * @return the ID of the callback
2424 */
25- fun <T : Packet <* >> registerPacketCallback (packet : Class <T >, callback : (T ) -> Unit ): Int {
25+ fun <T : Packet <* >> registerPacketCallback (packet : Class <T >, callback : (Player , T ) -> Unit ): Int {
2626 val id = counter++
27- packetCallbacks[id] = Pair (packet, callback as (Packet <* >) -> Unit )
27+ packetCallbacks[id] = Pair (packet, callback as (Player , Packet <* >) -> Unit )
2828 return id
2929 }
30-
30+
3131 /* *
3232 * Unregisters a packet callback.
3333 *
@@ -44,9 +44,9 @@ object PacketInterceptor {
4444 * @param packet the packet to handle
4545 */
4646 @ApiStatus.Internal
47- internal fun handlePacket (packet : Packet <* >) {
48- packetCallbacks.filter { it.value.first.javaClass == packet.javaClass }.forEach { (id , pair) ->
49- pair.second(packet)
47+ internal fun handlePacket (player : Player , packet : Packet <* >) {
48+ packetCallbacks.filter { it.value.first.javaClass == packet.javaClass }.forEach { (_ , pair) ->
49+ pair.second(player, packet)
5050 }
5151 }
5252}
@@ -60,7 +60,7 @@ fun Player.injectPacketInterceptor() {
6060 val channelDuplexHandler = object : ChannelDuplexHandler () {
6161 override fun channelRead (channelHandlerContext : ChannelHandlerContext , packet : Any ) {
6262 if (packet !is Packet <* >) return
63- PacketInterceptor .handlePacket(packet)
63+ PacketInterceptor .handlePacket(this @injectPacketInterceptor, packet)
6464 super .channelRead(channelHandlerContext, packet)
6565 }
6666 }
0 commit comments