Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ javaVersion=21
mcVersion=1.21.4

group=dev.slne.surf
version=1.21.4-2.12.0-SNAPSHOT
version=1.21.4-2.13.0-SNAPSHOT
relocationPrefix=dev.slne.surf.surfapi.libs
Original file line number Diff line number Diff line change
Expand Up @@ -1500,6 +1500,10 @@ public abstract interface class dev/slne/surf/surfapi/bukkit/api/nms/listener/pa
public abstract fun getPacketClass ()Ljava/lang/Class;
}

public abstract interface class dev/slne/surf/surfapi/bukkit/api/nms/listener/packets/clientbound/DisconnectPacket : dev/slne/surf/surfapi/bukkit/api/nms/listener/packets/clientbound/NmsClientboundPacket {
public abstract fun getReason ()Lnet/kyori/adventure/text/Component;
}

public abstract interface class dev/slne/surf/surfapi/bukkit/api/nms/listener/packets/clientbound/NmsClientboundPacket : dev/slne/surf/surfapi/bukkit/api/nms/listener/packets/NmsPacket {
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package dev.slne.surf.surfapi.bukkit.api.nms.listener.packets.clientbound

import dev.slne.surf.surfapi.bukkit.api.nms.NmsUseWithCaution
import net.kyori.adventure.text.Component

@NmsUseWithCaution
interface DisconnectPacket : NmsClientboundPacket {
val reason: Component
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,18 @@ package dev.slne.surf.surfapi.bukkit.server.impl.nms.listener.packets
import dev.slne.surf.surfapi.bukkit.api.nms.NmsUseWithCaution
import dev.slne.surf.surfapi.bukkit.api.nms.listener.packets.clientbound.NmsClientboundPacket
import dev.slne.surf.surfapi.bukkit.api.nms.listener.packets.serverbound.NmsServerboundPacket
import dev.slne.surf.surfapi.bukkit.server.impl.nms.listener.packets.clientbound.ClientboundDisconnectPacketImpl
import dev.slne.surf.surfapi.bukkit.server.impl.nms.listener.packets.serverbound.CommandSuggestionPacketImpl
import dev.slne.surf.surfapi.bukkit.server.impl.nms.listener.packets.serverbound.RenameItemPacketImpl
import dev.slne.surf.surfapi.bukkit.server.impl.nms.listener.packets.serverbound.SignUpdatePacketImpl
import dev.slne.surf.surfapi.core.api.util.mutableObject2ObjectMapOf
import net.minecraft.network.protocol.Packet
import net.minecraft.network.protocol.game.*
import net.minecraft.network.protocol.common.ClientCommonPacketListener
import net.minecraft.network.protocol.common.ClientboundDisconnectPacket
import net.minecraft.network.protocol.game.ServerGamePacketListener
import net.minecraft.network.protocol.game.ServerboundCommandSuggestionPacket
import net.minecraft.network.protocol.game.ServerboundRenameItemPacket
import net.minecraft.network.protocol.game.ServerboundSignUpdatePacket
import kotlin.reflect.KClass

@OptIn(NmsUseWithCaution::class)
Expand All @@ -20,9 +26,13 @@ object PacketRegistry {

init {
// @formatter:off
// Serverbound packets
registerServerboundPacket(ServerboundSignUpdatePacket::class) { SignUpdatePacketImpl(it) }
registerServerboundPacket(ServerboundRenameItemPacket::class) { RenameItemPacketImpl(it) }
registerServerboundPacket(ServerboundCommandSuggestionPacket::class) { CommandSuggestionPacketImpl(it) }

// Clientbound packets
registerClientboundPacket(ClientboundDisconnectPacket::class) { ClientboundDisconnectPacketImpl(it) }
// @formatter:on
}

Expand All @@ -38,9 +48,9 @@ object PacketRegistry {
return factory?.create(packet)
}

private fun <Nms : Packet<ClientGamePacketListener>, Api : NmsClientboundPacket> registerClientboundPacket(
private fun <Nms : Packet<ClientCommonPacketListener>, Api : NmsClientboundPacket> registerClientboundPacket(
nms: KClass<Nms>,
factory: ClientboundPacketFactory<Nms, Api>
factory: ClientboundPacketFactory<Nms, Api>,
) {
CLIENTBOUND_PACKETS.put(nms.java, factory)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package dev.slne.surf.surfapi.bukkit.server.impl.nms.listener.packets.clientbound

import dev.slne.surf.surfapi.bukkit.api.nms.NmsUseWithCaution
import dev.slne.surf.surfapi.bukkit.api.nms.listener.packets.clientbound.DisconnectPacket
import dev.slne.surf.surfapi.bukkit.server.nms.toBukkit
import net.minecraft.network.protocol.common.ClientboundDisconnectPacket

@NmsUseWithCaution
class ClientboundDisconnectPacketImpl(nmsPacket: ClientboundDisconnectPacket) :
NmsClientboundPacketImpl<ClientboundDisconnectPacket>(nmsPacket), DisconnectPacket {
override val reason get() = nmsPacket.reason.toBukkit()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package dev.slne.surf.surfapi.bukkit.server.impl.nms.listener.packets.clientbound

import dev.slne.surf.surfapi.bukkit.api.nms.NmsUseWithCaution
import dev.slne.surf.surfapi.bukkit.server.impl.nms.listener.packets.NmsPacketImpl
import net.minecraft.network.protocol.Packet
import net.minecraft.network.protocol.common.ClientCommonPacketListener

@NmsUseWithCaution
abstract class NmsClientboundPacketImpl<Nms : Packet<ClientCommonPacketListener>>(nmsPacket: Nms) :
NmsPacketImpl<Nms, ClientCommonPacketListener>(nmsPacket)