#(plugin id can be found at https://plugins.jetbrains.com)
+
+#Specify Qodana linter for analysis (Applied in CI/CD pipeline)
+linter: jetbrains/qodana-jvm:2024.3
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 129749f1..c585a093 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -5,8 +5,6 @@ rootProject.name = "surf-cloud"
val ci = System.getenv("CI")?.toBoolean() == true
-include(":docs")
-
include("surf-cloud-core")
include("surf-cloud-bukkit")
include("surf-cloud-velocity")
@@ -28,6 +26,16 @@ findProject(":surf-cloud-core:surf-cloud-core-common")?.name = "surf-cloud-core-
include("surf-cloud-core:surf-cloud-core-client")
findProject(":surf-cloud-core:surf-cloud-core-client")?.name = "surf-cloud-core-client"
+include("surf-cloud-api:surf-cloud-api-client:surf-cloud-api-client-common")
+findProject(":surf-cloud-api:surf-cloud-api-client:surf-cloud-api-client-common")?.name = "surf-cloud-api-client-common"
+
+include("surf-cloud-api:surf-cloud-api-client:surf-cloud-api-client-paper")
+findProject(":surf-cloud-api:surf-cloud-api-client:surf-cloud-api-client-paper")?.name = "surf-cloud-api-client-paper"
+
+include("surf-cloud-api:surf-cloud-api-client:surf-cloud-api-client-velocity")
+findProject(":surf-cloud-api:surf-cloud-api-client:surf-cloud-api-client-velocity")?.name = "surf-cloud-api-client-velocity"
+
if (!ci) {
include(":surf-cloud-test-plugin:surf-cloud-test-standalone")
-}
\ No newline at end of file
+}
+
diff --git a/surf-cloud-api/surf-cloud-api-client/build.gradle.kts b/surf-cloud-api/surf-cloud-api-client/build.gradle.kts
index 6d3a9269..e69de29b 100644
--- a/surf-cloud-api/surf-cloud-api-client/build.gradle.kts
+++ b/surf-cloud-api/surf-cloud-api-client/build.gradle.kts
@@ -1,8 +0,0 @@
-plugins {
- id("dev.slne.surf.surfapi.gradle.core")
- `core-convention`
-}
-
-dependencies {
- api(project(":surf-cloud-api:surf-cloud-api-common"))
-}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-client/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/packet/NettyPacketClientExtension.kt b/surf-cloud-api/surf-cloud-api-client/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/packet/NettyPacketClientExtension.kt
deleted file mode 100644
index 1bc19eee..00000000
--- a/surf-cloud-api/surf-cloud-api-client/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/packet/NettyPacketClientExtension.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-package dev.slne.surf.cloud.api.client.netty.packet
-
-import dev.slne.surf.cloud.api.client.netty.nettyManager
-import dev.slne.surf.cloud.api.common.netty.packet.DEFAULT_TIMEOUT
-import dev.slne.surf.cloud.api.common.netty.packet.NettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import kotlin.time.Duration
-
-suspend fun NettyPacket.fire(convertExceptions: Boolean = true) {
- nettyManager.client.fire(this, convertExceptions)
-}
-
-fun NettyPacket.fireAndForget() {
- nettyManager.client.fireAndForget(this)
-}
-
-suspend fun RespondingNettyPacket
.fireAndAwait(timeout: Duration = DEFAULT_TIMEOUT): P? =
- fireAndAwait(nettyManager.client.connection, timeout)
-
-suspend fun
RespondingNettyPacket
.fireAndAwaitUrgent(): P? =
- fireAndAwaitUrgent(nettyManager.client.connection)
-
-suspend fun
RespondingNettyPacket
.fireAndAwaitOrThrow(timeout: Duration = DEFAULT_TIMEOUT): P =
- fireAndAwaitOrThrow(nettyManager.client.connection, timeout)
-
-suspend fun
RespondingNettyPacket
.fireAndAwaitOrThrowUrgent(): P =
- fireAndAwaitOrThrowUrgent(nettyManager.client.connection)
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/api/surf-cloud-api-client-common.api b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/api/surf-cloud-api-client-common.api
new file mode 100644
index 00000000..6b166e92
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/api/surf-cloud-api-client-common.api
@@ -0,0 +1,21 @@
+public abstract interface class dev/slne/surf/cloud/api/client/netty/CloudClientNettyManager {
+ public static final field Companion Ldev/slne/surf/cloud/api/client/netty/CloudClientNettyManager$Companion;
+ public abstract fun getClient ()Ldev/slne/surf/cloud/api/common/netty/NettyClient;
+}
+
+public final class dev/slne/surf/cloud/api/client/netty/CloudClientNettyManager$Companion : dev/slne/surf/cloud/api/client/netty/CloudClientNettyManager {
+ public fun getClient ()Ldev/slne/surf/cloud/api/common/netty/NettyClient;
+}
+
+public final class dev/slne/surf/cloud/api/client/netty/packet/NettyPacketClientExtensionKt {
+ public static final fun fire (Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static synthetic fun fire$default (Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+ public static final fun fireAndAwait-8Mi8wO0 (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static synthetic fun fireAndAwait-8Mi8wO0$default (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+ public static final fun fireAndAwaitOrThrow-8Mi8wO0 (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static synthetic fun fireAndAwaitOrThrow-8Mi8wO0$default (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+ public static final fun fireAndAwaitOrThrowUrgent (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static final fun fireAndAwaitUrgent (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static final fun fireAndForget (Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;)V
+}
+
diff --git a/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/build.gradle.kts b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/build.gradle.kts
new file mode 100644
index 00000000..03725083
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/build.gradle.kts
@@ -0,0 +1,7 @@
+plugins {
+ id("dev.slne.surf.surfapi.gradle.core")
+}
+
+dependencies {
+ api(project(":surf-cloud-api:surf-cloud-api-common"))
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-client/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/CloudClientNettyManager.kt b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/CloudClientNettyManager.kt
similarity index 52%
rename from surf-cloud-api/surf-cloud-api-client/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/CloudClientNettyManager.kt
rename to surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/CloudClientNettyManager.kt
index b1dbdb68..1956c886 100644
--- a/surf-cloud-api/surf-cloud-api-client/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/CloudClientNettyManager.kt
+++ b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/CloudClientNettyManager.kt
@@ -1,16 +1,12 @@
package dev.slne.surf.cloud.api.client.netty
import dev.slne.surf.cloud.api.common.netty.NettyClient
-import dev.slne.surf.cloud.api.common.util.requiredService
+import dev.slne.surf.surfapi.core.api.util.requiredService
import org.jetbrains.annotations.ApiStatus.NonExtendable
@NonExtendable
interface CloudClientNettyManager {
val client: NettyClient
- companion object {
- val instance = requiredService()
- }
-}
-
-val nettyManager get() = CloudClientNettyManager.instance
\ No newline at end of file
+ companion object : CloudClientNettyManager by requiredService()
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/packet/NettyPacketClientExtension.kt b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/packet/NettyPacketClientExtension.kt
new file mode 100644
index 00000000..939c755f
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-common/src/main/kotlin/dev/slne/surf/cloud/api/client/netty/packet/NettyPacketClientExtension.kt
@@ -0,0 +1,49 @@
+@file:OptIn(InternalApi::class)
+
+package dev.slne.surf.cloud.api.client.netty.packet
+
+import dev.slne.surf.cloud.api.client.netty.CloudClientNettyManager
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseType
+import dev.slne.surf.cloud.api.common.netty.packet.DEFAULT_TIMEOUT
+import dev.slne.surf.cloud.api.common.netty.packet.NettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
+import dev.slne.surf.cloud.api.common.util.annotation.InternalApi
+import kotlin.time.Duration
+
+suspend fun NettyPacket.fire(convertExceptions: Boolean = true) {
+ CloudClientNettyManager.client.fire(this, convertExceptions)
+}
+
+fun NettyPacket.fireAndForget() {
+ CloudClientNettyManager.client.fireAndForget(this)
+}
+
+suspend fun RespondingNettyPacket
.fireAndAwait(timeout: Duration = DEFAULT_TIMEOUT): P? =
+ fireAndAwait(CloudClientNettyManager.client.connection, timeout)
+
+suspend fun
RespondingNettyPacket
.fireAndAwaitUrgent(): P? =
+ fireAndAwaitUrgent(CloudClientNettyManager.client.connection)
+
+suspend fun
RespondingNettyPacket
.fireAndAwaitOrThrow(timeout: Duration = DEFAULT_TIMEOUT): P =
+ fireAndAwaitOrThrow(CloudClientNettyManager.client.connection, timeout)
+
+suspend fun
RespondingNettyPacket
.fireAndAwaitOrThrowUrgent(): P =
+ fireAndAwaitOrThrowUrgent(CloudClientNettyManager.client.connection)
+
+
+suspend inline fun RespondingNettyPacket.await(timeout: Duration = DEFAULT_TIMEOUT): R? where T : ResponseNettyPacket, T : CommonResponseType {
+ return fireAndAwait(timeout)?.value
+}
+
+suspend inline fun RespondingNettyPacket.awaitUrgent(): R? where T : ResponseNettyPacket, T : CommonResponseType {
+ return fireAndAwaitUrgent()?.value
+}
+
+suspend inline fun RespondingNettyPacket.awaitOrThrow(timeout: Duration = DEFAULT_TIMEOUT): R where T : ResponseNettyPacket, T : CommonResponseType {
+ return fireAndAwaitOrThrow(timeout).value
+}
+
+suspend inline fun RespondingNettyPacket.awaitOrThrowUrgent(): R where T : ResponseNettyPacket, T : CommonResponseType {
+ return fireAndAwaitOrThrowUrgent().value
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/api/surf-cloud-api-client-paper.api b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/api/surf-cloud-api-client-paper.api
new file mode 100644
index 00000000..619d7e8c
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/api/surf-cloud-api-client-paper.api
@@ -0,0 +1,15 @@
+public final class dev/slne/surf/cloud/api/client/paper/Paper_cloud_converterKt {
+ public static final fun toBukkitTpCause (Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;)Lorg/bukkit/event/player/PlayerTeleportEvent$TeleportCause;
+ public static final fun toBukkitTpFlag (Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;)Lio/papermc/paper/entity/TeleportFlag;
+ public static final fun toCloudTpCause (Lorg/bukkit/event/player/PlayerTeleportEvent$TeleportCause;)Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final fun toCloudTpFlag (Lio/papermc/paper/entity/TeleportFlag;)Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+ public static final fun toCloudTpLocation (Lorg/bukkit/Location;)Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;
+ public static final fun toLocation (Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;)Lorg/bukkit/Location;
+}
+
+public final class dev/slne/surf/cloud/api/client/paper/player/CloudPlayerBukkitExtensionsKt {
+ public static final fun teleport (Ldev/slne/surf/cloud/api/common/player/CloudPlayer;Lorg/bukkit/Location;Lorg/bukkit/event/player/PlayerTeleportEvent$TeleportCause;[Lio/papermc/paper/entity/TeleportFlag;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static synthetic fun teleport$default (Ldev/slne/surf/cloud/api/common/player/CloudPlayer;Lorg/bukkit/Location;Lorg/bukkit/event/player/PlayerTeleportEvent$TeleportCause;[Lio/papermc/paper/entity/TeleportFlag;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+ public static final fun toCloudOfflinePlayer (Lorg/bukkit/OfflinePlayer;)Ldev/slne/surf/cloud/api/common/player/OfflineCloudPlayer;
+}
+
diff --git a/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/build.gradle.kts b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/build.gradle.kts
new file mode 100644
index 00000000..c6effa55
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/build.gradle.kts
@@ -0,0 +1,7 @@
+plugins {
+ id("dev.slne.surf.surfapi.gradle.paper-raw")
+}
+
+dependencies {
+ api(project(":surf-cloud-api:surf-cloud-api-client:surf-cloud-api-client-common"))
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/src/main/kotlin/dev/slne/surf/cloud/api/client/paper/paper-cloud-converter.kt b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/src/main/kotlin/dev/slne/surf/cloud/api/client/paper/paper-cloud-converter.kt
new file mode 100644
index 00000000..acb479d5
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/src/main/kotlin/dev/slne/surf/cloud/api/client/paper/paper-cloud-converter.kt
@@ -0,0 +1,59 @@
+package dev.slne.surf.cloud.api.client.paper
+
+import dev.slne.surf.cloud.api.common.player.teleport.TeleportCause
+import dev.slne.surf.cloud.api.common.player.teleport.TeleportLocation
+import io.papermc.paper.entity.TeleportFlag
+import org.bukkit.Bukkit
+import org.bukkit.Location
+import org.bukkit.event.player.PlayerTeleportEvent
+import dev.slne.surf.cloud.api.common.player.teleport.TeleportFlag as CloudTeleportFlag
+
+fun Location.toCloudTpLocation() = TeleportLocation(world.uid, x, y, z, yaw, pitch)
+fun TeleportLocation.toLocation() = Location(Bukkit.getWorld(world), x, y, z, yaw, pitch)
+fun PlayerTeleportEvent.TeleportCause.toCloudTpCause(): TeleportCause = when (this) {
+ PlayerTeleportEvent.TeleportCause.PLUGIN -> TeleportCause.PLUGIN
+ PlayerTeleportEvent.TeleportCause.COMMAND -> TeleportCause.COMMAND
+ PlayerTeleportEvent.TeleportCause.UNKNOWN -> TeleportCause.UNKNOWN
+ PlayerTeleportEvent.TeleportCause.DISMOUNT -> TeleportCause.DISMOUNT
+ PlayerTeleportEvent.TeleportCause.SPECTATE -> TeleportCause.SPECTATE
+ PlayerTeleportEvent.TeleportCause.EXIT_BED -> TeleportCause.EXIT_BED
+ PlayerTeleportEvent.TeleportCause.END_PORTAL -> TeleportCause.END_PORTAL
+ PlayerTeleportEvent.TeleportCause.CHORUS_FRUIT -> TeleportCause.CHORUS_FRUIT
+ PlayerTeleportEvent.TeleportCause.ENDER_PEARL -> TeleportCause.ENDER_PEARL
+ PlayerTeleportEvent.TeleportCause.END_GATEWAY -> TeleportCause.END_GATEWAY
+ PlayerTeleportEvent.TeleportCause.NETHER_PORTAL -> TeleportCause.NETHER_PORTAL
+}
+
+fun TeleportCause.toBukkitTpCause(): PlayerTeleportEvent.TeleportCause = when (this) {
+ TeleportCause.PLUGIN -> PlayerTeleportEvent.TeleportCause.PLUGIN
+ TeleportCause.COMMAND -> PlayerTeleportEvent.TeleportCause.COMMAND
+ TeleportCause.UNKNOWN -> PlayerTeleportEvent.TeleportCause.UNKNOWN
+ TeleportCause.DISMOUNT -> PlayerTeleportEvent.TeleportCause.DISMOUNT
+ TeleportCause.SPECTATE -> PlayerTeleportEvent.TeleportCause.SPECTATE
+ TeleportCause.EXIT_BED -> PlayerTeleportEvent.TeleportCause.EXIT_BED
+ TeleportCause.END_PORTAL -> PlayerTeleportEvent.TeleportCause.END_PORTAL
+ TeleportCause.CHORUS_FRUIT -> PlayerTeleportEvent.TeleportCause.CHORUS_FRUIT
+ TeleportCause.ENDER_PEARL -> PlayerTeleportEvent.TeleportCause.ENDER_PEARL
+ TeleportCause.END_GATEWAY -> PlayerTeleportEvent.TeleportCause.END_GATEWAY
+ TeleportCause.NETHER_PORTAL -> PlayerTeleportEvent.TeleportCause.NETHER_PORTAL
+}
+
+fun TeleportFlag.toCloudTpFlag(): CloudTeleportFlag = when (this) {
+ TeleportFlag.Relative.VELOCITY_X -> CloudTeleportFlag.VELOCITY_X
+ TeleportFlag.Relative.VELOCITY_Y -> CloudTeleportFlag.VELOCITY_Y
+ TeleportFlag.Relative.VELOCITY_Z -> CloudTeleportFlag.VELOCITY_Z
+ TeleportFlag.Relative.VELOCITY_ROTATION -> CloudTeleportFlag.VELOCITY_ROTATION
+ TeleportFlag.EntityState.RETAIN_VEHICLE -> CloudTeleportFlag.RETAIN_VEHICLE
+ TeleportFlag.EntityState.RETAIN_PASSENGERS -> CloudTeleportFlag.RETAIN_PASSENGERS
+ TeleportFlag.EntityState.RETAIN_OPEN_INVENTORY -> CloudTeleportFlag.RETAIN_OPEN_INVENTORY
+}
+
+fun CloudTeleportFlag.toBukkitTpFlag(): TeleportFlag = when (this) {
+ CloudTeleportFlag.VELOCITY_X -> TeleportFlag.Relative.VELOCITY_X
+ CloudTeleportFlag.VELOCITY_Y -> TeleportFlag.Relative.VELOCITY_Y
+ CloudTeleportFlag.VELOCITY_Z -> TeleportFlag.Relative.VELOCITY_Z
+ CloudTeleportFlag.VELOCITY_ROTATION -> TeleportFlag.Relative.VELOCITY_ROTATION
+ CloudTeleportFlag.RETAIN_VEHICLE -> TeleportFlag.EntityState.RETAIN_VEHICLE
+ CloudTeleportFlag.RETAIN_PASSENGERS -> TeleportFlag.EntityState.RETAIN_PASSENGERS
+ CloudTeleportFlag.RETAIN_OPEN_INVENTORY -> TeleportFlag.EntityState.RETAIN_OPEN_INVENTORY
+}
diff --git a/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/src/main/kotlin/dev/slne/surf/cloud/api/client/paper/player/CloudPlayerBukkitExtensions.kt b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/src/main/kotlin/dev/slne/surf/cloud/api/client/paper/player/CloudPlayerBukkitExtensions.kt
new file mode 100644
index 00000000..8941a164
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-paper/src/main/kotlin/dev/slne/surf/cloud/api/client/paper/player/CloudPlayerBukkitExtensions.kt
@@ -0,0 +1,25 @@
+package dev.slne.surf.cloud.api.client.paper.player
+
+import dev.slne.surf.cloud.api.client.paper.toCloudTpCause
+import dev.slne.surf.cloud.api.client.paper.toCloudTpFlag
+import dev.slne.surf.cloud.api.client.paper.toCloudTpLocation
+import dev.slne.surf.cloud.api.common.player.CloudPlayer
+import dev.slne.surf.cloud.api.common.player.CloudPlayerManager
+import io.papermc.paper.entity.TeleportFlag
+import org.bukkit.Location
+import org.bukkit.OfflinePlayer
+import org.bukkit.event.player.PlayerTeleportEvent
+
+suspend fun CloudPlayer.teleport(
+ location: Location,
+ cause: PlayerTeleportEvent.TeleportCause = PlayerTeleportEvent.TeleportCause.PLUGIN,
+ vararg flags: TeleportFlag
+) {
+ teleport(
+ location.toCloudTpLocation(),
+ cause.toCloudTpCause(),
+ *flags.map { it.toCloudTpFlag() }.toTypedArray()
+ )
+}
+
+fun OfflinePlayer.toCloudOfflinePlayer() = CloudPlayerManager.getOfflinePlayer(uniqueId)
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-velocity/api/surf-cloud-api-client-velocity.api b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-velocity/api/surf-cloud-api-client-velocity.api
new file mode 100644
index 00000000..e69de29b
diff --git a/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-velocity/build.gradle.kts b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-velocity/build.gradle.kts
new file mode 100644
index 00000000..cdf830df
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-client/surf-cloud-api-client-velocity/build.gradle.kts
@@ -0,0 +1,7 @@
+plugins {
+ id("dev.slne.surf.surfapi.gradle.core")
+}
+
+dependencies {
+ api(project(":surf-cloud-api:surf-cloud-api-client:surf-cloud-api-client-common"))
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/api/surf-cloud-api-common.api b/surf-cloud-api/surf-cloud-api-common/api/surf-cloud-api-common.api
new file mode 100644
index 00000000..b27b141c
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-common/api/surf-cloud-api-common.api
@@ -0,0 +1,2641 @@
+public abstract interface class dev/slne/surf/cloud/api/common/CloudInstance {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/CloudInstance$Companion;
+ public abstract fun startSpringApplication (Ljava/lang/Class;Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;Lkotlin/jvm/functions/Function1;)Lorg/springframework/context/ConfigurableApplicationContext;
+}
+
+public final class dev/slne/surf/cloud/api/common/CloudInstance$Companion : dev/slne/surf/cloud/api/common/CloudInstance {
+ public fun startSpringApplication (Ljava/lang/Class;Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;Lkotlin/jvm/functions/Function1;)Lorg/springframework/context/ConfigurableApplicationContext;
+}
+
+public final class dev/slne/surf/cloud/api/common/CloudInstance$DefaultImpls {
+ public static synthetic fun startSpringApplication$default (Ldev/slne/surf/cloud/api/common/CloudInstance;Ljava/lang/Class;Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/springframework/context/ConfigurableApplicationContext;
+}
+
+public final class dev/slne/surf/cloud/api/common/CloudInstanceKt {
+ public static final fun startSpringApplication (Ldev/slne/surf/cloud/api/common/CloudInstance;Lkotlin/reflect/KClass;Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;Lkotlin/jvm/functions/Function1;)Lorg/springframework/context/ConfigurableApplicationContext;
+ public static synthetic fun startSpringApplication$default (Ldev/slne/surf/cloud/api/common/CloudInstance;Lkotlin/reflect/KClass;Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/springframework/context/ConfigurableApplicationContext;
+}
+
+public abstract interface annotation class dev/slne/surf/cloud/api/common/SurfCloudApplication : java/lang/annotation/Annotation {
+}
+
+public class dev/slne/surf/cloud/api/common/config/auto/AdventureAutoConfiguration {
+ public fun ()V
+ public fun miniMessage ()Lnet/kyori/adventure/text/minimessage/MiniMessage;
+}
+
+public final class dev/slne/surf/cloud/api/common/config/properties/CloudProperties {
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/config/properties/CloudProperties;
+ public static final field SERVER_CATEGORY_NOT_SET Ljava/lang/String;
+ public static final fun getSERVER_CATEGORY ()Ljava/lang/String;
+ public static final fun getSERVER_NAME ()Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/config/properties/Modern_propertiesKt {
+ public static final fun systemProperty (Ljava/lang/String;)Ljava/lang/String;
+ public static final fun systemProperty (Ljava/lang/String;III)I
+ public static final fun systemProperty (Ljava/lang/String;JJJ)J
+ public static final fun systemProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+ public static final fun systemProperty (Ljava/lang/String;Z)Z
+ public static synthetic fun systemProperty$default (Ljava/lang/String;IIIILjava/lang/Object;)I
+ public static synthetic fun systemProperty$default (Ljava/lang/String;JJJILjava/lang/Object;)J
+ public static final fun systemPropertyRequired (Ljava/lang/String;)Ljava/lang/String;
+ public static final fun systemPropertyRequired (Ljava/lang/String;II)I
+ public static final fun systemPropertyRequired (Ljava/lang/String;JJ)J
+ public static synthetic fun systemPropertyRequired$default (Ljava/lang/String;IIILjava/lang/Object;)I
+ public static synthetic fun systemPropertyRequired$default (Ljava/lang/String;JJILjava/lang/Object;)J
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/config/properties/RequiredSystemProperty : dev/slne/surf/cloud/api/common/config/properties/SystemProperty {
+ public abstract fun value ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/config/properties/RequiredSystemPropertyImpl : dev/slne/surf/cloud/api/common/config/properties/RequiredSystemProperty {
+ public fun (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Ljava/lang/Object;Z)V
+ public synthetic fun (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Ljava/lang/Object;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun value ()Ljava/lang/Object;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/config/properties/SystemProperty {
+ public abstract fun value ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/config/properties/SystemPropertyImpl : dev/slne/surf/cloud/api/common/config/properties/SystemProperty {
+ public fun (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Ljava/lang/Object;Ljava/lang/Object;Z)V
+ public synthetic fun (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Ljava/lang/Object;Ljava/lang/Object;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun value ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/config/properties/SystemPropertyKt {
+ public static final fun requiredSystemProperty (Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/config/properties/RequiredSystemProperty;
+ public static final fun requiredSystemProperty (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/config/properties/RequiredSystemProperty;
+ public static final fun systemProperty (Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/config/properties/SystemProperty;
+ public static final fun systemProperty (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/config/properties/SystemProperty;
+}
+
+public abstract class dev/slne/surf/cloud/api/common/event/CloudEvent : org/springframework/context/ApplicationEvent {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/event/CloudEvent$Companion;
+ public fun (Ljava/lang/Object;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/event/CloudEvent$Companion {
+}
+
+public abstract class dev/slne/surf/cloud/api/common/event/player/CloudPlayerEvent : dev/slne/surf/cloud/api/common/event/CloudEvent {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/event/player/CloudPlayerEvent$Companion;
+ public fun (Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/player/CloudPlayer;)V
+ public final fun getPlayer ()Ldev/slne/surf/cloud/api/common/player/CloudPlayer;
+}
+
+public final class dev/slne/surf/cloud/api/common/event/player/CloudPlayerEvent$Companion {
+}
+
+public final class dev/slne/surf/cloud/api/common/event/player/connection/CloudPlayerConnectToNetworkEvent : dev/slne/surf/cloud/api/common/event/player/CloudPlayerEvent {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/event/player/connection/CloudPlayerConnectToNetworkEvent$Companion;
+ public fun (Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/player/CloudPlayer;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/event/player/connection/CloudPlayerConnectToNetworkEvent$Companion {
+}
+
+public final class dev/slne/surf/cloud/api/common/exceptions/ExitCodes {
+ public static final field CLIENT_COULD_NOT_CONNECT_TO_SERVER I
+ public static final field CLIENT_COULD_NOT_FETCH_SERVER_ID I
+ public static final field CLIENT_DISCONNECTED_BEFORE_RUNNING I
+ public static final field CONNECTION_FAILURE I
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/exceptions/ExitCodes;
+ public static final field NORMAL I
+ public static final field TIMEOUT I
+ public static final field UNABLE_TO_CONNECT_TO_DATABASE I
+ public static final field UNKNOWN_ERROR I
+}
+
+public final class dev/slne/surf/cloud/api/common/exceptions/FatalSurfError : java/lang/Error, org/springframework/boot/ExitCodeGenerator {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Companion;
+ public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Ljava/util/List;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun buildMessage ()Ljava/lang/String;
+ public static final fun builder ()Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+ public fun getCause ()Ljava/lang/Throwable;
+ public fun getExitCode ()I
+}
+
+public final class dev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder {
+ public fun ()V
+ public final fun additionalInformation (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+ public final fun additionalInformation (Ljava/util/List;)Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+ public final fun build ()Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError;
+ public final fun cause (Ljava/lang/Throwable;)Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+ public final fun detailedErrorMessage (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+ public final fun exitCode (I)Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+ public final fun possibleSolution (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+ public final fun possibleSolutions (Ljava/util/List;)Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+ public final fun simpleErrorMessage (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+}
+
+public final class dev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Companion {
+ public final fun builder ()Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError$Builder;
+}
+
+public final class dev/slne/surf/cloud/api/common/exceptions/FatalSurfErrorKt {
+ public static final fun FatalSurfError (Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/exceptions/FatalSurfError;
+}
+
+public final class dev/slne/surf/cloud/api/common/exceptions/SkipPacketException : io/netty/handler/codec/EncoderException {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/exceptions/SkipPacketException$Companion;
+ public fun (Ljava/lang/Throwable;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/exceptions/SkipPacketException$Companion {
+}
+
+public final class dev/slne/surf/cloud/api/common/meta/DefaultIds {
+ public static final field BIDIRECTIONAL_DISCONNECT_PLAYER Ljava/lang/String;
+ public static final field BIDIRECTIONAL_TELEPORT_PLAYER Ljava/lang/String;
+ public static final field BIDIRECTIONAL_TELEPORT_PLAYER_RESULT Ljava/lang/String;
+ public static final field CLIENTBOUND_ACTION_BAR_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_ADD_PLAYER_TO_SERVER Ljava/lang/String;
+ public static final field CLIENTBOUND_BATCH_UPDATE_SERVER Ljava/lang/String;
+ public static final field CLIENTBOUND_BUNDLE_DELIMITER_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_BUNDLE_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_CLEAR_RESOURCE_PACKS_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_CLEAR_TITLE_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_CONNECT_PLAYER_TO_SERVER_RESPONSE Ljava/lang/String;
+ public static final field CLIENTBOUND_DISCONNECT_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_HIDE_BOSS_BAR_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_INITIALIZE_CLIENT_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_INITIALIZE_ID_RESPONSE Ljava/lang/String;
+ public static final field CLIENTBOUND_IS_SERVER_MANAGED_BY_THIS_PROXY_RESPONSE Ljava/lang/String;
+ public static final field CLIENTBOUND_KEEP_ALIVE_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_KEY_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_LOGIN_DISCONNECT_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_LOGIN_FINISHED_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_OPEN_BOOK_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_PING_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_PING_REQUEST_RESPONSE_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_PLAYER_LIST_HEADER_AND_FOOTER Ljava/lang/String;
+ public static final field CLIENTBOUND_PLAYER_PERSISTENT_DATA_CONTAINER_RESPONSE Ljava/lang/String;
+ public static final field CLIENTBOUND_PLAY_SOUND_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_PRE_RUNNING_FINISHED_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_READY_TO_RUN_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_REGISTER_CLOUD_SERVERS_TO_PROXY Ljava/lang/String;
+ public static final field CLIENTBOUND_REGISTER_SERVER_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_REMOVE_PLAYER_FROM_SERVER Ljava/lang/String;
+ public static final field CLIENTBOUND_REMOVE_RESOURCE_PACKS_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_REQUEST_DISPLAY_NAME_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_RESET_TITLE_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_SEND_MESSAGE_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_SEND_RESOURCE_PACKS_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_SHOW_BOSS_BAR_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_SHUTDOWN_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_STOP_SOUND_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_TITLE_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_TITLE_PART_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_TRANSFER_PLAYER_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_UNREGISTER_SERVER_PACKET Ljava/lang/String;
+ public static final field CLIENTBOUND_UPDATE_SERVER_INFORMATION_PACKET Ljava/lang/String;
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/meta/DefaultIds;
+ public static final field LUCKPERMS_META_DATA_RESPONSE_PACKET Ljava/lang/String;
+ public static final field PLAYER_CONNECT_TO_SERVER_PACKET Ljava/lang/String;
+ public static final field PLAYER_DISCONNECT_FROM_SERVER_PACKET Ljava/lang/String;
+ public static final field REQUEST_LUCKPERMS_META_DATA_PACKET Ljava/lang/String;
+ public static final field REQUEST_OFFLINE_DISPLAY_NAME_PACKET Ljava/lang/String;
+ public static final field RESPONSE_DISPLAY_NAME_PACKET_REQUEST_PACKET Ljava/lang/String;
+ public static final field RESPONSE_REQUEST_OFFLINE_DISPLAY_NAME_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_BROADCAST_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_BUNDLE_DELIMITER_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_BUNDLE_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_CLEAR_RESOURCE_PACKS_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_CLEAR_TITLE_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_CLIENT_INFORMATION_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_CONNECT_PLAYER_TO_SERVER Ljava/lang/String;
+ public static final field SERVERBOUND_HANDSHAKE_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_HIDE_BOSS_BAR_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_INITIALIZE_REQUEST_ID_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_IS_SERVER_MANAGED_BY_THIS_PROXY_REQUEST Ljava/lang/String;
+ public static final field SERVERBOUND_KEEP_ALIVE_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_KEY_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_LOGIN_ACKNOWLEDGED_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_LOGIN_START_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_OPEN_BOOK_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_PING_REQUEST_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_PLAYER_PERSISTENT_DATA_CONTAINER_UPDATE Ljava/lang/String;
+ public static final field SERVERBOUND_PLAY_SOUND_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_PONG_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_PRE_RUNNING_ACKNOWLEDGED_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_READY_TO_RUN_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_REMOVE_RESOURCE_PACKS_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_REQUEST_CONTINUATION Ljava/lang/String;
+ public static final field SERVERBOUND_REQUEST_DISPLAY_NAME_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_REQUEST_PLAYER_PERSISTENT_DATA_CONTAINER Ljava/lang/String;
+ public static final field SERVERBOUND_RESET_TITLE_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_SEND_ACTION_BAR_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_SEND_MESSAGE_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_SEND_PLAYER_LIST_HEADER_AND_FOOTER Ljava/lang/String;
+ public static final field SERVERBOUND_SEND_RESOURCE_PACKS_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_SEND_TITLE_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_SEND_TITLE_PART_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_SHOW_BOSS_BAR_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_SHUTDOWN_SERVER_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_STOP_SOUND_PACKET Ljava/lang/String;
+ public static final field SERVERBOUND_TRANSFER_PLAYER_PACKET_RESPONSE_PACKET Ljava/lang/String;
+}
+
+public abstract interface annotation class dev/slne/surf/cloud/api/common/meta/PacketCodec : java/lang/annotation/Annotation {
+}
+
+public abstract interface annotation class dev/slne/surf/cloud/api/common/meta/Registry : java/lang/annotation/Annotation {
+ public abstract fun value ()Ljava/lang/String;
+}
+
+public abstract interface annotation class dev/slne/surf/cloud/api/common/meta/SurfNettyPacket : java/lang/annotation/Annotation {
+ public abstract fun flow ()Ldev/slne/surf/cloud/api/common/netty/network/protocol/PacketFlow;
+ public abstract fun id ()Ljava/lang/String;
+ public abstract fun protocols ()[Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+}
+
+public abstract interface annotation class dev/slne/surf/cloud/api/common/meta/SurfNettyPacketHandler : java/lang/annotation/Annotation {
+ public abstract fun classes ()[Ljava/lang/Class;
+ public abstract fun condition ()Ljava/lang/String;
+ public abstract fun id ()Ljava/lang/String;
+ public abstract fun value ()[Ljava/lang/Class;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/NettyClient {
+ public abstract fun fire (Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun fireAndAwait-8Mi8wO0 (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun fireAndForget (Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;)V
+ public abstract fun getConnection ()Ldev/slne/surf/cloud/api/common/netty/network/Connection;
+ public abstract fun getServerCategory ()Ljava/lang/String;
+ public abstract fun getServerId ()J
+ public abstract fun getServerName ()Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/NettyClient$DefaultImpls {
+ public static synthetic fun fire$default (Ldev/slne/surf/cloud/api/common/netty/NettyClient;Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+ public static synthetic fun fireAndAwait-8Mi8wO0$default (Ldev/slne/surf/cloud/api/common/netty/NettyClient;Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+}
+
+public abstract class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyException : java/lang/RuntimeException {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/exception/SurfNettyException$Companion;
+ public fun ()V
+ public fun (Ljava/lang/String;)V
+ public fun (Ljava/lang/String;Ljava/lang/Throwable;)V
+ public fun (Ljava/lang/Throwable;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyException$Companion {
+}
+
+public abstract class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyListenerException : dev/slne/surf/cloud/api/common/netty/exception/SurfNettyException {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/exception/SurfNettyListenerException$Companion;
+ public fun ()V
+ public fun (Ljava/lang/String;)V
+ public fun (Ljava/lang/String;Ljava/lang/Throwable;)V
+ public fun (Ljava/lang/Throwable;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyListenerException$Companion {
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyListenerRegistrationException : dev/slne/surf/cloud/api/common/netty/exception/SurfNettyListenerException {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/exception/SurfNettyListenerRegistrationException$Companion;
+ public fun ()V
+ public fun (Ljava/lang/String;)V
+ public fun (Ljava/lang/String;Ljava/lang/Throwable;)V
+ public fun (Ljava/lang/Throwable;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyListenerRegistrationException$Companion {
+}
+
+public abstract class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyPacketException : dev/slne/surf/cloud/api/common/netty/exception/SurfNettyException {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/exception/SurfNettyPacketException$Companion;
+ public fun ()V
+ public fun (Ljava/lang/String;)V
+ public fun (Ljava/lang/String;Ljava/lang/Throwable;)V
+ public fun (Ljava/lang/Throwable;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyPacketException$Companion {
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyPacketNotRegisteredException : dev/slne/surf/cloud/api/common/netty/exception/SurfNettyPacketException {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/exception/SurfNettyPacketNotRegisteredException$Companion;
+ public fun ()V
+ public fun (Ljava/lang/String;)V
+ public fun (Ljava/lang/String;Ljava/lang/Throwable;)V
+ public fun (Ljava/lang/Throwable;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyPacketNotRegisteredException$Companion {
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyRegisterPacketException : dev/slne/surf/cloud/api/common/netty/exception/SurfNettyPacketException {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/exception/SurfNettyRegisterPacketException$Companion;
+ public fun (Ljava/lang/String;)V
+ public fun (Ljava/lang/String;Ljava/lang/Throwable;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/exception/SurfNettyRegisterPacketException$Companion {
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/network/Connection {
+ public abstract fun getAverageReceivedPackets ()F
+ public abstract fun getAverageSentPackets ()F
+ public abstract fun getHostname ()Ljava/lang/String;
+ public abstract fun getLoggableAddress ()Ljava/lang/String;
+ public abstract fun getReceivedPackets ()I
+ public abstract fun getSentPackets ()I
+ public abstract fun getVirtualHost ()Ljava/net/InetSocketAddress;
+ public abstract fun send (Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;Z)V
+ public abstract fun sendWithIndication (Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;ZLkotlinx/coroutines/CompletableDeferred;)V
+ public abstract fun sendWithIndication (Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/Connection$DefaultImpls {
+ public static synthetic fun send$default (Ldev/slne/surf/cloud/api/common/netty/network/Connection;Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;ZILjava/lang/Object;)V
+ public static synthetic fun sendWithIndication$default (Ldev/slne/surf/cloud/api/common/netty/network/Connection;Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;ZLkotlinx/coroutines/CompletableDeferred;ILjava/lang/Object;)V
+ public static synthetic fun sendWithIndication$default (Ldev/slne/surf/cloud/api/common/netty/network/Connection;Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol : java/lang/Enum {
+ public static final field HANDSHAKING Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+ public static final field INITIALIZE Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+ public static final field LOGIN Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+ public static final field PRE_RUNNING Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+ public static final field RUNNING Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+ public static final field SHUTDOWN Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+ public static fun getEntries ()Lkotlin/enums/EnumEntries;
+ public static fun valueOf (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+ public static fun values ()[Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/network/codec/CodecOperation {
+ public abstract fun apply (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec : dev/slne/surf/cloud/api/common/netty/network/codec/StreamDecoder, dev/slne/surf/cloud/api/common/netty/network/codec/StreamEncoder {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec$Companion;
+ public abstract fun apply (Ldev/slne/surf/cloud/api/common/netty/network/codec/CodecOperation;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static fun composite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public abstract fun dispatch (Ljava/util/function/Function;Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public abstract fun map (Ljava/util/function/Function;Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public abstract fun mapStream (Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static fun of (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamEncoder;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamDecoder;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static fun ofMember (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamMemberEncoder;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamDecoder;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static fun unit (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec$Companion {
+ public final fun composite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Lcom/mojang/datafixers/util/Function3;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun composite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Lcom/mojang/datafixers/util/Function4;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun composite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Lcom/mojang/datafixers/util/Function5;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun composite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Lcom/mojang/datafixers/util/Function6;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun composite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ljava/util/function/BiFunction;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun composite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun of (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamEncoder;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamDecoder;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun ofMember (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamMemberEncoder;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamDecoder;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun recursive (Ljava/util/function/UnaryOperator;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun unit (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec$DefaultImpls {
+ public static fun apply (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ldev/slne/surf/cloud/api/common/netty/network/codec/CodecOperation;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static fun dispatch (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static fun map (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static fun mapStream (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/codec/StreamCodecKt {
+ public static final fun apply (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun map (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun mapStream (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodec (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecComposite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function6;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecComposite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function5;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecComposite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function4;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecComposite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecComposite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecComposite (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecMember (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecRecursive (Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecUnit (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun streamCodecUnitSimple (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/network/codec/StreamDecoder {
+ public abstract fun decode (Ljava/lang/Object;)Ljava/lang/Object;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/network/codec/StreamEncoder {
+ public abstract fun encode (Ljava/lang/Object;Ljava/lang/Object;)V
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/network/codec/StreamMemberEncoder {
+ public abstract fun encode (Ljava/lang/Object;Ljava/lang/Object;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec : dev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec$Companion;
+ public synthetic fun (Ljava/util/function/Function;Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun apply (Ldev/slne/surf/cloud/api/common/netty/network/codec/CodecOperation;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun builder (Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec$Builder;
+ public fun decode (Lio/netty/buffer/ByteBuf;)Ljava/lang/Object;
+ public synthetic fun decode (Ljava/lang/Object;)Ljava/lang/Object;
+ public fun dispatch (Ljava/util/function/Function;Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public fun encode (Lio/netty/buffer/ByteBuf;Ljava/lang/Object;)V
+ public synthetic fun encode (Ljava/lang/Object;Ljava/lang/Object;)V
+ public fun map (Ljava/util/function/Function;Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public fun mapStream (Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec$Builder {
+ public final fun add (Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec$Builder;
+ public final fun build (Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec$Companion {
+ public final fun builder (Ljava/util/function/Function;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec$Builder;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodecKt {
+ public static final fun buildStringIdDispatchCodec (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/PacketFlow : java/lang/Enum {
+ public static final field BIDIRECTIONAL Ldev/slne/surf/cloud/api/common/netty/network/protocol/PacketFlow;
+ public static final field CLIENTBOUND Ldev/slne/surf/cloud/api/common/netty/network/protocol/PacketFlow;
+ public static final field SERVERBOUND Ldev/slne/surf/cloud/api/common/netty/network/protocol/PacketFlow;
+ public final fun displayName ()Ljava/lang/String;
+ public static fun getEntries ()Lkotlin/enums/EnumEntries;
+ public final fun getOpposite ()Ldev/slne/surf/cloud/api/common/netty/network/protocol/PacketFlow;
+ public static fun valueOf (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/PacketFlow;
+ public static fun values ()[Ldev/slne/surf/cloud/api/common/netty/network/protocol/PacketFlow;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([Z)V
+ public final fun component1 ()[Z
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[Z
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([Z)Ldev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/booleans/BooleanCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Z)V
+ public final fun component1 ()Z
+ public fun getValue ()Ljava/lang/Boolean;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create (Z)Ldev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([Z)V
+ public final fun component1 ()[Z
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[Z
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([Z)Ldev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/booleans/BooleanCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/Boolean;)V
+ public final fun component1 ()Ljava/lang/Boolean;
+ public fun getValue ()Ljava/lang/Boolean;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (Ljava/lang/Boolean;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([B)V
+ public final fun component1 ()[B
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[B
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([B)Ldev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/bytes/ByteCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteResponse$Companion;
+ public fun (B)V
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1 ()B
+ public fun getValue ()Ljava/lang/Byte;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (B)Ldev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/OptionalByteArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/byte/OptionalByteArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([B)V
+ public final fun component1 ()[B
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[B
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/OptionalByteArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([B)Ldev/slne/surf/cloud/api/common/netty/network/protocol/byte/OptionalByteArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/OptionalByteArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/bytes/ByteCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/OptionalByteResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/byte/OptionalByteResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/Byte;)V
+ public final fun component1 ()Ljava/lang/Byte;
+ public fun getValue ()Ljava/lang/Byte;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/byte/OptionalByteResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (Ljava/lang/Byte;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/byte/OptionalByteResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/CharArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/char/CharArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([C)V
+ public final fun component1 ()[C
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[C
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/CharArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([C)Ldev/slne/surf/cloud/api/common/netty/network/protocol/char/CharArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/CharArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/chars/CharCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/CharResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/char/CharResponse$Companion;
+ public fun (C)V
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1 ()C
+ public fun getValue ()Ljava/lang/Character;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/CharResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (C)Ldev/slne/surf/cloud/api/common/netty/network/protocol/char/CharResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/OptionalCharArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/char/OptionalCharArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([C)V
+ public final fun component1 ()[C
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[C
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/OptionalCharArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([C)Ldev/slne/surf/cloud/api/common/netty/network/protocol/char/OptionalCharArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/OptionalCharArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/chars/CharCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/OptionalCharResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/char/OptionalCharResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/Character;)V
+ public final fun component1 ()Ljava/lang/Character;
+ public fun getValue ()Ljava/lang/Character;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/char/OptionalCharResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (Ljava/lang/Character;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/char/OptionalCharResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/ComponentArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/component/ComponentArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([Lnet/kyori/adventure/text/Component;)V
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[Lnet/kyori/adventure/text/Component;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/ComponentArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([Lnet/kyori/adventure/text/Component;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/component/ComponentArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/ComponentArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Ljava/util/Collection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/ComponentResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/component/ComponentResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Lnet/kyori/adventure/text/Component;)V
+ public final fun component1 ()Lnet/kyori/adventure/text/Component;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()Lnet/kyori/adventure/text/Component;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/ComponentResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create (Lnet/kyori/adventure/text/Component;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/component/ComponentResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/OptionalComponentArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/component/OptionalComponentArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([Lnet/kyori/adventure/text/Component;)V
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[Lnet/kyori/adventure/text/Component;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/OptionalComponentArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([Lnet/kyori/adventure/text/Component;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/component/OptionalComponentArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/OptionalComponentArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Ljava/util/Collection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/OptionalComponentResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/component/OptionalComponentResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Lnet/kyori/adventure/text/Component;)V
+ public final fun component1 ()Lnet/kyori/adventure/text/Component;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()Lnet/kyori/adventure/text/Component;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/component/OptionalComponentResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create (Lnet/kyori/adventure/text/Component;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/component/OptionalComponentResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/DoubleArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/double/DoubleArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([D)V
+ public final fun component1 ()[D
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[D
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/DoubleArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([D)Ldev/slne/surf/cloud/api/common/netty/network/protocol/double/DoubleArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/DoubleArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/doubles/DoubleCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/DoubleResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/double/DoubleResponse$Companion;
+ public fun (D)V
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1 ()D
+ public fun getValue ()Ljava/lang/Double;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/DoubleResponse$Companion {
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/OptionalDoubleArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/double/OptionalDoubleArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([D)V
+ public final fun component1 ()[D
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[D
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/OptionalDoubleArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([D)Ldev/slne/surf/cloud/api/common/netty/network/protocol/double/OptionalDoubleArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/OptionalDoubleArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/doubles/DoubleCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/OptionalDoubleResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/double/OptionalDoubleResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/Double;)V
+ public final fun component1 ()Ljava/lang/Double;
+ public fun getValue ()Ljava/lang/Double;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/double/OptionalDoubleResponse$Companion {
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/FloatArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/float/FloatArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([F)V
+ public final fun component1 ()[F
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[F
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/FloatArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([F)Ldev/slne/surf/cloud/api/common/netty/network/protocol/float/FloatArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/FloatArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/floats/FloatCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/FloatResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/float/FloatResponse$Companion;
+ public fun (F)V
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1 ()F
+ public fun getValue ()Ljava/lang/Float;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/FloatResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (F)Ldev/slne/surf/cloud/api/common/netty/network/protocol/float/FloatResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/OptionalFloatArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/float/OptionalFloatArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([F)V
+ public final fun component1 ()[F
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[F
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/OptionalFloatArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([F)Ldev/slne/surf/cloud/api/common/netty/network/protocol/float/OptionalFloatArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/OptionalFloatArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/floats/FloatCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/OptionalFloatResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/float/OptionalFloatResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/Float;)V
+ public final fun component1 ()Ljava/lang/Float;
+ public fun getValue ()Ljava/lang/Float;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/float/OptionalFloatResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (Ljava/lang/Float;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/float/OptionalFloatResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/IntArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/int/IntArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([I)V
+ public final fun component1 ()[I
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[I
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/IntArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([I)Ldev/slne/surf/cloud/api/common/netty/network/protocol/int/IntArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/IntArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/ints/IntCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/IntResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/int/IntResponse$Companion;
+ public fun (I)V
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1 ()I
+ public fun getValue ()Ljava/lang/Integer;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/IntResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (I)Ldev/slne/surf/cloud/api/common/netty/network/protocol/int/IntResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/OptionalIntArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/int/OptionalIntArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([I)V
+ public final fun component1 ()[I
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[I
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/OptionalIntArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([I)Ldev/slne/surf/cloud/api/common/netty/network/protocol/int/OptionalIntArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/OptionalIntArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/ints/IntCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/OptionalIntResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/int/OptionalIntResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/Integer;)V
+ public final fun component1 ()Ljava/lang/Integer;
+ public fun getValue ()Ljava/lang/Integer;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/int/OptionalIntResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (Ljava/lang/Integer;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/int/OptionalIntResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/LongArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/long/LongArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([J)V
+ public final fun component1 ()[J
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[J
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/LongArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([J)Ldev/slne/surf/cloud/api/common/netty/network/protocol/long/LongArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/LongArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/longs/LongCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/LongResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/long/LongResponse$Companion;
+ public fun (J)V
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1 ()J
+ public fun getValue ()Ljava/lang/Long;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/LongResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (J)Ldev/slne/surf/cloud/api/common/netty/network/protocol/long/LongResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/OptionalLongArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/long/OptionalLongArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([J)V
+ public final fun component1 ()[J
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[J
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/OptionalLongArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([J)Ldev/slne/surf/cloud/api/common/netty/network/protocol/long/OptionalLongArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/OptionalLongArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/longs/LongCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/OptionalLongResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/long/OptionalLongResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/Long;)V
+ public final fun component1 ()Ljava/lang/Long;
+ public fun getValue ()Ljava/lang/Long;
+ public synthetic fun getValue ()Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/long/OptionalLongResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public fun create (Ljava/lang/Long;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/long/OptionalLongResponse;
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/OptionalShortArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/short/OptionalShortArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([S)V
+ public final fun component1 ()[S
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[S
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/OptionalShortArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([S)Ldev/slne/surf/cloud/api/common/netty/network/protocol/short/OptionalShortArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/OptionalShortArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/shorts/ShortCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/OptionalShortResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/short/OptionalShortResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/Short;)V
+ public final fun component1 ()Ljava/lang/Short;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()Ljava/lang/Short;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/OptionalShortResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create (Ljava/lang/Short;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/short/OptionalShortResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/ShortArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/short/ShortArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([S)V
+ public final fun component1 ()[S
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[S
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/ShortArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([S)Ldev/slne/surf/cloud/api/common/netty/network/protocol/short/ShortArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/ShortArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Lit/unimi/dsi/fastutil/shorts/ShortCollection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/ShortResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/short/ShortResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (S)V
+ public final fun component1 ()S
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()Ljava/lang/Short;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/short/ShortResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create (S)Ldev/slne/surf/cloud/api/common/netty/network/protocol/short/ShortResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/OptionalStringArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/string/OptionalStringArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([Ljava/lang/String;)V
+ public final fun component1 ()[Ljava/lang/String;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/OptionalStringArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/string/OptionalStringArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/OptionalStringArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Ljava/util/Collection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/OptionalStringResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/string/OptionalStringResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/String;)V
+ public final fun component1 ()Ljava/lang/String;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/OptionalStringResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/string/OptionalStringResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/StringArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/string/StringArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([Ljava/lang/String;)V
+ public final fun component1 ()[Ljava/lang/String;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/StringArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/string/StringArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/StringArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Ljava/util/Collection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/StringResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/string/StringResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/String;)V
+ public final fun component1 ()Ljava/lang/String;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/string/StringResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/string/StringResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/OptionalUUIDArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/uuid/OptionalUUIDArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([Ljava/util/UUID;)V
+ public final fun component1 ()[Ljava/util/UUID;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[Ljava/util/UUID;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/OptionalUUIDArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([Ljava/util/UUID;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/uuid/OptionalUUIDArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/OptionalUUIDArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Ljava/util/Collection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/OptionalUUIDResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/uuid/OptionalUUIDResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/util/UUID;)V
+ public final fun component1 ()Ljava/util/UUID;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()Ljava/util/UUID;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/OptionalUUIDResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create (Ljava/util/UUID;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/uuid/OptionalUUIDResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/UUIDArrayResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/uuid/UUIDArrayResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun ([Ljava/util/UUID;)V
+ public final fun component1 ()[Ljava/util/UUID;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()[Ljava/util/UUID;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/UUIDArrayResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create ([Ljava/util/UUID;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/uuid/UUIDArrayResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/UUIDArrayResponseKt {
+ public static final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Ljava/util/Collection;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/UUIDResponse : dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket, dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/network/protocol/uuid/UUIDResponse$Companion;
+ public synthetic fun (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/util/UUID;)V
+ public final fun component1 ()Ljava/util/UUID;
+ public synthetic fun getValue ()Ljava/lang/Object;
+ public fun getValue ()Ljava/util/UUID;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/network/protocol/uuid/UUIDResponse$Companion : dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseTypeFactory {
+ public synthetic fun create (Ljava/lang/Object;)Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;
+ public fun create (Ljava/util/UUID;)Ldev/slne/surf/cloud/api/common/netty/network/protocol/uuid/UUIDResponse;
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public abstract class dev/slne/surf/cloud/api/common/netty/packet/NettyPacket {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacket$Companion;
+ public fun ()V
+ public static final fun codec (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamMemberEncoder;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamDecoder;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public fun equals (Ljava/lang/Object;)Z
+ public fun getExtraPackets ()Ljava/util/List;
+ public final fun getFlow ()Ldev/slne/surf/cloud/api/common/netty/network/protocol/PacketFlow;
+ public final fun getId ()Ljava/lang/String;
+ public final fun getProtocols ()[Ldev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol;
+ public final fun getSessionId ()J
+ public fun getSkippable ()Z
+ public fun hashCode ()I
+ public fun isReady ()Z
+ public fun packetTooLarge (Ljava/lang/Object;)Z
+ public fun toString ()Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/packet/NettyPacket$Companion {
+ public final fun codec (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamMemberEncoder;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamDecoder;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/packet/NettyPacketInfo {
+ public static final synthetic fun box-impl (Ldev/slne/surf/cloud/api/common/netty/network/Connection;)Ldev/slne/surf/cloud/api/common/netty/packet/NettyPacketInfo;
+ public static fun constructor-impl (Ldev/slne/surf/cloud/api/common/netty/network/Connection;)Ldev/slne/surf/cloud/api/common/netty/network/Connection;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Ldev/slne/surf/cloud/api/common/netty/network/Connection;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Ldev/slne/surf/cloud/api/common/netty/network/Connection;Ldev/slne/surf/cloud/api/common/netty/network/Connection;)Z
+ public final fun getOrigin ()Ldev/slne/surf/cloud/api/common/netty/network/Connection;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Ldev/slne/surf/cloud/api/common/netty/network/Connection;)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Ldev/slne/surf/cloud/api/common/netty/network/Connection;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Ldev/slne/surf/cloud/api/common/netty/network/Connection;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/packet/Packet_extensionKt {
+ public static final fun findPacketCodec (Lkotlin/reflect/KClass;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public static final fun getPacketMeta (Ljava/lang/Class;)Ldev/slne/surf/cloud/api/common/meta/SurfNettyPacket;
+ public static final fun getPacketMeta (Lkotlin/reflect/KClass;)Ldev/slne/surf/cloud/api/common/meta/SurfNettyPacket;
+ public static final fun getPacketMetaOrNull (Lkotlin/reflect/KClass;)Ldev/slne/surf/cloud/api/common/meta/SurfNettyPacket;
+ public static final fun packetCodec (Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamMemberEncoder;Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamDecoder;)Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public abstract class dev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket : dev/slne/surf/cloud/api/common/netty/packet/NettyPacket {
+ public fun ()V
+ public final fun fireAndAwait-8Mi8wO0 (Ldev/slne/surf/cloud/api/common/netty/network/Connection;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static synthetic fun fireAndAwait-8Mi8wO0$default (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Ldev/slne/surf/cloud/api/common/netty/network/Connection;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+ public final fun fireAndAwaitOrThrow-8Mi8wO0 (Ldev/slne/surf/cloud/api/common/netty/network/Connection;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static synthetic fun fireAndAwaitOrThrow-8Mi8wO0$default (Ldev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacket;Ldev/slne/surf/cloud/api/common/netty/network/Connection;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+ public final fun fireAndAwaitOrThrowUrgent (Ldev/slne/surf/cloud/api/common/netty/network/Connection;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public final fun fireAndAwaitUrgent (Ldev/slne/surf/cloud/api/common/netty/network/Connection;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public final fun respond (Ldev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/packet/RespondingNettyPacketKt {
+ public static final fun getDEFAULT_TIMEOUT ()J
+ public static final fun getDEFAULT_URGENT_TIMEOUT ()J
+}
+
+public abstract class dev/slne/surf/cloud/api/common/netty/packet/ResponseNettyPacket : dev/slne/surf/cloud/api/common/netty/packet/NettyPacket {
+ public fun ()V
+}
+
+public class dev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf : dev/slne/surf/cloud/api/common/netty/protocol/buffer/WrappedByteBuf {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf$Companion;
+ public fun (Lio/netty/buffer/ByteBuf;)V
+ public final fun readArray (Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)[Ljava/lang/Object;
+ public final fun readBitSet ()Ljava/util/BitSet;
+ public final fun readBooleanArray ()[Z
+ public final fun readByteArray ()[B
+ public final fun readCharArray ()[C
+ public final fun readCodecJsonArray (Lcom/mojang/serialization/Codec;Lkotlin/jvm/functions/Function1;)[Ljava/lang/Object;
+ public final fun readCollection (Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/util/Collection;
+ public final fun readCollectionJsonWithCodec (Lcom/mojang/serialization/Codec;Lkotlin/jvm/functions/Function1;)Ljava/util/Collection;
+ public final fun readComponent ()Lnet/kyori/adventure/text/Component;
+ public final fun readCompoundTag ()Lnet/querz/nbt/tag/CompoundTag;
+ public final fun readDoubleArray ()[D
+ public final fun readEnum (Ljava/lang/Class;)Ljava/lang/Enum;
+ public final fun readEnum (Lkotlin/reflect/KClass;)Ljava/lang/Enum;
+ public final fun readEnumSet (Ljava/lang/Class;)Ljava/util/EnumSet;
+ public final fun readEnumSet (Lkotlin/reflect/KClass;)Ljava/util/EnumSet;
+ public final fun readFixedBitSet (I)Ljava/util/BitSet;
+ public final fun readFloatArray ()[F
+ public final fun readInet4Address ()Ljava/net/Inet4Address;
+ public final fun readInetSocketAddress ()Ljava/net/InetSocketAddress;
+ public final fun readIntArray ()[I
+ public final fun readJsonWithCodec (Lcom/mojang/serialization/Codec;)Ljava/lang/Object;
+ public final fun readKey ()Lnet/kyori/adventure/key/Key;
+ public final fun readList (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Lit/unimi/dsi/fastutil/objects/ObjectArrayList;
+ public final fun readListJsonWithCodec (Lcom/mojang/serialization/Codec;)Lit/unimi/dsi/fastutil/objects/ObjectArrayList;
+ public final fun readLongArray ()[J
+ public final fun readMap (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;
+ public final fun readMap (Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/util/Map;
+ public final fun readNullable (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/lang/Object;
+ public final fun readNullableBoolean ()Ljava/lang/Boolean;
+ public final fun readNullableByte ()Ljava/lang/Byte;
+ public final fun readNullableChar ()Ljava/lang/Character;
+ public final fun readNullableDouble ()Ljava/lang/Double;
+ public final fun readNullableFloat ()Ljava/lang/Float;
+ public final fun readNullableInt ()Ljava/lang/Integer;
+ public final fun readNullableLong ()Ljava/lang/Long;
+ public final fun readNullableShort ()Ljava/lang/Short;
+ public final fun readNullableString ()Ljava/lang/String;
+ public final fun readNullableUuid ()Ljava/util/UUID;
+ public final fun readNumber ()Ljava/lang/Object;
+ public final fun readOptional (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/util/Optional;
+ public final fun readOptionalLong ()Ljava/util/OptionalLong;
+ public final fun readSerializable (Ljava/lang/Class;)Ljava/io/Serializable;
+ public final fun readShortArray ()[S
+ public final fun readSingleton (Ljava/lang/ClassLoader;)Ljava/lang/Object;
+ public final fun readSound ()Lnet/kyori/adventure/sound/Sound;
+ public final fun readStringArray ()[Ljava/lang/String;
+ public final fun readURI ()Ljava/net/URI;
+ public final fun readUnsignedDouble ()D
+ public final fun readUnsignedFloat ()F
+ public final fun readUnsignedLong ()J
+ public final fun readUtf ()Ljava/lang/String;
+ public final fun readUtf (I)Ljava/lang/String;
+ public static synthetic fun readUtf$default (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;IILjava/lang/Object;)Ljava/lang/String;
+ public final fun readUuid ()Ljava/util/UUID;
+ public final fun readUuidArray ()[Ljava/util/UUID;
+ public final fun readVarInt ()I
+ public final fun readVarLong ()J
+ public final fun readWithCount (Ljava/util/function/Consumer;)V
+ public final fun readWithCount (Lkotlin/jvm/functions/Function1;)V
+ public final fun readZonedDateTime ()Ljava/time/ZonedDateTime;
+ public final fun writeArray ([Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeBitSet (Ljava/util/BitSet;)V
+ public final fun writeBooleanArray ([Z)V
+ public final fun writeByteArray ([B)V
+ public final fun writeCharArray ([C)V
+ public final fun writeCodecJsonArray (Lcom/mojang/serialization/Codec;[Ljava/lang/Object;)V
+ public final fun writeCollection (Ljava/util/Collection;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeCollectionJsonWithCodec (Lcom/mojang/serialization/Codec;Ljava/util/Collection;)V
+ public final fun writeComponent (Lnet/kyori/adventure/text/Component;)V
+ public final fun writeCompoundTag (Lnet/querz/nbt/tag/CompoundTag;)V
+ public final fun writeDoubleArray ([D)V
+ public final fun writeEnum (Ljava/lang/Enum;)Lio/netty/buffer/ByteBuf;
+ public final fun writeEnumSet (Ljava/util/EnumSet;Ljava/lang/Class;)V
+ public final fun writeEnumSet (Ljava/util/EnumSet;Lkotlin/reflect/KClass;)V
+ public final fun writeFixedBitSet (Ljava/util/BitSet;I)Lio/netty/buffer/ByteBuf;
+ public final fun writeFloatArray ([F)V
+ public final fun writeInet4Address (Ljava/net/Inet4Address;)V
+ public final fun writeInetSocketAddress (Ljava/net/InetSocketAddress;)V
+ public final fun writeIntArray ([I)V
+ public final fun writeJsonWithCodec (Lcom/mojang/serialization/Codec;Ljava/lang/Object;)V
+ public final fun writeJsonWithCodec (Lcom/mojang/serialization/Codec;Ljava/lang/Object;I)V
+ public static synthetic fun writeJsonWithCodec$default (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Lcom/mojang/serialization/Codec;Ljava/lang/Object;IILjava/lang/Object;)V
+ public final fun writeKey (Lnet/kyori/adventure/key/Key;)V
+ public final fun writeLongArray ([J)V
+ public final fun writeMap (Ljava/util/Map;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeNullable (Ljava/lang/Boolean;)V
+ public final fun writeNullable (Ljava/lang/Byte;)V
+ public final fun writeNullable (Ljava/lang/Character;)V
+ public final fun writeNullable (Ljava/lang/Double;)V
+ public final fun writeNullable (Ljava/lang/Float;)V
+ public final fun writeNullable (Ljava/lang/Integer;)V
+ public final fun writeNullable (Ljava/lang/Long;)V
+ public final fun writeNullable (Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeNullable (Ljava/lang/Short;)V
+ public final fun writeNullable (Ljava/lang/String;)V
+ public final fun writeNullable (Ljava/util/UUID;)V
+ public final fun writeNumber (Ljava/lang/Number;)Ljava/lang/Object;
+ public final fun writeOptional (Ljava/util/Optional;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeOptionalLong (Ljava/util/OptionalLong;)V
+ public final fun writeSerializable (Ljava/io/Serializable;)Lio/netty/buffer/ByteBuf;
+ public final fun writeShortArray ([S)V
+ public final fun writeSingleton (Ljava/lang/Object;)V
+ public final fun writeSound (Lnet/kyori/adventure/sound/Sound;)V
+ public final fun writeStringArray ([Ljava/lang/String;)V
+ public final fun writeURI (Ljava/net/URI;)V
+ public final fun writeUnsigned (B)V
+ public final fun writeUnsigned (D)V
+ public final fun writeUnsigned (F)V
+ public final fun writeUnsigned (I)V
+ public final fun writeUnsigned (J)V
+ public final fun writeUnsigned (S)V
+ public final fun writeUtf (Ljava/lang/String;)V
+ public final fun writeUtf (Ljava/lang/String;I)V
+ public static synthetic fun writeUtf$default (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;Ljava/lang/String;IILjava/lang/Object;)V
+ public final fun writeUuid (Ljava/util/UUID;)V
+ public final fun writeUuidArray ([Ljava/util/UUID;)V
+ public final fun writeVarInt (I)Lio/netty/buffer/ByteBuf;
+ public final fun writeVarLong (J)Lio/netty/buffer/ByteBuf;
+ public final fun writeWithCount (ILjava/util/function/Consumer;)V
+ public final fun writeWithCount (ILkotlin/jvm/functions/Function1;)V
+ public final fun writeZonedDateTime (Ljava/time/ZonedDateTime;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf$Companion {
+ public final fun readArray (Lio/netty/buffer/ByteBuf;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)[Ljava/lang/Object;
+ public final fun readBitSet (Lio/netty/buffer/ByteBuf;)Ljava/util/BitSet;
+ public final fun readBooleanArray (Lio/netty/buffer/ByteBuf;)[Z
+ public final fun readByteArray (Lio/netty/buffer/ByteBuf;)[B
+ public final fun readCharArray (Lio/netty/buffer/ByteBuf;)[C
+ public final fun readCollection (Lio/netty/buffer/ByteBuf;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/util/Collection;
+ public final fun readComponent (Lio/netty/buffer/ByteBuf;)Lnet/kyori/adventure/text/Component;
+ public final fun readCompoundTag (Lio/netty/buffer/ByteBuf;)Lnet/querz/nbt/tag/CompoundTag;
+ public final fun readDoubleArray (Lio/netty/buffer/ByteBuf;)[D
+ public final fun readEnum (Lio/netty/buffer/ByteBuf;Ljava/lang/Class;)Ljava/lang/Enum;
+ public final fun readEnumSet (Lio/netty/buffer/ByteBuf;Ljava/lang/Class;)Ljava/util/EnumSet;
+ public final fun readEnumSet (Lio/netty/buffer/ByteBuf;Lkotlin/reflect/KClass;)Ljava/util/EnumSet;
+ public final fun readFixedBitSet (Lio/netty/buffer/ByteBuf;I)Ljava/util/BitSet;
+ public final fun readFloatArray (Lio/netty/buffer/ByteBuf;)[F
+ public final fun readInet4Address (Lio/netty/buffer/ByteBuf;)Ljava/net/Inet4Address;
+ public final fun readInetSocketAddress (Lio/netty/buffer/ByteBuf;)Ljava/net/InetSocketAddress;
+ public final fun readIntArray (Lio/netty/buffer/ByteBuf;)[I
+ public final fun readKey (Lio/netty/buffer/ByteBuf;)Lnet/kyori/adventure/key/Key;
+ public final fun readList (Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Lit/unimi/dsi/fastutil/objects/ObjectArrayList;
+ public final fun readLongArray (Lio/netty/buffer/ByteBuf;)[J
+ public final fun readMap (Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;
+ public final fun readMap (Lio/netty/buffer/ByteBuf;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/util/Map;
+ public final fun readNullable (Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/lang/Object;
+ public final fun readNumber (Lio/netty/buffer/ByteBuf;)Ljava/lang/Object;
+ public final fun readOptional (Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/util/Optional;
+ public final fun readOptionalLong (Lio/netty/buffer/ByteBuf;)Ljava/util/OptionalLong;
+ public final fun readOptionalLong (Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory$DecodeLongFactory;)Ljava/util/OptionalLong;
+ public static synthetic fun readOptionalLong$default (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf$Companion;Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory$DecodeLongFactory;ILjava/lang/Object;)Ljava/util/OptionalLong;
+ public final fun readSerializable (Lio/netty/buffer/ByteBuf;Ljava/lang/Class;)Ljava/io/Serializable;
+ public final fun readShortArray (Lio/netty/buffer/ByteBuf;)[S
+ public final fun readSingleton (Lio/netty/buffer/ByteBuf;Ljava/lang/ClassLoader;)Ljava/lang/Object;
+ public final fun readSound (Lio/netty/buffer/ByteBuf;)Lnet/kyori/adventure/sound/Sound;
+ public final fun readStringArray (Lio/netty/buffer/ByteBuf;)[Ljava/lang/String;
+ public final fun readURI (Lio/netty/buffer/ByteBuf;)Ljava/net/URI;
+ public final fun readUnsignedByte (Lio/netty/buffer/ByteBuf;)S
+ public final fun readUnsignedDouble (Lio/netty/buffer/ByteBuf;)D
+ public final fun readUnsignedFloat (Lio/netty/buffer/ByteBuf;)F
+ public final fun readUnsignedInt (Lio/netty/buffer/ByteBuf;)J
+ public final fun readUnsignedLong (Lio/netty/buffer/ByteBuf;)J
+ public final fun readUnsignedShort (Lio/netty/buffer/ByteBuf;)I
+ public final fun readUtf (Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
+ public final fun readUtf (Lio/netty/buffer/ByteBuf;I)Ljava/lang/String;
+ public static synthetic fun readUtf$default (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf$Companion;Lio/netty/buffer/ByteBuf;IILjava/lang/Object;)Ljava/lang/String;
+ public final fun readUuid (Lio/netty/buffer/ByteBuf;)Ljava/util/UUID;
+ public final fun readUuidArray (Lio/netty/buffer/ByteBuf;)[Ljava/util/UUID;
+ public final fun readVarInt (Lio/netty/buffer/ByteBuf;)I
+ public final fun readVarLong (Lio/netty/buffer/ByteBuf;)J
+ public final fun readWithCount (Lio/netty/buffer/ByteBuf;Ljava/util/function/Consumer;)V
+ public final fun readWithCount (Lio/netty/buffer/ByteBuf;Lkotlin/jvm/functions/Function1;)V
+ public final fun readZonedDateTime (Lio/netty/buffer/ByteBuf;)Ljava/time/ZonedDateTime;
+ public final fun writeArray (Lio/netty/buffer/ByteBuf;[Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeBitSet (Lio/netty/buffer/ByteBuf;Ljava/util/BitSet;)V
+ public final fun writeBooleanArray (Lio/netty/buffer/ByteBuf;[Z)V
+ public final fun writeByteArray (Lio/netty/buffer/ByteBuf;[B)V
+ public final fun writeCharArray (Lio/netty/buffer/ByteBuf;[C)V
+ public final fun writeCollection (Lio/netty/buffer/ByteBuf;Ljava/util/Collection;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeComponent (Lio/netty/buffer/ByteBuf;Lnet/kyori/adventure/text/Component;)V
+ public final fun writeCompoundTag (Lio/netty/buffer/ByteBuf;Lnet/querz/nbt/tag/CompoundTag;)V
+ public final fun writeDoubleArray (Lio/netty/buffer/ByteBuf;[D)V
+ public final fun writeEnum (Lio/netty/buffer/ByteBuf;Ljava/lang/Enum;)Lio/netty/buffer/ByteBuf;
+ public final fun writeEnumSet (Lio/netty/buffer/ByteBuf;Ljava/util/EnumSet;Ljava/lang/Class;)V
+ public final fun writeEnumSet (Lio/netty/buffer/ByteBuf;Ljava/util/EnumSet;Lkotlin/reflect/KClass;)V
+ public final fun writeFixedBitSet (Lio/netty/buffer/ByteBuf;Ljava/util/BitSet;I)Lio/netty/buffer/ByteBuf;
+ public final fun writeFloatArray (Lio/netty/buffer/ByteBuf;[F)V
+ public final fun writeInet4Address (Lio/netty/buffer/ByteBuf;Ljava/net/Inet4Address;)V
+ public final fun writeInetSocketAddress (Lio/netty/buffer/ByteBuf;Ljava/net/InetSocketAddress;)V
+ public final fun writeIntArray (Lio/netty/buffer/ByteBuf;[I)V
+ public final fun writeKey (Lio/netty/buffer/ByteBuf;Lnet/kyori/adventure/key/Key;)V
+ public final fun writeLongArray (Lio/netty/buffer/ByteBuf;[J)V
+ public final fun writeMap (Lio/netty/buffer/ByteBuf;Ljava/util/Map;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeNullable (Lio/netty/buffer/ByteBuf;Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeNumber (Lio/netty/buffer/ByteBuf;Ljava/lang/Number;)Ljava/lang/Object;
+ public final fun writeOptional (Lio/netty/buffer/ByteBuf;Ljava/util/Optional;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public final fun writeOptionalLong (Lio/netty/buffer/ByteBuf;Ljava/util/OptionalLong;)V
+ public final fun writeOptionalLong (Lio/netty/buffer/ByteBuf;Ljava/util/OptionalLong;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory$EncodeLongFactory;)V
+ public static synthetic fun writeOptionalLong$default (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf$Companion;Lio/netty/buffer/ByteBuf;Ljava/util/OptionalLong;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory$EncodeLongFactory;ILjava/lang/Object;)V
+ public final fun writeSerializable (Lio/netty/buffer/ByteBuf;Ljava/io/Serializable;)Lio/netty/buffer/ByteBuf;
+ public final fun writeShortArray (Lio/netty/buffer/ByteBuf;[S)V
+ public final fun writeSingleton (Lio/netty/buffer/ByteBuf;Ljava/lang/Object;)V
+ public final fun writeSound (Lio/netty/buffer/ByteBuf;Lnet/kyori/adventure/sound/Sound;)V
+ public final fun writeStringArray (Lio/netty/buffer/ByteBuf;[Ljava/lang/String;)V
+ public final fun writeURI (Lio/netty/buffer/ByteBuf;Ljava/net/URI;)V
+ public final fun writeUnsigned (Lio/netty/buffer/ByteBuf;B)V
+ public final fun writeUnsigned (Lio/netty/buffer/ByteBuf;D)V
+ public final fun writeUnsigned (Lio/netty/buffer/ByteBuf;F)V
+ public final fun writeUnsigned (Lio/netty/buffer/ByteBuf;I)V
+ public final fun writeUnsigned (Lio/netty/buffer/ByteBuf;J)V
+ public final fun writeUnsigned (Lio/netty/buffer/ByteBuf;S)V
+ public final fun writeUtf (Lio/netty/buffer/ByteBuf;Ljava/lang/String;)V
+ public final fun writeUtf (Lio/netty/buffer/ByteBuf;Ljava/lang/String;I)V
+ public static synthetic fun writeUtf$default (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf$Companion;Lio/netty/buffer/ByteBuf;Ljava/lang/String;IILjava/lang/Object;)V
+ public final fun writeUuid (Lio/netty/buffer/ByteBuf;Ljava/util/UUID;)V
+ public final fun writeUuidArray (Lio/netty/buffer/ByteBuf;[Ljava/util/UUID;)V
+ public final fun writeVarInt (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
+ public final fun writeVarLong (Lio/netty/buffer/ByteBuf;J)Lio/netty/buffer/ByteBuf;
+ public final fun writeWithCount (Lio/netty/buffer/ByteBuf;ILjava/util/function/Consumer;)V
+ public final fun writeWithCount (Lio/netty/buffer/ByteBuf;ILkotlin/jvm/functions/Function1;)V
+ public final fun writeZonedDateTime (Lio/netty/buffer/ByteBuf;Ljava/time/ZonedDateTime;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBufKt {
+ public static final fun checkDecoded (ZLkotlin/jvm/functions/Function0;)V
+ public static final fun checkEncoded (ZLkotlin/jvm/functions/Function0;)V
+ public static final fun readArray (Lio/netty/buffer/ByteBuf;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)[Ljava/lang/Object;
+ public static final fun readBitSet (Lio/netty/buffer/ByteBuf;)Ljava/util/BitSet;
+ public static final fun readBooleanArray (Lio/netty/buffer/ByteBuf;)[Z
+ public static final fun readByteArray (Lio/netty/buffer/ByteBuf;)[B
+ public static final fun readCharArray (Lio/netty/buffer/ByteBuf;)[C
+ public static final fun readCollection (Lio/netty/buffer/ByteBuf;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/util/Collection;
+ public static final fun readComponent (Lio/netty/buffer/ByteBuf;)Lnet/kyori/adventure/text/Component;
+ public static final fun readCompoundTag (Lio/netty/buffer/ByteBuf;)Lnet/querz/nbt/tag/CompoundTag;
+ public static final fun readDoubleArray (Lio/netty/buffer/ByteBuf;)[D
+ public static final fun readEnum (Lio/netty/buffer/ByteBuf;Ljava/lang/Class;)Ljava/lang/Enum;
+ public static final fun readEnumSet (Lio/netty/buffer/ByteBuf;Ljava/lang/Class;)Ljava/util/EnumSet;
+ public static final fun readEnumSet (Lio/netty/buffer/ByteBuf;Lkotlin/reflect/KClass;)Ljava/util/EnumSet;
+ public static final fun readFixedBitSet (Lio/netty/buffer/ByteBuf;I)Ljava/util/BitSet;
+ public static final fun readFloatArray (Lio/netty/buffer/ByteBuf;)[F
+ public static final fun readInet4Address (Lio/netty/buffer/ByteBuf;)Ljava/net/Inet4Address;
+ public static final fun readInetSocketAddress (Lio/netty/buffer/ByteBuf;)Ljava/net/InetSocketAddress;
+ public static final fun readIntArray (Lio/netty/buffer/ByteBuf;)[I
+ public static final fun readKey (Lio/netty/buffer/ByteBuf;)Lnet/kyori/adventure/key/Key;
+ public static final fun readList (Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Lit/unimi/dsi/fastutil/objects/ObjectArrayList;
+ public static final fun readLongArray (Lio/netty/buffer/ByteBuf;)[J
+ public static final fun readMap (Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;
+ public static final fun readMap (Lio/netty/buffer/ByteBuf;Lkotlin/jvm/functions/Function1;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/util/Map;
+ public static final fun readNullable (Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/lang/Object;
+ public static final fun readNullableBoolean (Lio/netty/buffer/ByteBuf;)Ljava/lang/Boolean;
+ public static final fun readNullableByte (Lio/netty/buffer/ByteBuf;)Ljava/lang/Byte;
+ public static final fun readNullableChar (Lio/netty/buffer/ByteBuf;)Ljava/lang/Character;
+ public static final fun readNullableDouble (Lio/netty/buffer/ByteBuf;)Ljava/lang/Double;
+ public static final fun readNullableFloat (Lio/netty/buffer/ByteBuf;)Ljava/lang/Float;
+ public static final fun readNullableInt (Lio/netty/buffer/ByteBuf;)Ljava/lang/Integer;
+ public static final fun readNullableLong (Lio/netty/buffer/ByteBuf;)Ljava/lang/Long;
+ public static final fun readNullableShort (Lio/netty/buffer/ByteBuf;)Ljava/lang/Short;
+ public static final fun readNullableString (Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
+ public static final fun readNullableUuid (Lio/netty/buffer/ByteBuf;)Ljava/util/UUID;
+ public static final fun readNullableVarInt (Lio/netty/buffer/ByteBuf;)Ljava/lang/Integer;
+ public static final fun readNumber (Lio/netty/buffer/ByteBuf;)Ljava/lang/Object;
+ public static final fun readOptional (Lio/netty/buffer/ByteBuf;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory;)Ljava/util/Optional;
+ public static final fun readOptionalLong (Lio/netty/buffer/ByteBuf;)Ljava/util/OptionalLong;
+ public static final fun readShortArray (Lio/netty/buffer/ByteBuf;)[S
+ public static final fun readSingleton (Lio/netty/buffer/ByteBuf;Ljava/lang/ClassLoader;)Ljava/lang/Object;
+ public static final fun readSound (Lio/netty/buffer/ByteBuf;)Lnet/kyori/adventure/sound/Sound;
+ public static final fun readStringArray (Lio/netty/buffer/ByteBuf;)[Ljava/lang/String;
+ public static final fun readURI (Lio/netty/buffer/ByteBuf;)Ljava/net/URI;
+ public static final fun readUnsignedDouble (Lio/netty/buffer/ByteBuf;)D
+ public static final fun readUnsignedFloat (Lio/netty/buffer/ByteBuf;)F
+ public static final fun readUnsignedLong (Lio/netty/buffer/ByteBuf;)J
+ public static final fun readUtf (Lio/netty/buffer/ByteBuf;I)Ljava/lang/String;
+ public static synthetic fun readUtf$default (Lio/netty/buffer/ByteBuf;IILjava/lang/Object;)Ljava/lang/String;
+ public static final fun readUuid (Lio/netty/buffer/ByteBuf;)Ljava/util/UUID;
+ public static final fun readUuidArray (Lio/netty/buffer/ByteBuf;)[Ljava/util/UUID;
+ public static final fun readVarInt (Lio/netty/buffer/ByteBuf;)I
+ public static final fun readVarLong (Lio/netty/buffer/ByteBuf;)J
+ public static final fun readWithCount (Lio/netty/buffer/ByteBuf;Ljava/util/function/Consumer;)V
+ public static final fun readWithCount (Lio/netty/buffer/ByteBuf;Lkotlin/jvm/functions/Function1;)V
+ public static final fun readZonedDateTime (Lio/netty/buffer/ByteBuf;)Ljava/time/ZonedDateTime;
+ public static final fun toByteArraySafe (Lio/netty/buffer/ByteBuf;)[B
+ public static final fun wrap (Lio/netty/buffer/ByteBuf;)Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;
+ public static final fun writeArray (Lio/netty/buffer/ByteBuf;[Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public static final fun writeBitSet (Lio/netty/buffer/ByteBuf;Ljava/util/BitSet;)V
+ public static final fun writeBooleanArray (Lio/netty/buffer/ByteBuf;[Z)V
+ public static final fun writeByteArray (Lio/netty/buffer/ByteBuf;[B)V
+ public static final fun writeCharArray (Lio/netty/buffer/ByteBuf;[C)V
+ public static final fun writeCollection (Lio/netty/buffer/ByteBuf;Ljava/util/Collection;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public static final fun writeComponent (Lio/netty/buffer/ByteBuf;Lnet/kyori/adventure/text/Component;)V
+ public static final fun writeCompoundTag (Lio/netty/buffer/ByteBuf;Lnet/querz/nbt/tag/CompoundTag;)V
+ public static final fun writeDoubleArray (Lio/netty/buffer/ByteBuf;[D)V
+ public static final fun writeEnum (Lio/netty/buffer/ByteBuf;Ljava/lang/Enum;)Lio/netty/buffer/ByteBuf;
+ public static final fun writeEnumSet (Lio/netty/buffer/ByteBuf;Ljava/util/EnumSet;Ljava/lang/Class;)V
+ public static final fun writeEnumSet (Lio/netty/buffer/ByteBuf;Ljava/util/EnumSet;Lkotlin/reflect/KClass;)V
+ public static final fun writeFixedBitSet (Lio/netty/buffer/ByteBuf;Ljava/util/BitSet;I)Lio/netty/buffer/ByteBuf;
+ public static final fun writeFloatArray (Lio/netty/buffer/ByteBuf;[F)V
+ public static final fun writeInet4Address (Lio/netty/buffer/ByteBuf;Ljava/net/Inet4Address;)V
+ public static final fun writeInetSocketAddress (Lio/netty/buffer/ByteBuf;Ljava/net/InetSocketAddress;)V
+ public static final fun writeIntArray (Lio/netty/buffer/ByteBuf;[I)V
+ public static final fun writeKey (Lio/netty/buffer/ByteBuf;Lnet/kyori/adventure/key/Key;)V
+ public static final fun writeLongArray (Lio/netty/buffer/ByteBuf;[J)V
+ public static final fun writeMap (Lio/netty/buffer/ByteBuf;Ljava/util/Map;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public static final fun writeNullable (Lio/netty/buffer/ByteBuf;Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public static final fun writeNullableBoolean (Lio/netty/buffer/ByteBuf;Ljava/lang/Boolean;)V
+ public static final fun writeNullableByte (Lio/netty/buffer/ByteBuf;Ljava/lang/Byte;)V
+ public static final fun writeNullableChar (Lio/netty/buffer/ByteBuf;Ljava/lang/Character;)V
+ public static final fun writeNullableDouble (Lio/netty/buffer/ByteBuf;Ljava/lang/Double;)V
+ public static final fun writeNullableFloat (Lio/netty/buffer/ByteBuf;Ljava/lang/Float;)V
+ public static final fun writeNullableInt (Lio/netty/buffer/ByteBuf;Ljava/lang/Integer;)V
+ public static final fun writeNullableLong (Lio/netty/buffer/ByteBuf;Ljava/lang/Long;)V
+ public static final fun writeNullableShort (Lio/netty/buffer/ByteBuf;Ljava/lang/Short;)V
+ public static final fun writeNullableString (Lio/netty/buffer/ByteBuf;Ljava/lang/String;)V
+ public static final fun writeNullableUuid (Lio/netty/buffer/ByteBuf;Ljava/util/UUID;)V
+ public static final fun writeNullableVarInt (Lio/netty/buffer/ByteBuf;Ljava/lang/Integer;)V
+ public static final fun writeNumber (Lio/netty/buffer/ByteBuf;Ljava/lang/Number;)Ljava/lang/Object;
+ public static final fun writeOptional (Lio/netty/buffer/ByteBuf;Ljava/util/Optional;Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory;)V
+ public static final fun writeOptionalLong (Lio/netty/buffer/ByteBuf;Ljava/util/OptionalLong;)V
+ public static final fun writeShortArray (Lio/netty/buffer/ByteBuf;[S)V
+ public static final fun writeSingleton (Lio/netty/buffer/ByteBuf;Ljava/lang/Object;)V
+ public static final fun writeSound (Lio/netty/buffer/ByteBuf;Lnet/kyori/adventure/sound/Sound;)V
+ public static final fun writeStringArray (Lio/netty/buffer/ByteBuf;[Ljava/lang/String;)V
+ public static final fun writeURI (Lio/netty/buffer/ByteBuf;Ljava/net/URI;)V
+ public static final fun writeUnsigned (Lio/netty/buffer/ByteBuf;B)V
+ public static final fun writeUnsigned (Lio/netty/buffer/ByteBuf;D)V
+ public static final fun writeUnsigned (Lio/netty/buffer/ByteBuf;F)V
+ public static final fun writeUnsigned (Lio/netty/buffer/ByteBuf;I)V
+ public static final fun writeUnsigned (Lio/netty/buffer/ByteBuf;J)V
+ public static final fun writeUnsigned (Lio/netty/buffer/ByteBuf;S)V
+ public static final fun writeUtf (Lio/netty/buffer/ByteBuf;Ljava/lang/String;I)V
+ public static synthetic fun writeUtf$default (Lio/netty/buffer/ByteBuf;Ljava/lang/String;IILjava/lang/Object;)V
+ public static final fun writeUuid (Lio/netty/buffer/ByteBuf;Ljava/util/UUID;)V
+ public static final fun writeUuidArray (Lio/netty/buffer/ByteBuf;[Ljava/util/UUID;)V
+ public static final fun writeVarInt (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
+ public static final fun writeVarLong (Lio/netty/buffer/ByteBuf;J)Lio/netty/buffer/ByteBuf;
+ public static final fun writeWithCount (Lio/netty/buffer/ByteBuf;ILjava/util/function/Consumer;)V
+ public static final fun writeWithCount (Lio/netty/buffer/ByteBuf;ILkotlin/jvm/functions/Function1;)V
+ public static final fun writeZonedDateTime (Lio/netty/buffer/ByteBuf;Ljava/time/ZonedDateTime;)V
+}
+
+public class dev/slne/surf/cloud/api/common/netty/protocol/buffer/WrappedByteBuf : io/netty/buffer/ByteBuf {
+ public fun (Lio/netty/buffer/ByteBuf;)V
+ public fun alloc ()Lio/netty/buffer/ByteBufAllocator;
+ public fun array ()[B
+ public fun arrayOffset ()I
+ public fun asByteBuf ()Lio/netty/buffer/ByteBuf;
+ public fun asReadOnly ()Lio/netty/buffer/ByteBuf;
+ public fun bytesBefore (B)I
+ public fun bytesBefore (IB)I
+ public fun bytesBefore (IIB)I
+ public fun capacity ()I
+ public fun capacity (I)Lio/netty/buffer/ByteBuf;
+ public fun clear ()Lio/netty/buffer/ByteBuf;
+ public fun compareTo (Lio/netty/buffer/ByteBuf;)I
+ public synthetic fun compareTo (Ljava/lang/Object;)I
+ public fun copy ()Lio/netty/buffer/ByteBuf;
+ public fun copy (II)Lio/netty/buffer/ByteBuf;
+ public fun discardReadBytes ()Lio/netty/buffer/ByteBuf;
+ public fun discardSomeReadBytes ()Lio/netty/buffer/ByteBuf;
+ public fun duplicate ()Lio/netty/buffer/ByteBuf;
+ public fun ensureWritable (I)Lio/netty/buffer/ByteBuf;
+ public fun ensureWritable (IZ)I
+ public fun equals (Ljava/lang/Object;)Z
+ public fun forEachByte (IILio/netty/util/ByteProcessor;)I
+ public fun forEachByte (Lio/netty/util/ByteProcessor;)I
+ public fun forEachByteDesc (IILio/netty/util/ByteProcessor;)I
+ public fun forEachByteDesc (Lio/netty/util/ByteProcessor;)I
+ public fun getBoolean (I)Z
+ public fun getByte (I)B
+ public fun getBytes (ILio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
+ public fun getBytes (ILio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
+ public fun getBytes (ILio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
+ public fun getBytes (ILjava/io/OutputStream;I)Lio/netty/buffer/ByteBuf;
+ public fun getBytes (ILjava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;
+ public fun getBytes (ILjava/nio/channels/FileChannel;JI)I
+ public fun getBytes (ILjava/nio/channels/GatheringByteChannel;I)I
+ public fun getBytes (I[B)Lio/netty/buffer/ByteBuf;
+ public fun getBytes (I[BII)Lio/netty/buffer/ByteBuf;
+ public fun getChar (I)C
+ public fun getCharSequence (IILjava/nio/charset/Charset;)Ljava/lang/CharSequence;
+ public fun getDouble (I)D
+ public fun getDoubleLE (I)D
+ public fun getFloat (I)F
+ public fun getFloatLE (I)F
+ public fun getInt (I)I
+ public fun getIntLE (I)I
+ public fun getLong (I)J
+ public fun getLongLE (I)J
+ public fun getMedium (I)I
+ public fun getMediumLE (I)I
+ public fun getShort (I)S
+ public fun getShortLE (I)S
+ public fun getUnsignedByte (I)S
+ public fun getUnsignedInt (I)J
+ public fun getUnsignedIntLE (I)J
+ public fun getUnsignedMedium (I)I
+ public fun getUnsignedMediumLE (I)I
+ public fun getUnsignedShort (I)I
+ public fun getUnsignedShortLE (I)I
+ public fun hasArray ()Z
+ public fun hasMemoryAddress ()Z
+ public fun hashCode ()I
+ public fun indexOf (IIB)I
+ public fun internalNioBuffer (II)Ljava/nio/ByteBuffer;
+ public fun isContiguous ()Z
+ public fun isDirect ()Z
+ public fun isReadOnly ()Z
+ public fun isReadable ()Z
+ public fun isReadable (I)Z
+ public fun isWritable ()Z
+ public fun isWritable (I)Z
+ public fun markReaderIndex ()Lio/netty/buffer/ByteBuf;
+ public fun markWriterIndex ()Lio/netty/buffer/ByteBuf;
+ public fun maxCapacity ()I
+ public fun maxFastWritableBytes ()I
+ public fun maxWritableBytes ()I
+ public fun memoryAddress ()J
+ public fun nioBuffer ()Ljava/nio/ByteBuffer;
+ public fun nioBuffer (II)Ljava/nio/ByteBuffer;
+ public fun nioBufferCount ()I
+ public fun nioBuffers ()[Ljava/nio/ByteBuffer;
+ public fun nioBuffers (II)[Ljava/nio/ByteBuffer;
+ public fun order ()Ljava/nio/ByteOrder;
+ public fun order (Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf;
+ public fun readBoolean ()Z
+ public fun readByte ()B
+ public fun readBytes (I)Lio/netty/buffer/ByteBuf;
+ public fun readBytes (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
+ public fun readBytes (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
+ public fun readBytes (Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
+ public fun readBytes (Ljava/io/OutputStream;I)Lio/netty/buffer/ByteBuf;
+ public fun readBytes (Ljava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;
+ public fun readBytes (Ljava/nio/channels/FileChannel;JI)I
+ public fun readBytes (Ljava/nio/channels/GatheringByteChannel;I)I
+ public fun readBytes ([B)Lio/netty/buffer/ByteBuf;
+ public fun readBytes ([BII)Lio/netty/buffer/ByteBuf;
+ public fun readChar ()C
+ public fun readCharSequence (ILjava/nio/charset/Charset;)Ljava/lang/CharSequence;
+ public fun readDouble ()D
+ public fun readDoubleLE ()D
+ public fun readFloat ()F
+ public fun readFloatLE ()F
+ public fun readInt ()I
+ public fun readIntLE ()I
+ public fun readLong ()J
+ public fun readLongLE ()J
+ public fun readMedium ()I
+ public fun readMediumLE ()I
+ public fun readRetainedSlice (I)Lio/netty/buffer/ByteBuf;
+ public fun readShort ()S
+ public fun readShortLE ()S
+ public fun readSlice (I)Lio/netty/buffer/ByteBuf;
+ public fun readUnsignedByte ()S
+ public fun readUnsignedInt ()J
+ public fun readUnsignedIntLE ()J
+ public fun readUnsignedMedium ()I
+ public fun readUnsignedMediumLE ()I
+ public fun readUnsignedShort ()I
+ public fun readUnsignedShortLE ()I
+ public fun readableBytes ()I
+ public fun readerIndex ()I
+ public fun readerIndex (I)Lio/netty/buffer/ByteBuf;
+ public fun refCnt ()I
+ public fun release ()Z
+ public fun release (I)Z
+ public fun resetReaderIndex ()Lio/netty/buffer/ByteBuf;
+ public fun resetWriterIndex ()Lio/netty/buffer/ByteBuf;
+ public fun retain ()Lio/netty/buffer/ByteBuf;
+ public synthetic fun retain ()Lio/netty/util/ReferenceCounted;
+ public fun retain (I)Lio/netty/buffer/ByteBuf;
+ public synthetic fun retain (I)Lio/netty/util/ReferenceCounted;
+ public fun retainedDuplicate ()Lio/netty/buffer/ByteBuf;
+ public fun retainedSlice ()Lio/netty/buffer/ByteBuf;
+ public fun retainedSlice (II)Lio/netty/buffer/ByteBuf;
+ public fun setBoolean (IZ)Lio/netty/buffer/ByteBuf;
+ public fun setByte (II)Lio/netty/buffer/ByteBuf;
+ public fun setBytes (ILio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
+ public fun setBytes (ILio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
+ public fun setBytes (ILio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
+ public fun setBytes (ILjava/io/InputStream;I)I
+ public fun setBytes (ILjava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;
+ public fun setBytes (ILjava/nio/channels/FileChannel;JI)I
+ public fun setBytes (ILjava/nio/channels/ScatteringByteChannel;I)I
+ public fun setBytes (I[B)Lio/netty/buffer/ByteBuf;
+ public fun setBytes (I[BII)Lio/netty/buffer/ByteBuf;
+ public fun setChar (II)Lio/netty/buffer/ByteBuf;
+ public fun setCharSequence (ILjava/lang/CharSequence;Ljava/nio/charset/Charset;)I
+ public fun setDouble (ID)Lio/netty/buffer/ByteBuf;
+ public fun setDoubleLE (ID)Lio/netty/buffer/ByteBuf;
+ public fun setFloat (IF)Lio/netty/buffer/ByteBuf;
+ public fun setFloatLE (IF)Lio/netty/buffer/ByteBuf;
+ public fun setIndex (II)Lio/netty/buffer/ByteBuf;
+ public fun setInt (II)Lio/netty/buffer/ByteBuf;
+ public fun setIntLE (II)Lio/netty/buffer/ByteBuf;
+ public fun setLong (IJ)Lio/netty/buffer/ByteBuf;
+ public fun setLongLE (IJ)Lio/netty/buffer/ByteBuf;
+ public fun setMedium (II)Lio/netty/buffer/ByteBuf;
+ public fun setMediumLE (II)Lio/netty/buffer/ByteBuf;
+ public fun setShort (II)Lio/netty/buffer/ByteBuf;
+ public fun setShortLE (II)Lio/netty/buffer/ByteBuf;
+ public fun setZero (II)Lio/netty/buffer/ByteBuf;
+ public fun skipBytes (I)Lio/netty/buffer/ByteBuf;
+ public fun slice ()Lio/netty/buffer/ByteBuf;
+ public fun slice (II)Lio/netty/buffer/ByteBuf;
+ public fun toString ()Ljava/lang/String;
+ public fun toString (IILjava/nio/charset/Charset;)Ljava/lang/String;
+ public fun toString (Ljava/nio/charset/Charset;)Ljava/lang/String;
+ public fun touch ()Lio/netty/buffer/ByteBuf;
+ public synthetic fun touch ()Lio/netty/util/ReferenceCounted;
+ public fun touch (Ljava/lang/Object;)Lio/netty/buffer/ByteBuf;
+ public synthetic fun touch (Ljava/lang/Object;)Lio/netty/util/ReferenceCounted;
+ public fun unwrap ()Lio/netty/buffer/ByteBuf;
+ public fun writableBytes ()I
+ public fun writeBoolean (Z)Lio/netty/buffer/ByteBuf;
+ public fun writeByte (I)Lio/netty/buffer/ByteBuf;
+ public fun writeBytes (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
+ public fun writeBytes (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
+ public fun writeBytes (Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
+ public fun writeBytes (Ljava/io/InputStream;I)I
+ public fun writeBytes (Ljava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;
+ public fun writeBytes (Ljava/nio/channels/FileChannel;JI)I
+ public fun writeBytes (Ljava/nio/channels/ScatteringByteChannel;I)I
+ public fun writeBytes ([B)Lio/netty/buffer/ByteBuf;
+ public fun writeBytes ([BII)Lio/netty/buffer/ByteBuf;
+ public fun writeChar (I)Lio/netty/buffer/ByteBuf;
+ public fun writeCharSequence (Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)I
+ public fun writeDouble (D)Lio/netty/buffer/ByteBuf;
+ public fun writeDoubleLE (D)Lio/netty/buffer/ByteBuf;
+ public fun writeFloat (F)Lio/netty/buffer/ByteBuf;
+ public fun writeFloatLE (F)Lio/netty/buffer/ByteBuf;
+ public fun writeInt (I)Lio/netty/buffer/ByteBuf;
+ public fun writeIntLE (I)Lio/netty/buffer/ByteBuf;
+ public fun writeLong (J)Lio/netty/buffer/ByteBuf;
+ public fun writeLongLE (J)Lio/netty/buffer/ByteBuf;
+ public fun writeMedium (I)Lio/netty/buffer/ByteBuf;
+ public fun writeMediumLE (I)Lio/netty/buffer/ByteBuf;
+ public fun writeShort (I)Lio/netty/buffer/ByteBuf;
+ public fun writeShortLE (I)Lio/netty/buffer/ByteBuf;
+ public fun writeZero (I)Lio/netty/buffer/ByteBuf;
+ public fun writerIndex ()I
+ public fun writerIndex (I)Lio/netty/buffer/ByteBuf;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory {
+ public abstract fun invoke (Lio/netty/buffer/ByteBuf;)Ljava/lang/Object;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory$DecodeLongFactory : dev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory {
+ public abstract fun decodeLong (Lio/netty/buffer/ByteBuf;)J
+ public abstract fun invoke (Lio/netty/buffer/ByteBuf;)Ljava/lang/Long;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory$DecodeLongFactory$DefaultImpls {
+ public static fun invoke (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/decoder/DecodeFactory$DecodeLongFactory;Lio/netty/buffer/ByteBuf;)Ljava/lang/Long;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory {
+ public abstract fun invoke (Lio/netty/buffer/ByteBuf;Ljava/lang/Object;)V
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory$EncodeLongFactory : dev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory {
+ public abstract fun encodeLong (Lio/netty/buffer/ByteBuf;J)V
+ public abstract fun invoke (Lio/netty/buffer/ByteBuf;J)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory$EncodeLongFactory$DefaultImpls {
+ public static fun invoke (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/ecoder/EncodeFactory$EncodeLongFactory;Lio/netty/buffer/ByteBuf;J)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/protocol/buffer/types/Utf8String {
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/types/Utf8String;
+ public final fun read (Lio/netty/buffer/ByteBuf;I)Ljava/lang/String;
+ public final fun write (Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;I)V
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/protocol/buffer/types/VarInt {
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/types/VarInt;
+ public final fun getEncodedSize (I)I
+ public final fun hasContinuationBit (B)Z
+ public final fun readVarInt (Lio/netty/buffer/ByteBuf;)I
+ public final fun writeVarInt (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
+}
+
+public final class dev/slne/surf/cloud/api/common/netty/protocol/buffer/types/VarLong {
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/types/VarLong;
+ public final fun getEncodedSize (J)I
+ public final fun hasContinuationBit (B)Z
+ public final fun readVarLong (Lio/netty/buffer/ByteBuf;)J
+ public final fun writeVarLong (Lio/netty/buffer/ByteBuf;J)Lio/netty/buffer/ByteBuf;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/player/CloudPlayer : dev/slne/surf/cloud/api/common/player/OfflineCloudPlayer, net/kyori/adventure/audience/Audience {
+ public abstract fun connectToServer (Ldev/slne/surf/cloud/api/common/server/CloudServer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun connectToServer (Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun connectToServer (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun connectToServerOrQueue (Ldev/slne/surf/cloud/api/common/server/CloudServer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun connectToServerOrQueue (Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun connectToServerOrQueue (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun disconnect (Lnet/kyori/adventure/text/Component;)V
+ public abstract fun displayName (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun getConnected ()Z
+ public abstract fun getConnectedToProxy ()Z
+ public abstract fun getConnectedToServer ()Z
+ public abstract fun lastServerRaw (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun latestIpAddress (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun name (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun teleport (Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;[Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun teleport (Ljava/util/UUID;DDDFFLdev/slne/surf/cloud/api/common/player/teleport/TeleportCause;[Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun withPersistentData (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/CloudPlayer$DefaultImpls {
+ public static fun getConnected (Ldev/slne/surf/cloud/api/common/player/CloudPlayer;)Z
+ public static fun teleport (Ldev/slne/surf/cloud/api/common/player/CloudPlayer;Ljava/util/UUID;DDDFFLdev/slne/surf/cloud/api/common/player/teleport/TeleportCause;[Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static synthetic fun teleport$default (Ldev/slne/surf/cloud/api/common/player/CloudPlayer;Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;[Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+ public static synthetic fun teleport$default (Ldev/slne/surf/cloud/api/common/player/CloudPlayer;Ljava/util/UUID;DDDFFLdev/slne/surf/cloud/api/common/player/teleport/TeleportCause;[Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/player/CloudPlayerManager {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/player/CloudPlayerManager$Companion;
+ public abstract fun getOfflinePlayer (Ljava/util/UUID;)Ldev/slne/surf/cloud/api/common/player/OfflineCloudPlayer;
+ public abstract fun getOnlinePlayers ()Ldev/slne/surf/cloud/api/common/server/UserList;
+ public abstract fun getPlayer (Ljava/util/UUID;)Ldev/slne/surf/cloud/api/common/player/CloudPlayer;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/CloudPlayerManager$Companion : dev/slne/surf/cloud/api/common/player/CloudPlayerManager {
+ public fun getOfflinePlayer (Ljava/util/UUID;)Ldev/slne/surf/cloud/api/common/player/OfflineCloudPlayer;
+ public fun getOnlinePlayers ()Ldev/slne/surf/cloud/api/common/server/UserList;
+ public fun getPlayer (Ljava/util/UUID;)Ldev/slne/surf/cloud/api/common/player/CloudPlayer;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/CloudPlayerManagerKt {
+ public static final fun toCloudPlayer (Lnet/kyori/adventure/audience/Audience;)Ldev/slne/surf/cloud/api/common/player/CloudPlayer;
+ public static final fun toOfflineCloudPlayer (Lnet/kyori/adventure/audience/Audience;)Ldev/slne/surf/cloud/api/common/player/OfflineCloudPlayer;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/ConnectionResultEnum : java/lang/Enum {
+ public static final field ALREADY_CONNECTED Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field CANNOT_COMMUNICATE_WITH_PROXY Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field CANNOT_CONNECT_TO_PROXY Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field CANNOT_SWITCH_PROXY Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field CATEGORY_FULL Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field CONNECTION_CANCELLED Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field CONNECTION_IN_PROGRESS Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field OTHER_SERVER_CANNOT_ACCEPT_TRANSFER_PACKET Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field SERVER_DISCONNECTED Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field SERVER_FULL Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field SERVER_NOT_FOUND Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field SERVER_OFFLINE Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static final field SUCCESS Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static fun getEntries ()Lkotlin/enums/EnumEntries;
+ public static fun valueOf (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+ public static fun values ()[Ldev/slne/surf/cloud/api/common/player/ConnectionResultEnum;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/player/OfflineCloudPlayer {
+ public abstract fun displayName (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun getLuckpermsMetaData (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun getLuckpermsMetaData (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun getPlayer ()Ldev/slne/surf/cloud/api/common/player/CloudPlayer;
+ public abstract fun getUuid ()Ljava/util/UUID;
+ public abstract fun lastSeen (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun lastServer (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun lastServerRaw (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun latestIpAddress (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun name (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun nameHistory (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun playedBefore (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/name/NameEntry {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/player/name/NameEntry$Companion;
+ public fun (JLjava/lang/String;)V
+ public final fun component1 ()J
+ public final fun component2 ()Ljava/lang/String;
+ public final fun copy (JLjava/lang/String;)Ldev/slne/surf/cloud/api/common/player/name/NameEntry;
+ public static synthetic fun copy$default (Ldev/slne/surf/cloud/api/common/player/name/NameEntry;JLjava/lang/String;ILjava/lang/Object;)Ldev/slne/surf/cloud/api/common/player/name/NameEntry;
+ public fun equals (Ljava/lang/Object;)Z
+ public final fun getName ()Ljava/lang/String;
+ public final fun getTimestamp ()J
+ public fun hashCode ()I
+ public fun toString ()Ljava/lang/String;
+ public final fun writeToByteBuf (Lio/netty/buffer/ByteBuf;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/player/name/NameEntry$Companion {
+ public final fun readFromByteBuf (Lio/netty/buffer/ByteBuf;)Ldev/slne/surf/cloud/api/common/player/name/NameEntry;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/player/name/NameHistory {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/player/name/NameHistory$Companion;
+ public abstract fun firstUsedName ()Ldev/slne/surf/cloud/api/common/player/name/NameEntry;
+ public abstract fun getNameAtTime (J)Ldev/slne/surf/cloud/api/common/player/name/NameEntry;
+ public abstract fun getNameChanges ()I
+ public abstract fun lastKnownName ()Ldev/slne/surf/cloud/api/common/player/name/NameEntry;
+ public abstract fun names ()Lit/unimi/dsi/fastutil/objects/ObjectList;
+ public abstract fun timeSinceLastChange ()J
+ public abstract fun wasNameUsed (Ljava/lang/String;)Z
+ public abstract fun writeToByteBuf (Lio/netty/buffer/ByteBuf;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/player/name/NameHistory$Companion {
+ public final fun readFromByteBuf (Lio/netty/buffer/ByteBuf;)Ldev/slne/surf/cloud/api/common/player/name/NameHistory;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/name/NameHistoryFactory$Companion {
+ public final fun getInstance ()Ldev/slne/surf/cloud/api/common/player/name/NameHistoryFactory;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/player/ppdc/ListPersistentPlayerDataType : dev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataType {
+ public abstract fun getElementType ()Ldev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataType;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataAdapterContext {
+ public abstract fun newPersistentDataContainer ()Ldev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataContainer;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataContainer : dev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataContainerView {
+ public abstract fun getBoolean (Lnet/kyori/adventure/key/Key;)Ljava/lang/Boolean;
+ public abstract fun getByte (Lnet/kyori/adventure/key/Key;)Ljava/lang/Byte;
+ public abstract fun getByteArray (Lnet/kyori/adventure/key/Key;)[B
+ public abstract fun getDouble (Lnet/kyori/adventure/key/Key;)Ljava/lang/Double;
+ public abstract fun getFloat (Lnet/kyori/adventure/key/Key;)Ljava/lang/Float;
+ public abstract fun getInt (Lnet/kyori/adventure/key/Key;)Ljava/lang/Integer;
+ public abstract fun getIntArray (Lnet/kyori/adventure/key/Key;)[I
+ public abstract fun getLong (Lnet/kyori/adventure/key/Key;)Ljava/lang/Long;
+ public abstract fun getLongArray (Lnet/kyori/adventure/key/Key;)[J
+ public abstract fun getNumber (Lnet/kyori/adventure/key/Key;)Ljava/lang/Number;
+ public abstract fun getShort (Lnet/kyori/adventure/key/Key;)Ljava/lang/Short;
+ public abstract fun getString (Lnet/kyori/adventure/key/Key;)Ljava/lang/String;
+ public abstract fun readFromBuf (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;)V
+ public abstract fun remove (Lnet/kyori/adventure/key/Key;)V
+ public abstract fun set (Lnet/kyori/adventure/key/Key;Ldev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataType;Ljava/lang/Object;)V
+ public abstract fun setBoolean (Lnet/kyori/adventure/key/Key;Z)V
+ public abstract fun setByte (Lnet/kyori/adventure/key/Key;B)V
+ public abstract fun setByteArray (Lnet/kyori/adventure/key/Key;[B)V
+ public abstract fun setDouble (Lnet/kyori/adventure/key/Key;D)V
+ public abstract fun setFloat (Lnet/kyori/adventure/key/Key;F)V
+ public abstract fun setInt (Lnet/kyori/adventure/key/Key;I)V
+ public abstract fun setIntArray (Lnet/kyori/adventure/key/Key;[I)V
+ public abstract fun setLong (Lnet/kyori/adventure/key/Key;J)V
+ public abstract fun setLongArray (Lnet/kyori/adventure/key/Key;[J)V
+ public abstract fun setShort (Lnet/kyori/adventure/key/Key;S)V
+ public abstract fun setString (Lnet/kyori/adventure/key/Key;Ljava/lang/String;)V
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataContainerView {
+ public abstract fun get (Lnet/kyori/adventure/key/Key;Ldev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataType;)Ljava/lang/Object;
+ public abstract fun getAdapterContext ()Ldev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataAdapterContext;
+ public abstract fun getEmpty ()Z
+ public abstract fun getKeys ()Lit/unimi/dsi/fastutil/objects/ObjectSet;
+ public abstract fun has (Lnet/kyori/adventure/key/Key;)Z
+ public abstract fun has (Lnet/kyori/adventure/key/Key;Ldev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataType;)Z
+ public abstract fun writeToBuf (Ldev/slne/surf/cloud/api/common/netty/protocol/buffer/SurfByteBuf;)V
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataType {
+ public abstract fun fromPrimitive (Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataAdapterContext;)Ljava/lang/Object;
+ public abstract fun getPrimitiveType ()Lkotlin/reflect/KClass;
+ public abstract fun toPrimitive (Ljava/lang/Object;Ldev/slne/surf/cloud/api/common/player/ppdc/PersistentPlayerDataAdapterContext;)Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/teleport/TeleportCause : java/lang/Enum {
+ public static final field CHORUS_FRUIT Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field COMMAND Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field DISMOUNT Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field ENDER_PEARL Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field END_GATEWAY Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field END_PORTAL Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field EXIT_BED Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field NETHER_PORTAL Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field PLUGIN Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field SPECTATE Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static final field UNKNOWN Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static fun getEntries ()Lkotlin/enums/EnumEntries;
+ public static fun valueOf (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+ public static fun values ()[Ldev/slne/surf/cloud/api/common/player/teleport/TeleportCause;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/teleport/TeleportFlag : java/lang/Enum {
+ public static final field RETAIN_OPEN_INVENTORY Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+ public static final field RETAIN_PASSENGERS Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+ public static final field RETAIN_VEHICLE Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+ public static final field VELOCITY_ROTATION Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+ public static final field VELOCITY_X Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+ public static final field VELOCITY_Y Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+ public static final field VELOCITY_Z Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+ public static fun getEntries ()Lkotlin/enums/EnumEntries;
+ public static fun valueOf (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+ public static fun values ()[Ldev/slne/surf/cloud/api/common/player/teleport/TeleportFlag;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/teleport/TeleportLocation {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation$Companion;
+ public fun (Ljava/util/UUID;DDDFF)V
+ public synthetic fun (Ljava/util/UUID;DDDFFILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1 ()Ljava/util/UUID;
+ public final fun component2 ()D
+ public final fun component3 ()D
+ public final fun component4 ()D
+ public final fun component5 ()F
+ public final fun component6 ()F
+ public final fun copy (Ljava/util/UUID;DDDFF)Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;
+ public static synthetic fun copy$default (Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;Ljava/util/UUID;DDDFFILjava/lang/Object;)Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;
+ public final fun distance (Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;)D
+ public final fun distanceSquared (Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;)D
+ public fun equals (Ljava/lang/Object;)Z
+ public final fun getPitch ()F
+ public final fun getWorld ()Ljava/util/UUID;
+ public final fun getX ()D
+ public final fun getY ()D
+ public final fun getYaw ()F
+ public final fun getZ ()D
+ public fun hashCode ()I
+ public fun toString ()Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/teleport/TeleportLocation$Companion {
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/player/teleport/TeleportLocationKt {
+ public static final fun fineLocation (Ljava/util/UUID;DDDFF)Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;
+ public static synthetic fun fineLocation$default (Ljava/util/UUID;DDDFFILjava/lang/Object;)Ldev/slne/surf/cloud/api/common/player/teleport/TeleportLocation;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/server/CloudServer : dev/slne/surf/cloud/api/common/server/CommonCloudServer {
+ public abstract fun getAllowlist ()Z
+}
+
+public final class dev/slne/surf/cloud/api/common/server/CloudServer$DefaultImpls {
+ public static fun getEmptySlots (Ldev/slne/surf/cloud/api/common/server/CloudServer;)I
+ public static fun hasEmptySlots (Ldev/slne/surf/cloud/api/common/server/CloudServer;)Z
+}
+
+public final class dev/slne/surf/cloud/api/common/server/CloudServerConstants {
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/server/CloudServerConstants;
+ public static final field LOBBY_CATEGORY Ljava/lang/String;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/server/CloudServerManager {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/server/CloudServerManager$Companion;
+ public abstract fun retrieveAllServers (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun retrieveServerByCategoryAndName (Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun retrieveServerById (JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun retrieveServerByName (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun retrieveServersByCategory (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/server/CloudServerManager$Companion : dev/slne/surf/cloud/api/common/server/CloudServerManager {
+ public fun retrieveAllServers (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public fun retrieveServerByCategoryAndName (Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public fun retrieveServerById (JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public fun retrieveServerByName (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public fun retrieveServersByCategory (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/server/CommonCloudServer : net/kyori/adventure/audience/ForwardingAudience {
+ public abstract fun audiences ()Ldev/slne/surf/cloud/api/common/server/UserList;
+ public abstract fun getCurrentPlayerCount ()I
+ public abstract fun getEmptySlots ()I
+ public abstract fun getGroup ()Ljava/lang/String;
+ public abstract fun getMaxPlayerCount ()I
+ public abstract fun getName ()Ljava/lang/String;
+ public abstract fun getState ()Ldev/slne/surf/cloud/api/common/server/state/ServerState;
+ public abstract fun getUid ()J
+ public abstract fun getUsers ()Ldev/slne/surf/cloud/api/common/server/UserList;
+ public abstract fun hasEmptySlots ()Z
+ public abstract fun sendAll (Ldev/slne/surf/cloud/api/common/server/CloudServer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun sendAll (Ldev/slne/surf/cloud/api/common/server/CloudServer;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun sendAll (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun shutdown ()V
+}
+
+public final class dev/slne/surf/cloud/api/common/server/CommonCloudServer$DefaultImpls {
+ public static fun getEmptySlots (Ldev/slne/surf/cloud/api/common/server/CommonCloudServer;)I
+ public static fun hasEmptySlots (Ldev/slne/surf/cloud/api/common/server/CommonCloudServer;)Z
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/server/MutableUserList : dev/slne/surf/cloud/api/common/server/UserList, java/util/Collection, kotlin/jvm/internal/markers/KMutableCollection {
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/server/ProxyCloudServer : dev/slne/surf/cloud/api/common/server/CommonCloudServer {
+}
+
+public final class dev/slne/surf/cloud/api/common/server/ProxyCloudServer$DefaultImpls {
+ public static fun getEmptySlots (Ldev/slne/surf/cloud/api/common/server/ProxyCloudServer;)I
+ public static fun hasEmptySlots (Ldev/slne/surf/cloud/api/common/server/ProxyCloudServer;)Z
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/server/UserList : java/util/Collection, kotlin/jvm/internal/markers/KMappedMarker {
+ public abstract fun snapshot ()Ldev/slne/surf/cloud/api/common/server/MutableUserList;
+}
+
+public final class dev/slne/surf/cloud/api/common/server/UserListImpl$Companion {
+ public final fun getSTREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun of (Ljava/lang/Iterable;)Ldev/slne/surf/cloud/api/common/server/UserListImpl;
+}
+
+public final class dev/slne/surf/cloud/api/common/server/state/ServerState : java/lang/Enum {
+ public static final field LOBBY Ldev/slne/surf/cloud/api/common/server/state/ServerState;
+ public static final field OFFLINE Ldev/slne/surf/cloud/api/common/server/state/ServerState;
+ public static final field ONLINE Ldev/slne/surf/cloud/api/common/server/state/ServerState;
+ public static final field RESTARTING Ldev/slne/surf/cloud/api/common/server/state/ServerState;
+ public final fun getAllowJoin ()Z
+ public static fun getEntries ()Lkotlin/enums/EnumEntries;
+ public static fun valueOf (Ljava/lang/String;)Ldev/slne/surf/cloud/api/common/server/state/ServerState;
+ public static fun values ()[Ldev/slne/surf/cloud/api/common/server/state/ServerState;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/Address_utilsKt {
+ public static final fun createInetSocketAddress (Ljava/lang/String;IZ)Ljava/net/InetSocketAddress;
+ public static final fun createResolvedInetSocketAddress (Ljava/lang/String;I)Ljava/net/InetSocketAddress;
+ public static final fun createUnresolvedInetSocketAddress (Ljava/lang/String;I)Ljava/net/InetSocketAddress;
+ public static final fun parseInetSocketAddress (Ljava/lang/String;IZ)Ljava/net/InetSocketAddress;
+ public static synthetic fun parseInetSocketAddress$default (Ljava/lang/String;IZILjava/lang/Object;)Ljava/net/InetSocketAddress;
+ public static final fun replaceUnresolvedNumericIp (Ljava/net/InetSocketAddress;)Ljava/net/InetSocketAddress;
+ public static final fun replaceWithResolved (Ljava/net/InetSocketAddress;)Ljava/net/InetSocketAddress;
+ public static final fun updateInetSocketAddressHost (Lkotlin/jvm/functions/Function0;Ljava/lang/String;)Ljava/net/InetSocketAddress;
+ public static final fun updateInetSocketAddressPort (Lkotlin/jvm/functions/Function0;I)Ljava/net/InetSocketAddress;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/Ansi_utilKt {
+ public static final fun buildAnsiString ([Ljava/lang/Object;)Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/Collection_utilsKt {
+ public static final fun singleOrNullOrThrow (Ljava/lang/Iterable;)Ljava/lang/Object;
+ public static final fun singleOrNullOrThrow (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
+ public static final fun singleOrNullOrThrow (Ljava/util/Collection;)Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/DefaultUncaughtExceptionHandlerWithName : java/lang/Thread$UncaughtExceptionHandler {
+ public fun (Lcom/google/common/flogger/FluentLogger;)V
+ public fun uncaughtException (Ljava/lang/Thread;Ljava/lang/Throwable;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/util/FactoryBuilder {
+ public fun ()V
+ public final fun daemon (Z)V
+ public final fun exceptionHandler (Lkotlin/jvm/functions/Function2;)V
+ public final fun factory (Ljava/util/concurrent/ThreadFactory;)V
+ public final fun nameFormat (Ljava/lang/String;)V
+ public final fun priority (I)V
+ public final fun uncaughtExceptionHandler (Ljava/lang/Thread$UncaughtExceptionHandler;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/util/Fast_util_utilKt {
+ public static final fun add (Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;Ljava/lang/Object;Ljava/lang/Object;)V
+ public static final fun emptyInt2ObjectMap ()Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
+ public static final fun emptyIntSet ()Lit/unimi/dsi/fastutil/ints/IntSet;
+ public static final fun emptyLong2LongMap ()Lit/unimi/dsi/fastutil/longs/Long2LongMap;
+ public static final fun emptyLong2ObjectMap ()Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
+ public static final fun emptyLongSet ()Lit/unimi/dsi/fastutil/longs/LongSet;
+ public static final fun emptyObject2BooleanMap ()Lit/unimi/dsi/fastutil/objects/Object2BooleanMap;
+ public static final fun emptyObject2IntMap ()Lit/unimi/dsi/fastutil/objects/Object2IntMap;
+ public static final fun emptyObject2MultiObjectsMap ()Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
+ public static final fun emptyObject2ObjectMap ()Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
+ public static final fun emptyObjectList ()Lit/unimi/dsi/fastutil/objects/ObjectList;
+ public static final fun emptyObjectSet ()Lit/unimi/dsi/fastutil/objects/ObjectSet;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/ints/Int2ObjectOpenHashMap;)Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/ints/IntSet;)Lit/unimi/dsi/fastutil/ints/IntSet;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/longs/Long2LongOpenHashMap;)Lit/unimi/dsi/fastutil/longs/Long2LongMap;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/longs/Long2ObjectOpenHashMap;)Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/longs/LongSet;)Lit/unimi/dsi/fastutil/longs/LongSet;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/objects/Object2BooleanOpenHashMap;)Lit/unimi/dsi/fastutil/objects/Object2BooleanMap;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;)Lit/unimi/dsi/fastutil/objects/Object2IntMap;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;)Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/objects/ObjectArrayList;)Lit/unimi/dsi/fastutil/objects/ObjectList;
+ public static final fun freeze (Lit/unimi/dsi/fastutil/objects/ObjectSet;)Lit/unimi/dsi/fastutil/objects/ObjectSet;
+ public static final fun int2ObjectMapOf ()Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
+ public static final fun int2ObjectMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
+ public static final fun intSetOf ()Lit/unimi/dsi/fastutil/ints/IntSet;
+ public static final fun intSetOf ([I)Lit/unimi/dsi/fastutil/ints/IntSet;
+ public static final fun long2LongMapOf ()Lit/unimi/dsi/fastutil/longs/Long2LongMap;
+ public static final fun long2LongMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/longs/Long2LongMap;
+ public static final fun long2ObjectMapOf ()Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
+ public static final fun long2ObjectMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
+ public static final fun longSetOf ()Lit/unimi/dsi/fastutil/longs/LongSet;
+ public static final fun longSetOf ([J)Lit/unimi/dsi/fastutil/longs/LongSet;
+ public static final fun mutableInt2ObjectMapOf ()Lit/unimi/dsi/fastutil/ints/Int2ObjectOpenHashMap;
+ public static final fun mutableInt2ObjectMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/ints/Int2ObjectOpenHashMap;
+ public static final fun mutableIntSetOf ()Lit/unimi/dsi/fastutil/ints/IntOpenHashSet;
+ public static final fun mutableIntSetOf ([I)Lit/unimi/dsi/fastutil/ints/IntOpenHashSet;
+ public static final fun mutableLong2LongMapOf ()Lit/unimi/dsi/fastutil/longs/Long2LongOpenHashMap;
+ public static final fun mutableLong2LongMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/longs/Long2LongOpenHashMap;
+ public static final fun mutableLong2ObjectMapOf ()Lit/unimi/dsi/fastutil/longs/Long2ObjectOpenHashMap;
+ public static final fun mutableLong2ObjectMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/longs/Long2ObjectOpenHashMap;
+ public static final fun mutableLongSetOf ()Lit/unimi/dsi/fastutil/longs/LongOpenHashSet;
+ public static final fun mutableLongSetOf ([J)Lit/unimi/dsi/fastutil/longs/LongOpenHashSet;
+ public static final fun mutableObject2BooleanMapOf ()Lit/unimi/dsi/fastutil/objects/Object2BooleanOpenHashMap;
+ public static final fun mutableObject2BooleanMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/objects/Object2BooleanOpenHashMap;
+ public static final fun mutableObject2IntMapOf ()Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
+ public static final fun mutableObject2IntMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
+ public static final fun mutableObject2MultiObjectsMapOf ()Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;
+ public static final fun mutableObject2MultiObjectsMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;
+ public static final fun mutableObject2ObjectMapOf ()Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;
+ public static final fun mutableObject2ObjectMapOf (I)Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;
+ public static final fun mutableObject2ObjectMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;
+ public static final fun mutableObjectListOf ()Lit/unimi/dsi/fastutil/objects/ObjectArrayList;
+ public static final fun mutableObjectListOf (I)Lit/unimi/dsi/fastutil/objects/ObjectArrayList;
+ public static final fun mutableObjectListOf ([Ljava/lang/Object;)Lit/unimi/dsi/fastutil/objects/ObjectArrayList;
+ public static final fun mutableObjectSetOf ()Lit/unimi/dsi/fastutil/objects/ObjectOpenHashSet;
+ public static final fun mutableObjectSetOf (I)Lit/unimi/dsi/fastutil/objects/ObjectOpenHashSet;
+ public static final fun mutableObjectSetOf (Ljava/lang/Iterable;)Lit/unimi/dsi/fastutil/objects/ObjectOpenHashSet;
+ public static final fun mutableObjectSetOf ([Ljava/lang/Object;)Lit/unimi/dsi/fastutil/objects/ObjectOpenHashSet;
+ public static final fun object2BooleanMapOf ()Lit/unimi/dsi/fastutil/objects/Object2BooleanMap;
+ public static final fun object2BooleanMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/objects/Object2BooleanMap;
+ public static final fun object2IntMapOf ()Lit/unimi/dsi/fastutil/objects/Object2IntMap;
+ public static final fun object2IntMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/objects/Object2IntMap;
+ public static final fun object2MultiObjectsMapOf ()Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
+ public static final fun object2MultiObjectsMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
+ public static final fun object2ObjectMapOf ()Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
+ public static final fun object2ObjectMapOf ([Lkotlin/Pair;)Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
+ public static final fun objectListOf ()Lit/unimi/dsi/fastutil/objects/ObjectList;
+ public static final fun objectListOf ([Ljava/lang/Object;)Lit/unimi/dsi/fastutil/objects/ObjectList;
+ public static final fun objectSetOf ()Lit/unimi/dsi/fastutil/objects/ObjectSet;
+ public static final fun objectSetOf (Ljava/lang/Iterable;)Lit/unimi/dsi/fastutil/objects/ObjectSet;
+ public static final fun objectSetOf ([Ljava/lang/Object;)Lit/unimi/dsi/fastutil/objects/ObjectSet;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/ints/Int2ObjectOpenHashMap;)Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/ints/IntSet;)Lit/unimi/dsi/fastutil/ints/IntSet;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/longs/Long2LongOpenHashMap;)Lit/unimi/dsi/fastutil/longs/Long2LongMap;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/longs/Long2ObjectOpenHashMap;)Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/longs/LongSet;)Lit/unimi/dsi/fastutil/longs/LongSet;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/objects/Object2BooleanOpenHashMap;)Lit/unimi/dsi/fastutil/objects/Object2BooleanMap;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;)Lit/unimi/dsi/fastutil/objects/Object2IntMap;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;)Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/objects/ObjectArrayList;)Lit/unimi/dsi/fastutil/objects/ObjectList;
+ public static final fun synchronize (Lit/unimi/dsi/fastutil/objects/ObjectSet;)Lit/unimi/dsi/fastutil/objects/ObjectSet;
+ public static final fun toIntSet (Lkotlin/sequences/Sequence;)Lit/unimi/dsi/fastutil/ints/IntSet;
+ public static final fun toLongSet (Lkotlin/sequences/Sequence;)Lit/unimi/dsi/fastutil/longs/LongSet;
+ public static final fun toMutableIntSet (Lkotlin/sequences/Sequence;)Lit/unimi/dsi/fastutil/ints/IntOpenHashSet;
+ public static final fun toMutableLongSet (Lkotlin/sequences/Sequence;)Lit/unimi/dsi/fastutil/longs/LongOpenHashSet;
+ public static final fun toMutableObjectList (Lkotlin/sequences/Sequence;)Lit/unimi/dsi/fastutil/objects/ObjectArrayList;
+ public static final fun toMutableObjectSet (Lkotlin/sequences/Sequence;)Lit/unimi/dsi/fastutil/objects/ObjectOpenHashSet;
+ public static final fun toObjectList (Ljava/lang/Iterable;)Lit/unimi/dsi/fastutil/objects/ObjectList;
+ public static final fun toObjectList (Ljava/util/Collection;)Lit/unimi/dsi/fastutil/objects/ObjectList;
+ public static final fun toObjectList (Lkotlin/sequences/Sequence;)Lit/unimi/dsi/fastutil/objects/ObjectList;
+ public static final fun toObjectSet (Ljava/lang/Iterable;)Lit/unimi/dsi/fastutil/objects/ObjectSet;
+ public static final fun toObjectSet (Lkotlin/sequences/Sequence;)Lit/unimi/dsi/fastutil/objects/ObjectSet;
+ public static final fun toObjectSet ([Ljava/lang/Object;)Lit/unimi/dsi/fastutil/objects/ObjectSet;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/Gson_helperKt {
+ public static final fun convertToBigDecimal (Lcom/google/gson/JsonElement;Ljava/lang/String;)Ljava/math/BigDecimal;
+ public static final fun convertToBigInteger (Lcom/google/gson/JsonElement;Ljava/lang/String;)Ljava/math/BigInteger;
+ public static final fun convertToBoolean (Lcom/google/gson/JsonElement;Ljava/lang/String;)Z
+ public static final fun convertToByte (Lcom/google/gson/JsonElement;Ljava/lang/String;)B
+ public static final fun convertToInt (Lcom/google/gson/JsonElement;Ljava/lang/String;)I
+ public static final fun convertToJsonArray (Lcom/google/gson/JsonElement;Ljava/lang/String;)Lcom/google/gson/JsonArray;
+ public static final fun convertToJsonObject (Lcom/google/gson/JsonElement;Ljava/lang/String;)Lcom/google/gson/JsonObject;
+ public static final fun convertToLong (Lcom/google/gson/JsonElement;Ljava/lang/String;)J
+ public static final fun convertToNumber (Lcom/google/gson/JsonElement;Ljava/lang/String;)Ljava/lang/Number;
+ public static final fun convertToShort (Lcom/google/gson/JsonElement;Ljava/lang/String;)S
+ public static final fun convertToString (Lcom/google/gson/JsonElement;Ljava/lang/String;)Ljava/lang/String;
+ public static final fun fromJson (Lcom/google/gson/Gson;Ljava/io/Reader;Lcom/google/gson/reflect/TypeToken;)Ljava/lang/Object;
+ public static final fun fromJson (Lcom/google/gson/Gson;Ljava/io/Reader;Lcom/google/gson/reflect/TypeToken;Z)Ljava/lang/Object;
+ public static final fun fromJson (Lcom/google/gson/Gson;Ljava/io/Reader;Ljava/lang/Class;)Ljava/lang/Object;
+ public static final fun fromJson (Lcom/google/gson/Gson;Ljava/io/Reader;Ljava/lang/Class;Z)Ljava/lang/Object;
+ public static final fun fromJson (Lcom/google/gson/Gson;Ljava/lang/String;Lcom/google/gson/reflect/TypeToken;Z)Ljava/lang/Object;
+ public static final fun fromJson (Lcom/google/gson/Gson;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
+ public static final fun fromJson (Lcom/google/gson/Gson;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/Object;
+ public static final fun fromNullableJson (Lcom/google/gson/Gson;Ljava/io/Reader;Lcom/google/gson/reflect/TypeToken;Z)Ljava/lang/Object;
+ public static final fun fromNullableJson (Lcom/google/gson/Gson;Ljava/io/Reader;Ljava/lang/Class;Z)Ljava/lang/Object;
+ public static final fun fromNullableJson (Lcom/google/gson/Gson;Ljava/lang/String;Lcom/google/gson/reflect/TypeToken;)Ljava/lang/Object;
+ public static final fun fromNullableJson (Lcom/google/gson/Gson;Ljava/lang/String;Lcom/google/gson/reflect/TypeToken;Z)Ljava/lang/Object;
+ public static final fun fromNullableJson (Lcom/google/gson/Gson;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/Object;
+ public static final fun getAsBigDecimal (Lcom/google/gson/JsonObject;Ljava/lang/String;)Ljava/math/BigDecimal;
+ public static final fun getAsBigDecimal (Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
+ public static final fun getAsBigInteger (Lcom/google/gson/JsonObject;Ljava/lang/String;)Ljava/math/BigInteger;
+ public static final fun getAsBigInteger (Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/math/BigInteger;)Ljava/math/BigInteger;
+ public static final fun getAsBoolean (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z
+ public static final fun getAsBoolean (Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
+ public static final fun getAsByte (Lcom/google/gson/JsonObject;Ljava/lang/String;)B
+ public static final fun getAsByte (Lcom/google/gson/JsonObject;Ljava/lang/String;B)B
+ public static final fun getAsInt (Lcom/google/gson/JsonObject;Ljava/lang/String;)I
+ public static final fun getAsInt (Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
+ public static final fun getAsJsonArray (Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonArray;
+ public static final fun getAsJsonArray (Lcom/google/gson/JsonObject;Ljava/lang/String;Lcom/google/gson/JsonArray;)Lcom/google/gson/JsonArray;
+ public static final fun getAsJsonObject (Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
+ public static final fun getAsJsonObject (Lcom/google/gson/JsonObject;Ljava/lang/String;Lcom/google/gson/JsonObject;)Lcom/google/gson/JsonObject;
+ public static final fun getAsLong (Lcom/google/gson/JsonObject;Ljava/lang/String;)J
+ public static final fun getAsLong (Lcom/google/gson/JsonObject;Ljava/lang/String;J)J
+ public static final fun getAsShort (Lcom/google/gson/JsonObject;Ljava/lang/String;)S
+ public static final fun getAsShort (Lcom/google/gson/JsonObject;Ljava/lang/String;S)S
+ public static final fun getAsString (Lcom/google/gson/JsonObject;Ljava/lang/String;)Ljava/lang/String;
+ public static final fun getAsString (Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+ public static final fun getNonNull (Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonElement;
+ public static final fun getType (Lcom/google/gson/JsonElement;)Ljava/lang/String;
+ public static final fun isArrayNode (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z
+ public static final fun isBooleanValue (Lcom/google/gson/JsonElement;)Z
+ public static final fun isBooleanValue (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z
+ public static final fun isNumberValue (Lcom/google/gson/JsonElement;)Z
+ public static final fun isNumberValue (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z
+ public static final fun isObjectNode (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z
+ public static final fun isStringValue (Lcom/google/gson/JsonElement;)Z
+ public static final fun isStringValue (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z
+ public static final fun isValidNode (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z
+ public static final fun isValidPrimitive (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z
+ public static final fun parse (Ljava/io/Reader;)Lcom/google/gson/JsonObject;
+ public static final fun parse (Ljava/io/Reader;Z)Lcom/google/gson/JsonObject;
+ public static final fun parse (Ljava/lang/String;)Lcom/google/gson/JsonObject;
+ public static final fun parse (Ljava/lang/String;Z)Lcom/google/gson/JsonObject;
+ public static synthetic fun parse$default (Ljava/io/Reader;ZILjava/lang/Object;)Lcom/google/gson/JsonObject;
+ public static synthetic fun parse$default (Ljava/lang/String;ZILjava/lang/Object;)Lcom/google/gson/JsonObject;
+ public static final fun parseArray (Ljava/io/Reader;)Lcom/google/gson/JsonArray;
+ public static final fun parseArray (Ljava/lang/String;)Lcom/google/gson/JsonArray;
+ public static final fun toStableGsonString (Lcom/google/gson/JsonElement;)Ljava/lang/String;
+ public static final fun writeGsonValue (Lcom/google/gson/stream/JsonWriter;Lcom/google/gson/JsonElement;Ljava/util/Comparator;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/util/ObservableField {
+ public synthetic fun (Lkotlin/jvm/functions/Function0;Ljava/lang/Object;JLkotlinx/coroutines/CoroutineDispatcher;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public synthetic fun (Lkotlin/jvm/functions/Function0;Ljava/lang/Object;JLkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun observe (Lkotlin/jvm/functions/Function1;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/util/ObservableField$ObservableCoroutineScope : kotlinx/coroutines/CoroutineScope {
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/util/ObservableField$ObservableCoroutineScope;
+ public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext;
+ public final fun getDispatcher ()Lkotlinx/coroutines/ExecutorCoroutineDispatcher;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/Result_utilKt {
+ public static final fun getOrMapAndThrow (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
+ public static final fun mapFailure (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/Spring_utilKt {
+ public static final fun executeAndAwait (Lorg/springframework/transaction/support/TransactionOperations;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static synthetic fun executeAndAwait$default (Lorg/springframework/transaction/support/TransactionOperations;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+ public static final fun getFieldValue (Lorg/springframework/core/type/AnnotationMetadata;Ljava/lang/String;Lkotlin/reflect/KClass;Ljava/lang/ClassLoader;)Ljava/lang/Object;
+ public static final fun getTxDispatcher ()Lkotlinx/coroutines/CoroutineDispatcher;
+ public static final fun getValue (Lorg/springframework/beans/factory/ObjectFactory;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+ public static final fun getValue (Lorg/springframework/beans/factory/ObjectFactory;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+ public static final fun measureWithStopWatch (Ljava/lang/Object;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Lorg/springframework/util/StopWatch;
+ public static final fun selectFunctions (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;)Ljava/util/Set;
+ public static final fun ultimateTargetClass (Ljava/lang/Object;)Lkotlin/reflect/KClass;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/util/StringRepresentable {
+ public static final field Companion Ldev/slne/surf/cloud/api/common/util/StringRepresentable$Companion;
+ public static final field PRE_BUILT_MAP_THRESHOLD I
+ public abstract fun getSerializedName ()Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/StringRepresentable$Companion {
+ public static final field PRE_BUILT_MAP_THRESHOLD I
+ public final fun createNameLookup ([Ldev/slne/surf/cloud/api/common/util/StringRepresentable;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1;
+ public final fun fromValues (Lkotlin/jvm/functions/Function0;)Lcom/mojang/serialization/Codec;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/StringRepresentable$StringRepresentableCodec : com/mojang/serialization/Codec {
+ public fun ([Ldev/slne/surf/cloud/api/common/util/StringRepresentable;Lkotlin/jvm/functions/Function1;Ljava/util/function/ToIntFunction;)V
+ public fun decode (Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
+ public fun encode (Ldev/slne/surf/cloud/api/common/util/StringRepresentable;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
+ public synthetic fun encode (Ljava/lang/Object;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
+}
+
+public abstract interface annotation class dev/slne/surf/cloud/api/common/util/ThreadFactoryBuilderDsl : java/lang/annotation/Annotation {
+}
+
+public final class dev/slne/surf/cloud/api/common/util/Thread_utilKt {
+ public static final fun threadFactory (Lkotlin/jvm/functions/Function1;)Ljava/util/concurrent/ThreadFactory;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/Time_utilKt {
+ public static final fun currentUtc ()Ljava/time/LocalDateTime;
+ public static final fun toEpochUtcMillis (Ljava/time/LocalDateTime;)J
+}
+
+public final class dev/slne/surf/cloud/api/common/util/UtilKt {
+ public static final field LINEAR_LOOKUP_THRESHOLD I
+ public static final fun createIndexLookup (Ljava/util/List;)Ljava/util/function/ToIntFunction;
+ public static final fun isSuspending (Ljava/lang/reflect/Method;)Z
+ public static final fun safeReplaceFile (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
+ public static final fun safeReplaceOrMoveFile (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)Z
+ public static final fun toIntArray (Ljava/util/UUID;)[I
+ public static final fun toUnsignedInt (B)I
+ public static final fun toUuid ([I)Ljava/util/UUID;
+}
+
+public abstract interface annotation class dev/slne/surf/cloud/api/common/util/annotation/InternalApi : java/lang/annotation/Annotation {
+}
+
+public final class dev/slne/surf/cloud/api/common/util/classloader/JoinClassLoader : java/lang/ClassLoader {
+ public fun (Ljava/lang/ClassLoader;Ljava/util/Collection;)V
+ public fun (Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;)V
+ public final fun addDelegateClassLoader (Ljava/lang/ClassLoader;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/util/codec/Codec_utilKt {
+ public static final fun bool (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun byte (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun createRecordCodec (Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/Codec;
+ public static final fun createRecordMapCodec (Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/MapCodec;
+ public static final fun double (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun float (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun getter (Lcom/mojang/serialization/MapCodec;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun int (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun long (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun short (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun string (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun stringOptionalLenient (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;
+ public static final fun tryCollapseToString (Lnet/kyori/adventure/text/Component;)Ljava/lang/String;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/codec/Codec_util_utilKt {
+ public static final fun fixedSize (Ljava/util/stream/IntStream;I)Lcom/mojang/serialization/DataResult;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/codec/ExtraCodecs {
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/util/codec/ExtraCodecs;
+ public final fun converter (Lcom/mojang/serialization/DynamicOps;)Lcom/mojang/serialization/Codec;
+ public final fun enumCodec (Lkotlin/enums/EnumEntries;)Lcom/mojang/serialization/Codec;
+ public final fun getCOMPONENT ()Lcom/mojang/serialization/Codec;
+ public final fun getCOMPONENT_STREAM ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getCOMPOUND_TAG_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getDURATION_STREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getJAVA ()Lcom/mojang/serialization/Codec;
+ public final fun getKEY_CODEC ()Lcom/mojang/serialization/Codec;
+ public final fun getSTREAM_BOOK_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getSTREAM_BOSSBAR_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getSTREAM_EMITTER_SELF_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getSTREAM_KEY_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getSTREAM_RESOURCE_PACK_INFO ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getSTREAM_RESOURCE_PACK_REQUEST_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getSTREAM_SOUND_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getSTREAM_SOUND_STOP_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getSTREAM_TITLE_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getSTREAM_TITLE_PART_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getTITLE_TIMES_STREAM_CODEC ()Ldev/slne/surf/cloud/api/common/netty/network/codec/StreamCodec;
+ public final fun getUUID_CODEC ()Lcom/mojang/serialization/Codec;
+ public final fun getUUID_LENIENT_CODEC ()Lcom/mojang/serialization/Codec;
+ public final fun getUUID_STRING_CODEC ()Lcom/mojang/serialization/Codec;
+ public final fun idResolverCodec (Ljava/util/function/ToIntFunction;Ljava/util/function/IntFunction;I)Lcom/mojang/serialization/Codec;
+ public final fun nonEmptyList (Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
+ public final fun orCompressed (Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
+ public final fun orCompressed (Lcom/mojang/serialization/MapCodec;Lcom/mojang/serialization/MapCodec;)Lcom/mojang/serialization/MapCodec;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/codec/FuzzyCodec : com/mojang/serialization/MapCodec {
+ public fun (Ljava/util/List;Lkotlin/jvm/functions/Function1;)V
+ public fun decode (Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/MapLike;)Lcom/mojang/serialization/DataResult;
+ public fun encode (Ljava/lang/Object;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/RecordBuilder;)Lcom/mojang/serialization/RecordBuilder;
+ public fun keys (Lcom/mojang/serialization/DynamicOps;)Ljava/util/stream/Stream;
+ public fun toString ()Ljava/lang/String;
+}
+
+public abstract interface annotation class dev/slne/surf/cloud/api/common/util/codec/RecordCodecDsl : java/lang/annotation/Annotation {
+}
+
+public final class dev/slne/surf/cloud/api/common/util/codec/StrictEither : com/mojang/serialization/MapCodec {
+ public fun (Ljava/lang/String;Lcom/mojang/serialization/MapCodec;Lcom/mojang/serialization/MapCodec;)V
+ public fun decode (Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/MapLike;)Lcom/mojang/serialization/DataResult;
+ public fun encode (Ljava/lang/Object;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/RecordBuilder;)Lcom/mojang/serialization/RecordBuilder;
+ public fun keys (Lcom/mojang/serialization/DynamicOps;)Ljava/util/stream/Stream;
+}
+
+public final class dev/slne/surf/cloud/api/common/util/math/Math_utilKt {
+ public static final fun lerp (FFF)F
+}
+
+public final class dev/slne/surf/cloud/api/common/util/nbt/FastNbtIo {
+ public static final field INSTANCE Ldev/slne/surf/cloud/api/common/util/nbt/FastNbtIo;
+ public final fun readCompoundTag (Ljava/io/InputStream;I)Lnet/querz/nbt/tag/CompoundTag;
+ public final fun readCompressed (Ljava/io/InputStream;I)Lnet/querz/nbt/tag/CompoundTag;
+ public final fun readCompressed (Ljava/nio/file/Path;I)Lnet/querz/nbt/tag/CompoundTag;
+ public final fun writeCompoundTag (Ljava/io/OutputStream;Lnet/querz/nbt/tag/CompoundTag;)V
+ public final fun writeCompressed (Lnet/querz/nbt/tag/CompoundTag;Ljava/io/OutputStream;)V
+ public final fun writeCompressed (Lnet/querz/nbt/tag/CompoundTag;Ljava/nio/file/Path;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/util/nbt/Nbt_extensionsKt {
+ public static final fun getCompound (Lnet/querz/nbt/tag/ListTag;I)Lnet/querz/nbt/tag/CompoundTag;
+ public static final fun readCompoundTag (Ljava/nio/file/Path;Z)Lnet/querz/nbt/tag/CompoundTag;
+ public static synthetic fun readCompoundTag$default (Ljava/nio/file/Path;ZILjava/lang/Object;)Lnet/querz/nbt/tag/CompoundTag;
+ public static final fun readTag (Ljava/nio/file/Path;Z)Lnet/querz/nbt/io/NamedTag;
+ public static synthetic fun readTag$default (Ljava/nio/file/Path;ZILjava/lang/Object;)Lnet/querz/nbt/io/NamedTag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;B)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;D)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;F)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;I)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;J)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;Ljava/lang/String;)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;Lnet/querz/nbt/tag/Tag;)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;S)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;Z)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;[B)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;[I)Lnet/querz/nbt/tag/Tag;
+ public static final fun set (Lnet/querz/nbt/tag/CompoundTag;Ljava/lang/String;[J)Lnet/querz/nbt/tag/Tag;
+ public static final fun writeToPath (Lnet/querz/nbt/io/NamedTag;Ljava/nio/file/Path;Z)V
+ public static final fun writeToPath (Lnet/querz/nbt/tag/Tag;Ljava/nio/file/Path;Z)V
+ public static synthetic fun writeToPath$default (Lnet/querz/nbt/io/NamedTag;Ljava/nio/file/Path;ZILjava/lang/Object;)V
+ public static synthetic fun writeToPath$default (Lnet/querz/nbt/tag/Tag;Ljava/nio/file/Path;ZILjava/lang/Object;)V
+}
+
+public final class dev/slne/surf/cloud/api/common/util/netty/Netty_utilKt {
+ public static final fun suspend (Lio/netty/channel/ChannelFuture;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static final fun suspend (Lio/netty/util/concurrent/Future;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+}
+
+public abstract class dev/slne/surf/cloud/api/common/util/netty/UnifiedReadOnlyChannelHandler : io/netty/channel/ChannelDuplexHandler {
+ public fun ()V
+ public fun (Ljava/lang/Class;)V
+ public final fun acceptMessage (Ljava/lang/Object;)Z
+ public fun channelRead (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
+ protected abstract fun handleRead (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
+ protected abstract fun handleWrite (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
+ public fun write (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
+}
+
+public abstract class dev/slne/surf/cloud/api/common/util/queue/AbstractSuspendingQueue : dev/slne/surf/cloud/api/common/util/queue/SuspendingQueue {
+ protected fun ()V
+ public fun clear ()V
+ public fun contains (Ljava/lang/Object;)Z
+ public fun element ()Ljava/lang/Object;
+ public abstract fun getSize ()I
+ public fun isEmpty ()Z
+ public fun offerAll (Ljava/util/Collection;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public fun remove ()Ljava/lang/Object;
+ public fun remove (Ljava/lang/Object;)Z
+}
+
+public final class dev/slne/surf/cloud/api/common/util/queue/FairPriorityQueue : java/util/AbstractQueue {
+ public fun (Ljava/util/Comparator;)V
+ public final fun addFirst (Ljava/lang/Object;)V
+ public fun getSize ()I
+ public fun iterator ()Ljava/util/Iterator;
+ public fun offer (Ljava/lang/Object;)Z
+ public fun peek ()Ljava/lang/Object;
+ public fun poll ()Ljava/lang/Object;
+ public final fun size ()I
+}
+
+public final class dev/slne/surf/cloud/api/common/util/queue/FairSuspendPriorityQueue : dev/slne/surf/cloud/api/common/util/queue/AbstractSuspendingQueue {
+ public fun (Lkotlin/jvm/functions/Function3;)V
+ public final fun addFirst (Ljava/lang/Object;)V
+ public fun getSize ()I
+ public fun iterator ()Ljava/util/Iterator;
+ public fun offer (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public fun peek ()Ljava/lang/Object;
+ public fun poll ()Ljava/lang/Object;
+}
+
+public abstract interface class dev/slne/surf/cloud/api/common/util/queue/SuspendingQueue : java/lang/Iterable, kotlin/jvm/internal/markers/KMutableIterable {
+ public abstract fun clear ()V
+ public abstract fun contains (Ljava/lang/Object;)Z
+ public abstract fun element ()Ljava/lang/Object;
+ public abstract fun isEmpty ()Z
+ public abstract fun offer (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun offerAll (Ljava/util/Collection;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public abstract fun peek ()Ljava/lang/Object;
+ public abstract fun poll ()Ljava/lang/Object;
+ public abstract fun remove ()Ljava/lang/Object;
+ public abstract fun remove (Ljava/lang/Object;)Z
+}
+
diff --git a/surf-cloud-api/surf-cloud-api-common/build.gradle.kts b/surf-cloud-api/surf-cloud-api-common/build.gradle.kts
index a996ca94..112f4f8d 100644
--- a/surf-cloud-api/surf-cloud-api-common/build.gradle.kts
+++ b/surf-cloud-api/surf-cloud-api-common/build.gradle.kts
@@ -1,26 +1,24 @@
plugins {
id("dev.slne.surf.surfapi.gradle.core")
- `core-convention`
}
dependencies {
- api("org.springframework.boot:spring-boot-starter")
- api("com.fasterxml.jackson.core:jackson-core")
- api("com.fasterxml.jackson.core:jackson-databind")
- // https://mvnrepository.com/artifact/tech.hiddenproject/aide-reflection
- api("tech.hiddenproject:aide-reflection:1.3")
- // https://mvnrepository.com/artifact/io.netty/netty-all
- api("io.netty:netty-all:4.1.113.Final")
- api("com.github.Querz:NBT:6.1")
+ api(libs.bundles.spring.api.common)
+ implementation(libs.spring.data.jpa) // Hide this from the API
+ api(libs.bundles.jackson.api.common)
+ api(libs.bundles.spring.aop)
- // https://mvnrepository.com/artifact/jakarta.persistence/jakarta.persistence-api
- api("jakarta.persistence:jakarta.persistence-api")
- // https://mvnrepository.com/artifact/org.springframework/spring-jdbc
-// api("org.springframework:spring-jdbc")
- // https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa
- api("org.springframework.data:spring-data-jpa")
- api("com.mojang:datafixerupper:8.0.16") {
+ api(libs.aide.reflection)
+ api(libs.netty.all)
+ api(libs.nbt)
+ api(libs.datafixerupper) {
isTransitive = false
}
- api("net.bytebuddy:byte-buddy:1.15.10")
+ api(libs.byte.buddy)
+}
+
+kotlin {
+ compilerOptions {
+ optIn.add("dev.slne.surf.cloud.api.common.util.annotation.InternalApi")
+ }
}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/SurfCloudInstance.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/CloudInstance.kt
similarity index 70%
rename from surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/SurfCloudInstance.kt
rename to surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/CloudInstance.kt
index 9387f9f8..d33858df 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/SurfCloudInstance.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/CloudInstance.kt
@@ -1,9 +1,9 @@
package dev.slne.surf.cloud.api.common
-import dev.slne.surf.cloud.api.common.util.requiredService
+import dev.slne.surf.cloud.api.common.util.annotation.InternalApi
+import dev.slne.surf.surfapi.core.api.util.requiredService
import org.jetbrains.annotations.ApiStatus
import org.springframework.boot.builder.SpringApplicationBuilder
-import org.springframework.context.ApplicationListener
import org.springframework.context.ConfigurableApplicationContext
import kotlin.reflect.KClass
@@ -15,7 +15,7 @@ import kotlin.reflect.KClass
* This interface is non-extendable.
*/
@ApiStatus.NonExtendable
-interface SurfCloudInstance {
+interface CloudInstance {
/**
* Starts a Spring application with the specified parameters.
@@ -33,23 +33,13 @@ interface SurfCloudInstance {
customizer: SpringApplicationBuilder.() -> Unit = {}
): ConfigurableApplicationContext
- /**
- * Internal listener for Netty packet processing events.
- */
- @get:ApiStatus.Internal
- @Deprecated("Not needed anymore?", level = DeprecationLevel.ERROR)
- val nettyPacketProcessorListener: ApplicationListener<*>
-
- companion object {
- val instance = requiredService()
+ companion object : CloudInstance by INSTANCE {
+ @InternalApi
+ val instance = INSTANCE
}
}
-/**
- * Provides a convenient property to access the singleton [SurfCloudInstance].
- */
-val cloudInstance: SurfCloudInstance
- get() = SurfCloudInstance.instance
+private val INSTANCE = requiredService()
/**
* Extension function to start a Spring application using [KClass].
@@ -60,9 +50,14 @@ val cloudInstance: SurfCloudInstance
* @param customizer A block to customize the [SpringApplicationBuilder].
* @return The resulting [ConfigurableApplicationContext].
*/
-fun SurfCloudInstance.startSpringApplication(
+fun CloudInstance.startSpringApplication(
applicationClass: KClass<*>,
classLoader: ClassLoader = applicationClass.java.classLoader,
vararg parentClassLoader: ClassLoader,
customizer: SpringApplicationBuilder.() -> Unit = {}
-) = startSpringApplication(applicationClass.java, classLoader, *parentClassLoader, customizer = customizer)
\ No newline at end of file
+) = startSpringApplication(
+ applicationClass.java,
+ classLoader,
+ *parentClassLoader,
+ customizer = customizer
+)
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/SurfCloudApplication.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/SurfCloudApplication.kt
index fe0abcdb..26f5a74d 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/SurfCloudApplication.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/SurfCloudApplication.kt
@@ -1,43 +1,39 @@
package dev.slne.surf.cloud.api.common
+import org.springframework.boot.autoconfigure.AutoConfigurationPackage
import org.springframework.boot.autoconfigure.SpringBootApplication
-import org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration
import org.springframework.boot.autoconfigure.domain.EntityScan
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
+import org.springframework.cache.annotation.EnableCaching
+import org.springframework.context.annotation.AdviceMode
+import org.springframework.context.annotation.Bean
+import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.EnableAspectJAutoProxy
-import org.springframework.core.annotation.AliasFor
+import org.springframework.context.annotation.EnableLoadTimeWeaving
+import org.springframework.context.annotation.Import
+import org.springframework.context.annotation.Primary
+import org.springframework.context.annotation.Profile
+import org.springframework.jdbc.datasource.DataSourceTransactionManager
import org.springframework.scheduling.annotation.EnableAsync
import org.springframework.scheduling.annotation.EnableScheduling
+import org.springframework.transaction.PlatformTransactionManager
import org.springframework.transaction.annotation.EnableTransactionManagement
+import org.springframework.transaction.aspectj.AnnotationTransactionAspect
+import javax.sql.DataSource
+
/**
* Annotation for defining Surf Cloud applications with specific configurations.
*
* Combines multiple Spring features such as scheduling, async processing,
* transaction management, and entity scanning, with options for JPA and Redis base packages.
- *
- * @property basePackages Base packages to scan for Spring components.
- * @property jpaBasePackages Base packages for JPA entities.
- * @property redisBasePackages Base packages for Redis repositories.
*/
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
-@SpringBootApplication(
- exclude = [DataSourceAutoConfiguration::class, RedisRepositoriesAutoConfiguration::class]
-)
+@SpringBootApplication
@EnableScheduling
@EnableAsync
-@EnableTransactionManagement
-@EnableAspectJAutoProxy
+@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)
@EntityScan
-//@EnableRedisRepositories
-annotation class SurfCloudApplication(
- @get:AliasFor(
- annotation = SpringBootApplication::class,
- attribute = "scanBasePackages"
- ) val basePackages: Array = [],
- // @AliasFor(annotation = JpaConfig.class, attribute = "basePackages")
- val jpaBasePackages: Array = [],
- // @AliasFor(annotation = RedisConfig.class, attribute = "basePackages")
- val redisBasePackages: Array = []
-)
+@EnableCaching
+@AutoConfigurationPackage
+annotation class SurfCloudApplication
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/config/properties/CloudProperties.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/config/properties/CloudProperties.kt
index dcb2a15a..90645748 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/config/properties/CloudProperties.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/config/properties/CloudProperties.kt
@@ -1,6 +1,5 @@
package dev.slne.surf.cloud.api.common.config.properties
-
/**
* Contains predefined cloud properties for Surf Cloud applications.
*/
@@ -9,7 +8,7 @@ object CloudProperties {
/**
* Default value indicating that the server category is not set.
*/
- private const val SERVER_CATEGORY_NOT_SET = "NOT_SET"
+ const val SERVER_CATEGORY_NOT_SET = "NOT_SET"
/**
* System property for the server category. Defaults to [SERVER_CATEGORY_NOT_SET].
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/CloudEvent.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/CloudEvent.kt
index 62619784..f6eab4c1 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/CloudEvent.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/CloudEvent.kt
@@ -1,10 +1,16 @@
package dev.slne.surf.cloud.api.common.event
import org.springframework.context.ApplicationEvent
+import java.io.Serial
/**
* Base class for all cloud-related events.
*
* @param source The object on which the event initially occurred.
*/
-abstract class CloudEvent(source: Any) : ApplicationEvent(source)
\ No newline at end of file
+abstract class CloudEvent(source: Any) : ApplicationEvent(source) {
+ companion object {
+ @Serial
+ private const val serialVersionUID: Long = -3330199602759544854L
+ }
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/player/CloudPlayerEvent.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/player/CloudPlayerEvent.kt
index e89bb26f..1ba37be1 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/player/CloudPlayerEvent.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/player/CloudPlayerEvent.kt
@@ -2,6 +2,7 @@ package dev.slne.surf.cloud.api.common.event.player
import dev.slne.surf.cloud.api.common.event.CloudEvent
import dev.slne.surf.cloud.api.common.player.CloudPlayer
+import java.io.Serial
/**
* Base class for all events related to a specific player.
@@ -9,4 +10,9 @@ import dev.slne.surf.cloud.api.common.player.CloudPlayer
* @param source The object on which the event initially occurred.
* @param player The player associated with the event.
*/
-abstract class CloudPlayerEvent(source: Any, val player: CloudPlayer) : CloudEvent(source)
\ No newline at end of file
+abstract class CloudPlayerEvent(source: Any, val player: CloudPlayer) : CloudEvent(source) {
+ companion object {
+ @Serial
+ private const val serialVersionUID: Long = 2525857345685742731L
+ }
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/player/connection/CloudPlayerConnectToNetworkEvent.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/player/connection/CloudPlayerConnectToNetworkEvent.kt
index 4c9595ff..303f9e4e 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/player/connection/CloudPlayerConnectToNetworkEvent.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/event/player/connection/CloudPlayerConnectToNetworkEvent.kt
@@ -2,6 +2,7 @@ package dev.slne.surf.cloud.api.common.event.player.connection
import dev.slne.surf.cloud.api.common.event.player.CloudPlayerEvent
import dev.slne.surf.cloud.api.common.player.CloudPlayer
+import java.io.Serial
/**
* Event triggered when a player connects to the network.
@@ -10,4 +11,10 @@ import dev.slne.surf.cloud.api.common.player.CloudPlayer
* @param player The player who connected to the network.
*/
class CloudPlayerConnectToNetworkEvent(source: Any, player: CloudPlayer) :
- CloudPlayerEvent(source, player)
\ No newline at end of file
+ CloudPlayerEvent(source, player) {
+
+ companion object {
+ @Serial
+ private const val serialVersionUID: Long = -2827818539298350684L
+ }
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/meta/SurfNettyPacket.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/meta/SurfNettyPacket.kt
index 6a205976..0a8abb56 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/meta/SurfNettyPacket.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/meta/SurfNettyPacket.kt
@@ -2,7 +2,7 @@ package dev.slne.surf.cloud.api.common.meta
import dev.slne.surf.cloud.api.common.netty.network.ConnectionProtocol
import dev.slne.surf.cloud.api.common.netty.network.protocol.PacketFlow
-import org.jetbrains.annotations.ApiStatus.Internal
+import dev.slne.surf.cloud.api.common.util.annotation.InternalApi
/**
* Annotation for marking a class as a Netty packet in the Surf Cloud application.
@@ -16,7 +16,8 @@ import org.jetbrains.annotations.ApiStatus.Internal
annotation class SurfNettyPacket(
val id: String,
val flow: PacketFlow,
- @Internal vararg val protocols: ConnectionProtocol = [ConnectionProtocol.RUNNING]
+ @property:InternalApi
+ vararg val protocols: ConnectionProtocol = [ConnectionProtocol.RUNNING]
)
/**
@@ -31,8 +32,6 @@ annotation class PacketCodec
*/
object DefaultIds {
- const val PROXIED_NETTY_PACKET = "cloud:proxied"
-
// Handshake
const val SERVERBOUND_HANDSHAKE_PACKET = "cloud:serverbound:handshake"
@@ -173,4 +172,12 @@ object DefaultIds {
const val CLIENTBOUND_REGISTER_CLOUD_SERVERS_TO_PROXY =
"cloud:clientbound:register_cloud_servers_to_proxy"
+ const val CLIENTBOUND_SHUTDOWN_PACKET = "cloud:clientbound:shutdown"
+ const val SERVERBOUND_SHUTDOWN_SERVER_PACKET = "cloud:serverbound:shutdown_server"
+
+ const val CLIENTBOUND_BATCH_UPDATE_SERVER = "cloud:clientbound:batch_update_server"
+
+ const val REQUEST_OFFLINE_DISPLAY_NAME_PACKET = "cloud:request:offline_display_name"
+ const val RESPONSE_REQUEST_OFFLINE_DISPLAY_NAME_PACKET = "cloud:response:request_offline_display_name"
+
}
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/meta/SurfNettyPacketHandler.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/meta/SurfNettyPacketHandler.kt
index 4182e766..ac05f122 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/meta/SurfNettyPacketHandler.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/meta/SurfNettyPacketHandler.kt
@@ -1,5 +1,9 @@
package dev.slne.surf.cloud.api.common.meta
+import org.springframework.aot.hint.annotation.Reflective
+import org.springframework.core.annotation.AliasFor
+import kotlin.reflect.KClass
+
/**
* Annotation for marking methods in a component as packet handlers.
*/
@@ -11,4 +15,10 @@ package dev.slne.surf.cloud.api.common.meta
@Retention(
AnnotationRetention.RUNTIME
)
-annotation class SurfNettyPacketHandler
+@Reflective
+annotation class SurfNettyPacketHandler(
+ @get:AliasFor("classes") val value: Array> = [],
+ @get:AliasFor("values") val classes: Array> = [],
+ val condition: String = "",
+ val id: String = ""
+)
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol.kt
index c1bc0b97..0b9e51ec 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/ConnectionProtocol.kt
@@ -8,5 +8,6 @@ enum class ConnectionProtocol {
INITIALIZE,
LOGIN,
PRE_RUNNING,
- RUNNING
+ RUNNING,
+ SHUTDOWN
}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec.kt
index d025aa70..31562398 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/codec/StringIdDispatchCodec.kt
@@ -2,14 +2,12 @@
package dev.slne.surf.cloud.api.common.netty.network.codec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.readByteArray
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.writeByteArray
+import dev.slne.surf.cloud.api.common.netty.protocol.buffer.readUtf
import dev.slne.surf.cloud.api.common.netty.protocol.buffer.writeUtf
import dev.slne.surf.cloud.api.common.util.freeze
import dev.slne.surf.cloud.api.common.util.mutableObject2ObjectMapOf
import dev.slne.surf.cloud.api.common.util.mutableObjectListOf
import io.netty.buffer.ByteBuf
-import io.netty.buffer.ByteBufAllocator
import io.netty.handler.codec.DecoderException
import io.netty.handler.codec.EncoderException
import it.unimi.dsi.fastutil.objects.Object2ObjectMap
@@ -19,19 +17,15 @@ import kotlin.contracts.InvocationKind
import kotlin.contracts.contract
import kotlin.experimental.ExperimentalTypeInference
-//private const val UNKNOWN_TYPE = -1
class StringIdDispatchCodec private constructor(
private val typeGetter: Function,
- private val byId: Object2ObjectMap>,
- private val toId: Object2ObjectMap
+ private val byId: Object2ObjectMap>,
+ private val toId: Object2ObjectMap
) : StreamCodec {
- init {
-// toId.defaultReturnValue(UNKNOWN_TYPE)
- }
override fun decode(buf: B): V {
- val id = buf.readByteArray()
+ val id = buf.readUtf()
val entry = byId[id]
if (id.isNotEmpty() && entry != null) {
@@ -49,7 +43,7 @@ class StringIdDispatchCodec private constructor(
val type = typeGetter.apply(value)
val id = toId[type] ?: throw EncoderException("Sending unknown packet '$type'")
- buf.writeByteArray(id)
+ buf.writeUtf(id)
val entry = byId[id] ?: throw EncoderException("Messed up mapping for packet '$type'")
try {
@@ -68,23 +62,16 @@ class StringIdDispatchCodec private constructor(
}
fun build(typeToIdMapper: (T) -> String): StringIdDispatchCodec {
- val typeToIdMap = mutableObject2ObjectMapOf(entries.size)
- val idToTypeMap = mutableObject2ObjectMapOf>(entries.size)
- val finalTypeToIdMapper = typeToIdMapper
+ val typeToIdMap = mutableObject2ObjectMapOf(entries.size)
+ val idToTypeMap = mutableObject2ObjectMapOf>(entries.size)
- val tempBuf = ByteBufAllocator.DEFAULT.buffer()
for (entry in this.entries) {
val type = entry.type
- val id = finalTypeToIdMapper(type)
-
- tempBuf.writeUtf(id)
- val serializedId = tempBuf.readBytes(tempBuf.readableBytes()).array()
+ val id = typeToIdMapper(type)
- val previousValue = typeToIdMap.putIfAbsent(type, serializedId)
+ val previousValue = typeToIdMap.putIfAbsent(type, id)
check(previousValue == null) { "Duplicate registration for type $type" }
- idToTypeMap.put(serializedId, entry)
-
- tempBuf.clear()
+ idToTypeMap.put(id, entry)
}
return StringIdDispatchCodec(
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/BooleanArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/BooleanArrayResponse.kt
deleted file mode 100644
index 01019465..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/BooleanArrayResponse.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-import it.unimi.dsi.fastutil.booleans.BooleanCollection
-import it.unimi.dsi.fastutil.booleans.BooleanList
-
-@SurfNettyPacket("boolean_array_response", PacketFlow.BIDIRECTIONAL)
-class BooleanArrayResponse(val value: BooleanArray) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(BooleanArrayResponse::write, ::BooleanArrayResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readBooleanArray())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeBooleanArray(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: BooleanArray) =
- respond(BooleanArrayResponse(value))
-
-fun RespondingNettyPacket.respond(value: BooleanCollection) =
- respond(value.toBooleanArray())
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/BooleanResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/BooleanResponse.kt
deleted file mode 100644
index ba129365..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/BooleanResponse.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-
-@SurfNettyPacket("boolean_response", PacketFlow.BIDIRECTIONAL)
-class BooleanResponse(val value: Boolean) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(BooleanResponse::write, ::BooleanResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readBoolean())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeBoolean(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: Boolean) =
- respond(BooleanResponse(value))
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/ByteArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/ByteArrayResponse.kt
deleted file mode 100644
index eae1a2e7..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/ByteArrayResponse.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-import it.unimi.dsi.fastutil.bytes.ByteCollection
-import it.unimi.dsi.fastutil.bytes.ByteList
-
-@SurfNettyPacket("byte_array_response", PacketFlow.BIDIRECTIONAL)
-class ByteArrayResponse(val value: ByteArray) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(ByteArrayResponse::write, ::ByteArrayResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readByteArray())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeByteArray(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: ByteArray) =
- respond(ByteArrayResponse(value))
-
-fun RespondingNettyPacket.respond(value: ByteCollection) = respond(value.toByteArray())
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType.kt
new file mode 100644
index 00000000..5d9a18a1
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/CommonResponseType.kt
@@ -0,0 +1,58 @@
+package dev.slne.surf.cloud.api.common.netty.network.protocol
+
+import dev.slne.surf.cloud.api.common.netty.network.Connection
+import dev.slne.surf.cloud.api.common.netty.packet.DEFAULT_TIMEOUT
+import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
+import dev.slne.surf.cloud.api.common.util.annotation.InternalApi
+import kotlin.reflect.full.companionObjectInstance
+import kotlin.time.Duration
+
+@InternalApi
+interface CommonResponseType {
+ val value: T
+}
+
+@InternalApi
+@PublishedApi
+internal interface CommonResponseTypeFactory {
+ fun create(value: R): T
+}
+
+inline fun RespondingNettyPacket.respond(value: R) where T : ResponseNettyPacket, T : CommonResponseType {
+ respond(extractFactory().create(value))
+}
+
+suspend inline fun RespondingNettyPacket.await(
+ connection: Connection,
+ timeout: Duration = DEFAULT_TIMEOUT
+): R? where T : ResponseNettyPacket, T : CommonResponseType {
+ return fireAndAwait(connection, timeout)?.value
+}
+
+suspend inline fun RespondingNettyPacket.awaitUrgent(
+ connection: Connection
+): R? where T : ResponseNettyPacket, T : CommonResponseType {
+ return fireAndAwaitUrgent(connection)?.value
+}
+
+suspend inline fun RespondingNettyPacket.awaitOrThrow(
+ connection: Connection,
+ timeout: Duration = DEFAULT_TIMEOUT
+): R where T : ResponseNettyPacket, T : CommonResponseType {
+ return fireAndAwaitOrThrow(connection, timeout).value
+}
+
+suspend inline fun RespondingNettyPacket.awaitOrThrowUrgent(
+ connection: Connection
+): R where T : ResponseNettyPacket, T : CommonResponseType {
+ return fireAndAwaitOrThrowUrgent(connection).value
+}
+
+@Suppress("UNCHECKED_CAST")
+@InternalApi
+@PublishedApi
+internal inline fun extractFactory(): CommonResponseTypeFactory where T : ResponseNettyPacket, T : CommonResponseType {
+ return T::class.companionObjectInstance as? CommonResponseTypeFactory
+ ?: error("No factory found for type ${T::class.simpleName}")
+}
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/DoubleArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/DoubleArrayResponse.kt
deleted file mode 100644
index 367849b0..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/DoubleArrayResponse.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-import it.unimi.dsi.fastutil.doubles.DoubleCollection
-
-@SurfNettyPacket("boolean_array_response", PacketFlow.BIDIRECTIONAL)
-class DoubleArrayResponse(val value: DoubleArray) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(DoubleArrayResponse::write, ::DoubleArrayResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readDoubleArray())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeDoubleArray(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: DoubleArray) =
- respond(DoubleArrayResponse(value))
-
-fun RespondingNettyPacket.respond(value: DoubleCollection) =
- respond(value.toDoubleArray())
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/FloatArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/FloatArrayResponse.kt
deleted file mode 100644
index 7fc8fb27..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/FloatArrayResponse.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-import it.unimi.dsi.fastutil.floats.FloatCollection
-
-@SurfNettyPacket("float_array_response", PacketFlow.BIDIRECTIONAL)
-class FloatArrayResponse(val value: FloatArray) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(FloatArrayResponse::write, ::FloatArrayResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readFloatArray())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeFloatArray(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: FloatArray) =
- respond(FloatArrayResponse(value))
-
-fun RespondingNettyPacket.respond(value: FloatCollection) =
- respond(value.toFloatArray())
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/IntArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/IntArrayResponse.kt
deleted file mode 100644
index f520931e..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/IntArrayResponse.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-import it.unimi.dsi.fastutil.ints.IntCollection
-
-@SurfNettyPacket("int_array_response", PacketFlow.BIDIRECTIONAL)
-class IntArrayResponse(val value: IntArray) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(IntArrayResponse::write, ::IntArrayResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readIntArray())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeIntArray(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: IntArray) =
- respond(IntArrayResponse(value))
-
-fun RespondingNettyPacket.respond(value: IntCollection) =
- respond(value.toIntArray())
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/LongArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/LongArrayResponse.kt
deleted file mode 100644
index 56052e7b..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/LongArrayResponse.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-import it.unimi.dsi.fastutil.longs.LongCollection
-
-@SurfNettyPacket("long_array_response", PacketFlow.BIDIRECTIONAL)
-class LongArrayResponse(val value: LongArray) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(LongArrayResponse::write, ::LongArrayResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readLongArray())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeLongArray(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: LongArray) =
- respond(LongArrayResponse(value))
-
-fun RespondingNettyPacket.respond(value: LongCollection) =
- respond(LongArrayResponse(value.toLongArray()))
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/OptionalComponentResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/OptionalComponentResponse.kt
new file mode 100644
index 00000000..a733093f
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/OptionalComponentResponse.kt
@@ -0,0 +1,7 @@
+package dev.slne.surf.cloud.api.common.netty.network.protocol
+
+import dev.slne.surf.cloud.api.common.netty.network.protocol.component.OptionalComponentResponse
+import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
+
+typealias OptionalComponentResponsePacket = RespondingNettyPacket
+
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/ShortArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/ShortArrayResponse.kt
deleted file mode 100644
index 5e161d90..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/ShortArrayResponse.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-import it.unimi.dsi.fastutil.shorts.ShortCollection
-
-@SurfNettyPacket("short_array_response", PacketFlow.BIDIRECTIONAL)
-class ShortArrayResponse(val value: ShortArray) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(ShortArrayResponse::write, ::ShortArrayResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readShortArray())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeShortArray(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: ShortArray) =
- respond(ShortArrayResponse(value))
-
-fun RespondingNettyPacket.respond(value: ShortCollection) =
- respond(ShortArrayResponse(value.toShortArray()))
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/StringArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/StringArrayResponse.kt
deleted file mode 100644
index 9d067401..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/StringArrayResponse.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-import it.unimi.dsi.fastutil.objects.ObjectCollection
-import it.unimi.dsi.fastutil.objects.ObjectList
-import kotlin.collections.toTypedArray
-
-@SurfNettyPacket("string_array_response", PacketFlow.BIDIRECTIONAL)
-class StringArrayResponse(val value: Array) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(StringArrayResponse::write, ::StringArrayResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readStringArray())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeStringArray(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: Array) =
- respond(StringArrayResponse(value))
-
-fun RespondingNettyPacket.respond(value: Collection) =
- respond(value.toTypedArray())
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/StringResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/StringResponse.kt
deleted file mode 100644
index a8b0dba8..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/StringResponse.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-
-@SurfNettyPacket("string_response", PacketFlow.BIDIRECTIONAL)
-class StringResponse(val value: String) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(StringResponse::write, ::StringResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readUtf())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeUtf(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: String) =
- respond(StringResponse(value))
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/UUIDArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/UUIDArrayResponse.kt
deleted file mode 100644
index 93f06977..00000000
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/UUIDArrayResponse.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
-
-import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
-import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
-import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
-import java.util.UUID
-
-@SurfNettyPacket("uuid_array_response", PacketFlow.BIDIRECTIONAL)
-class UUIDArrayResponse(val value: Array) : ResponseNettyPacket() {
- companion object {
- val STREAM_CODEC = packetCodec(UUIDArrayResponse::write, ::UUIDArrayResponse)
- }
-
- private constructor(buf: SurfByteBuf) : this(buf.readUuidArray())
-
- private fun write(buf: SurfByteBuf) {
- buf.writeUuidArray(value)
- }
-
- operator fun component1() = value
-}
-
-fun RespondingNettyPacket.respond(value: Array) =
- respond(UUIDArrayResponse(value))
-
-fun RespondingNettyPacket.respond(value: Collection) =
- respond(UUIDArrayResponse(value.toTypedArray()))
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanArrayResponse.kt
new file mode 100644
index 00000000..78fffd1a
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanArrayResponse.kt
@@ -0,0 +1,37 @@
+package dev.slne.surf.cloud.api.common.netty.network.protocol.boolean
+
+import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseType
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseTypeFactory
+import dev.slne.surf.cloud.api.common.netty.network.protocol.PacketFlow
+import dev.slne.surf.cloud.api.common.netty.network.protocol.respond
+import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
+import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
+import it.unimi.dsi.fastutil.booleans.BooleanCollection
+
+typealias BooleanArrayResponsePacket = RespondingNettyPacket
+
+@SurfNettyPacket("boolean_array_response", PacketFlow.BIDIRECTIONAL)
+class BooleanArrayResponse(override val value: BooleanArray) : ResponseNettyPacket(),
+ CommonResponseType {
+
+ companion object : CommonResponseTypeFactory {
+ val STREAM_CODEC = packetCodec(BooleanArrayResponse::write, ::BooleanArrayResponse)
+ override fun create(value: BooleanArray): BooleanArrayResponse {
+ return BooleanArrayResponse(value)
+ }
+ }
+
+ private constructor(buf: SurfByteBuf) : this(buf.readBooleanArray())
+
+ private fun write(buf: SurfByteBuf) {
+ buf.writeBooleanArray(value)
+ }
+
+ operator fun component1() = value
+}
+
+fun BooleanArrayResponsePacket.respond(value: BooleanCollection) =
+ respond(value.toBooleanArray())
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanResponse.kt
new file mode 100644
index 00000000..9e06a11b
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/BooleanResponse.kt
@@ -0,0 +1,31 @@
+package dev.slne.surf.cloud.api.common.netty.network.protocol.boolean
+
+import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseType
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseTypeFactory
+import dev.slne.surf.cloud.api.common.netty.network.protocol.PacketFlow
+import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
+import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
+
+typealias BooleanResponsePacket = RespondingNettyPacket
+
+@SurfNettyPacket("boolean_response", PacketFlow.BIDIRECTIONAL)
+class BooleanResponse(override val value: Boolean) : ResponseNettyPacket(),
+ CommonResponseType {
+ companion object : CommonResponseTypeFactory {
+ val STREAM_CODEC = packetCodec(BooleanResponse::write, ::BooleanResponse)
+ override fun create(value: Boolean): BooleanResponse {
+ return BooleanResponse(value)
+ }
+ }
+
+ private constructor(buf: SurfByteBuf) : this(buf.readBoolean())
+
+ private fun write(buf: SurfByteBuf) {
+ buf.writeBoolean(value)
+ }
+
+ operator fun component1() = value
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanArrayResponse.kt
new file mode 100644
index 00000000..73057c63
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanArrayResponse.kt
@@ -0,0 +1,39 @@
+package dev.slne.surf.cloud.api.common.netty.network.protocol.boolean
+
+import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseType
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseTypeFactory
+import dev.slne.surf.cloud.api.common.netty.network.protocol.PacketFlow
+import dev.slne.surf.cloud.api.common.netty.network.protocol.respond
+import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
+import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
+import it.unimi.dsi.fastutil.booleans.BooleanCollection
+
+typealias OptionalBooleanArrayResponsePacket = RespondingNettyPacket
+
+@SurfNettyPacket("optional_boolean_array_response", PacketFlow.BIDIRECTIONAL)
+class OptionalBooleanArrayResponse(override val value: BooleanArray?) : ResponseNettyPacket(),
+ CommonResponseType {
+
+ companion object : CommonResponseTypeFactory {
+ val STREAM_CODEC =
+ packetCodec(OptionalBooleanArrayResponse::write, ::OptionalBooleanArrayResponse)
+
+ override fun create(value: BooleanArray?): OptionalBooleanArrayResponse {
+ return OptionalBooleanArrayResponse(value)
+ }
+ }
+
+ private constructor(buf: SurfByteBuf) : this(buf.readNullable { it.readBooleanArray() })
+
+ private fun write(buf: SurfByteBuf) {
+ buf.writeNullable(value) { buf, value -> buf.writeBooleanArray(value) }
+ }
+
+ operator fun component1() = value
+}
+
+fun OptionalBooleanArrayResponsePacket.respond(value: BooleanCollection?) =
+ respond(value?.toBooleanArray())
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanResponse.kt
new file mode 100644
index 00000000..39f34040
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/boolean/OptionalBooleanResponse.kt
@@ -0,0 +1,31 @@
+package dev.slne.surf.cloud.api.common.netty.network.protocol.boolean
+
+import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseType
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseTypeFactory
+import dev.slne.surf.cloud.api.common.netty.network.protocol.PacketFlow
+import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
+import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
+
+typealias OptionalBooleanResponsePacket = RespondingNettyPacket
+
+@SurfNettyPacket("optional_boolean_response", PacketFlow.BIDIRECTIONAL)
+class OptionalBooleanResponse(override val value: Boolean?) : ResponseNettyPacket(),
+ CommonResponseType {
+ companion object : CommonResponseTypeFactory {
+ val STREAM_CODEC = packetCodec(OptionalBooleanResponse::write, ::OptionalBooleanResponse)
+ override fun create(value: Boolean?): OptionalBooleanResponse {
+ return OptionalBooleanResponse(value)
+ }
+ }
+
+ private constructor(buf: SurfByteBuf) : this(buf.readNullableBoolean())
+
+ private fun write(buf: SurfByteBuf) {
+ buf.writeNullable(value)
+ }
+
+ operator fun component1() = value
+}
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteArrayResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteArrayResponse.kt
new file mode 100644
index 00000000..51affec4
--- /dev/null
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteArrayResponse.kt
@@ -0,0 +1,35 @@
+package dev.slne.surf.cloud.api.common.netty.network.protocol.byte
+
+import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseType
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseTypeFactory
+import dev.slne.surf.cloud.api.common.netty.network.protocol.PacketFlow
+import dev.slne.surf.cloud.api.common.netty.network.protocol.respond
+import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
+import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
+import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
+import it.unimi.dsi.fastutil.bytes.ByteCollection
+
+typealias ByteArrayResponsePacket = RespondingNettyPacket
+
+@SurfNettyPacket("byte_array_response", PacketFlow.BIDIRECTIONAL)
+class ByteArrayResponse(override val value: ByteArray) : ResponseNettyPacket(),
+ CommonResponseType {
+ companion object : CommonResponseTypeFactory {
+ val STREAM_CODEC = packetCodec(ByteArrayResponse::write, ::ByteArrayResponse)
+ override fun create(value: ByteArray): ByteArrayResponse {
+ return ByteArrayResponse(value)
+ }
+ }
+
+ private constructor(buf: SurfByteBuf) : this(buf.readByteArray())
+
+ private fun write(buf: SurfByteBuf) {
+ buf.writeByteArray(value)
+ }
+
+ operator fun component1() = value
+}
+
+fun ByteArrayResponsePacket.respond(value: ByteCollection) = respond(value.toByteArray())
\ No newline at end of file
diff --git a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/ByteResponse.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteResponse.kt
similarity index 50%
rename from surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/ByteResponse.kt
rename to surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteResponse.kt
index b0d62f48..3ef9b1e4 100644
--- a/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/ByteResponse.kt
+++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/netty/network/protocol/byte/ByteResponse.kt
@@ -1,15 +1,24 @@
-package dev.slne.surf.cloud.api.common.netty.network.protocol
+package dev.slne.surf.cloud.api.common.netty.network.protocol.byte
import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseType
+import dev.slne.surf.cloud.api.common.netty.network.protocol.CommonResponseTypeFactory
+import dev.slne.surf.cloud.api.common.netty.network.protocol.PacketFlow
import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket
import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket
import dev.slne.surf.cloud.api.common.netty.packet.packetCodec
import dev.slne.surf.cloud.api.common.netty.protocol.buffer.SurfByteBuf
+typealias ByteResponsePacket = RespondingNettyPacket