From 9cfffc6ee482cdd2ce18ac1a4d67b95559fde80b Mon Sep 17 00:00:00 2001 From: TheMode Date: Tue, 19 Mar 2024 17:42:06 +0100 Subject: [PATCH] Static packet ids (#2034) --- .../network/packet/client/ClientPacket.java | 6 --- .../play/ClientConfigurationAckPacket.java | 7 --- .../server/ComponentHoldingServerPacket.java | 8 ---- .../network/packet/server/ServerPacket.java | 45 +++++++++++++++++-- .../server/common/DisconnectPacket.java | 19 ++++---- .../packet/server/common/KeepAlivePacket.java | 17 ++++--- .../packet/server/common/PingPacket.java | 17 ++++--- .../server/common/PingResponsePacket.java | 17 ++++--- .../server/common/PluginMessagePacket.java | 18 ++++---- .../server/common/ResourcePackPopPacket.java | 18 ++++---- .../server/common/ResourcePackPushPacket.java | 18 ++++---- .../packet/server/common/TagsPacket.java | 18 ++++---- .../FinishConfigurationPacket.java | 12 ++--- .../configuration/RegistryDataPacket.java | 12 ++--- .../UpdateEnabledFeaturesPacket.java | 12 ++--- .../server/login/EncryptionRequestPacket.java | 11 ++--- .../server/login/LoginDisconnectPacket.java | 14 +++--- .../login/LoginPluginRequestPacket.java | 11 ++--- .../server/login/LoginSuccessPacket.java | 12 ++--- .../server/login/SetCompressionPacket.java | 11 ++--- .../play/AcknowledgeBlockChangePacket.java | 11 ++--- .../packet/server/play/ActionBarPacket.java | 12 ++--- .../server/play/AdvancementsPacket.java | 13 ++---- .../server/play/AttachEntityPacket.java | 11 ++--- .../packet/server/play/BlockActionPacket.java | 11 ++--- .../play/BlockBreakAnimationPacket.java | 11 ++--- .../packet/server/play/BlockChangePacket.java | 11 ++--- .../server/play/BlockEntityDataPacket.java | 11 ++--- .../packet/server/play/BossBarPacket.java | 13 ++---- .../packet/server/play/BundlePacket.java | 11 ++--- .../packet/server/play/CameraPacket.java | 11 ++--- .../server/play/ChangeGameStatePacket.java | 11 ++--- .../server/play/ChunkBatchFinishedPacket.java | 12 ++--- .../server/play/ChunkBatchStartPacket.java | 12 ++--- .../packet/server/play/ChunkDataPacket.java | 11 ++--- .../packet/server/play/ClearTitlesPacket.java | 11 ++--- .../packet/server/play/CloseWindowPacket.java | 11 ++--- .../packet/server/play/CollectItemPacket.java | 11 ++--- .../server/play/CraftRecipeResponse.java | 11 ++--- .../play/CustomChatCompletionPacket.java | 11 ++--- .../packet/server/play/DamageEventPacket.java | 15 +++---- .../server/play/DeathCombatEventPacket.java | 13 ++---- .../server/play/DeclareCommandsPacket.java | 11 ++--- .../server/play/DeclareRecipesPacket.java | 11 ++--- .../packet/server/play/DeleteChatPacket.java | 11 ++--- .../server/play/DestroyEntitiesPacket.java | 11 ++--- .../server/play/DisplayScoreboardPacket.java | 11 ++--- .../packet/server/play/EffectPacket.java | 11 ++--- .../server/play/EndCombatEventPacket.java | 11 ++--- .../server/play/EnterCombatEventPacket.java | 11 ++--- .../server/play/EntityAnimationPacket.java | 11 ++--- .../server/play/EntityEffectPacket.java | 11 ++--- .../server/play/EntityEquipmentPacket.java | 13 ++---- .../server/play/EntityHeadLookPacket.java | 11 ++--- .../server/play/EntityMetaDataPacket.java | 13 ++---- .../play/EntityPositionAndRotationPacket.java | 11 ++--- .../server/play/EntityPositionPacket.java | 11 ++--- .../server/play/EntityPropertiesPacket.java | 11 ++--- .../server/play/EntityRotationPacket.java | 11 ++--- .../server/play/EntitySoundEffectPacket.java | 11 ++--- .../server/play/EntityStatusPacket.java | 11 ++--- .../server/play/EntityTeleportPacket.java | 11 ++--- .../server/play/EntityVelocityPacket.java | 11 ++--- .../packet/server/play/ExplosionPacket.java | 11 ++--- .../packet/server/play/FacePlayerPacket.java | 11 ++--- .../server/play/HeldItemChangePacket.java | 11 ++--- .../server/play/HitAnimationPacket.java | 11 ++--- .../play/InitializeWorldBorderPacket.java | 11 ++--- .../packet/server/play/JoinGamePacket.java | 11 ++--- .../packet/server/play/MapDataPacket.java | 11 ++--- .../server/play/MultiBlockChangePacket.java | 11 ++--- .../server/play/NbtQueryResponsePacket.java | 11 ++--- .../packet/server/play/OpenBookPacket.java | 11 ++--- .../server/play/OpenHorseWindowPacket.java | 11 ++--- .../server/play/OpenSignEditorPacket.java | 11 ++--- .../packet/server/play/OpenWindowPacket.java | 13 ++---- .../packet/server/play/ParticlePacket.java | 11 ++--- .../server/play/PlayerAbilitiesPacket.java | 11 ++--- .../server/play/PlayerChatMessagePacket.java | 13 ++---- .../server/play/PlayerInfoRemovePacket.java | 11 ++--- .../server/play/PlayerInfoUpdatePacket.java | 11 ++--- .../play/PlayerListHeaderAndFooterPacket.java | 13 ++---- .../play/PlayerPositionAndLookPacket.java | 11 ++--- .../server/play/RemoveEntityEffectPacket.java | 11 ++--- .../packet/server/play/ResetScorePacket.java | 11 ++--- .../packet/server/play/RespawnPacket.java | 11 ++--- .../play/ScoreboardObjectivePacket.java | 13 ++---- .../play/SelectAdvancementTabPacket.java | 11 ++--- .../packet/server/play/ServerDataPacket.java | 11 ++--- .../server/play/ServerDifficultyPacket.java | 11 ++--- .../packet/server/play/SetCooldownPacket.java | 11 ++--- .../server/play/SetExperiencePacket.java | 11 ++--- .../server/play/SetPassengersPacket.java | 11 ++--- .../packet/server/play/SetSlotPacket.java | 13 ++---- .../server/play/SetTickStatePacket.java | 11 ++--- .../server/play/SetTitleSubTitlePacket.java | 13 ++---- .../server/play/SetTitleTextPacket.java | 13 ++---- .../server/play/SetTitleTimePacket.java | 11 ++--- .../packet/server/play/SoundEffectPacket.java | 11 ++--- .../packet/server/play/SpawnEntityPacket.java | 11 ++--- .../server/play/SpawnExperienceOrbPacket.java | 11 ++--- .../server/play/SpawnPositionPacket.java | 11 ++--- .../server/play/StartConfigurationPacket.java | 11 ++--- .../packet/server/play/StatisticsPacket.java | 11 ++--- .../packet/server/play/StopSoundPacket.java | 11 ++--- .../packet/server/play/SystemChatPacket.java | 13 ++---- .../packet/server/play/TabCompletePacket.java | 13 ++---- .../packet/server/play/TeamsPacket.java | 13 ++---- .../packet/server/play/TickStepPacket.java | 11 ++--- .../packet/server/play/TimeUpdatePacket.java | 11 ++--- .../packet/server/play/TradeListPacket.java | 11 ++--- .../packet/server/play/UnloadChunkPacket.java | 11 ++--- .../server/play/UnlockRecipesPacket.java | 11 ++--- .../server/play/UpdateHealthPacket.java | 11 ++--- .../packet/server/play/UpdateLightPacket.java | 11 ++--- .../packet/server/play/UpdateScorePacket.java | 11 ++--- .../play/UpdateSimulationDistancePacket.java | 11 ++--- .../server/play/UpdateViewDistancePacket.java | 11 ++--- .../server/play/UpdateViewPositionPacket.java | 11 ++--- .../packet/server/play/VehicleMovePacket.java | 11 ++--- .../packet/server/play/WindowItemsPacket.java | 13 ++---- .../server/play/WindowPropertyPacket.java | 11 ++--- .../server/play/WorldBorderCenterPacket.java | 11 ++--- .../play/WorldBorderLerpSizePacket.java | 11 ++--- .../server/play/WorldBorderSizePacket.java | 11 ++--- .../play/WorldBorderWarningDelayPacket.java | 11 ++--- .../play/WorldBorderWarningReachPacket.java | 11 ++--- .../packet/server/status/ResponsePacket.java | 11 ++--- .../player/PlayerSocketConnection.java | 4 +- .../minestom/server/utils/PacketUtils.java | 10 +++-- .../server/network/SocketWriteTest.java | 8 ++-- .../minestom/testing/TestConnectionImpl.java | 6 +-- 132 files changed, 495 insertions(+), 1063 deletions(-) delete mode 100644 src/main/java/net/minestom/server/network/packet/server/ComponentHoldingServerPacket.java diff --git a/src/main/java/net/minestom/server/network/packet/client/ClientPacket.java b/src/main/java/net/minestom/server/network/packet/client/ClientPacket.java index bcedeff14..be55d454e 100644 --- a/src/main/java/net/minestom/server/network/packet/client/ClientPacket.java +++ b/src/main/java/net/minestom/server/network/packet/client/ClientPacket.java @@ -1,8 +1,6 @@ package net.minestom.server.network.packet.client; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import org.jetbrains.annotations.Nullable; /** * Represents a packet received from a client. @@ -10,8 +8,4 @@ import org.jetbrains.annotations.Nullable; * Packets are value-based, and should therefore not be reliant on identity. */ public interface ClientPacket extends NetworkBuffer.Writer { - - default @Nullable ConnectionState nextState() { - return null; - } } diff --git a/src/main/java/net/minestom/server/network/packet/client/play/ClientConfigurationAckPacket.java b/src/main/java/net/minestom/server/network/packet/client/play/ClientConfigurationAckPacket.java index 370b2513a..853593402 100644 --- a/src/main/java/net/minestom/server/network/packet/client/play/ClientConfigurationAckPacket.java +++ b/src/main/java/net/minestom/server/network/packet/client/play/ClientConfigurationAckPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.client.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.client.ClientPacket; import org.jetbrains.annotations.NotNull; public record ClientConfigurationAckPacket() implements ClientPacket { - public ClientConfigurationAckPacket(@NotNull NetworkBuffer buffer) { this(); } @@ -14,9 +12,4 @@ public record ClientConfigurationAckPacket() implements ClientPacket { @Override public void write(@NotNull NetworkBuffer writer) { } - - @Override - public @NotNull ConnectionState nextState() { - return ConnectionState.CONFIGURATION; - } } diff --git a/src/main/java/net/minestom/server/network/packet/server/ComponentHoldingServerPacket.java b/src/main/java/net/minestom/server/network/packet/server/ComponentHoldingServerPacket.java deleted file mode 100644 index 7c2d96ff0..000000000 --- a/src/main/java/net/minestom/server/network/packet/server/ComponentHoldingServerPacket.java +++ /dev/null @@ -1,8 +0,0 @@ -package net.minestom.server.network.packet.server; - -import net.minestom.server.adventure.ComponentHolder; - -/** - * A server packet that can hold components. - */ -public interface ComponentHoldingServerPacket extends ServerPacket, ComponentHolder { } diff --git a/src/main/java/net/minestom/server/network/packet/server/ServerPacket.java b/src/main/java/net/minestom/server/network/packet/server/ServerPacket.java index db273139e..37384bc20 100644 --- a/src/main/java/net/minestom/server/network/packet/server/ServerPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/ServerPacket.java @@ -1,17 +1,22 @@ package net.minestom.server.network.packet.server; +import net.minestom.server.adventure.ComponentHolder; import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.player.PlayerConnection; +import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; + +import java.util.ArrayList; +import java.util.List; /** * Represents a packet which can be sent to a player using {@link PlayerConnection#sendPacket(SendablePacket)}. *

* Packets are value-based, and should therefore not be reliant on identity. */ -public non-sealed interface ServerPacket extends NetworkBuffer.Writer, SendablePacket { +public sealed interface ServerPacket extends NetworkBuffer.Writer, SendablePacket permits + ServerPacket.Configuration, ServerPacket.Status, ServerPacket.Login, ServerPacket.Play { /** * Gets the id of this packet. @@ -20,6 +25,40 @@ public non-sealed interface ServerPacket extends NetworkBuffer.Writer, SendableP * * @return the id of this packet */ - int getId(@NotNull ConnectionState state); + default int getId(@NotNull ConnectionState state) { + final int id = switch (state) { + case HANDSHAKE -> -1; + case CONFIGURATION -> this instanceof Configuration configuration ? configuration.configurationId() : -1; + case STATUS -> this instanceof Status status ? status.statusId() : -1; + case LOGIN -> this instanceof Login login ? login.loginId() : -1; + case PLAY -> this instanceof Play play ? play.playId() : -1; + }; + if (id != -1) return id; + // Invalid state, generate error + List validStates = new ArrayList<>(); + if (this instanceof Configuration) validStates.add(ConnectionState.CONFIGURATION); + if (this instanceof Status) validStates.add(ConnectionState.STATUS); + if (this instanceof Login) validStates.add(ConnectionState.LOGIN); + if (this instanceof Play) validStates.add(ConnectionState.PLAY); + return PacketUtils.invalidPacketState(getClass(), state, validStates.toArray(ConnectionState[]::new)); + } + non-sealed interface Configuration extends ServerPacket { + int configurationId(); + } + + non-sealed interface Status extends ServerPacket { + int statusId(); + } + + non-sealed interface Login extends ServerPacket { + int loginId(); + } + + non-sealed interface Play extends ServerPacket { + int playId(); + } + + interface ComponentHolding extends ComponentHolder { + } } diff --git a/src/main/java/net/minestom/server/network/packet/server/common/DisconnectPacket.java b/src/main/java/net/minestom/server/network/packet/server/common/DisconnectPacket.java index 1d89997ab..494a463f2 100644 --- a/src/main/java/net/minestom/server/network/packet/server/common/DisconnectPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/common/DisconnectPacket.java @@ -1,12 +1,9 @@ package net.minestom.server.network.packet.server.common; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -15,7 +12,8 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.COMPONENT; -public record DisconnectPacket(@NotNull Component message) implements ComponentHoldingServerPacket { +public record DisconnectPacket(@NotNull Component message) implements ServerPacket.Configuration, ServerPacket.Play, + ServerPacket.ComponentHolding { public DisconnectPacket(@NotNull NetworkBuffer reader) { this(reader.read(COMPONENT)); } @@ -26,12 +24,13 @@ public record DisconnectPacket(@NotNull Component message) implements ComponentH } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_DISCONNECT; - case PLAY -> ServerPacketIdentifier.DISCONNECT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION, ConnectionState.PLAY); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_DISCONNECT; + } + + @Override + public int playId() { + return ServerPacketIdentifier.DISCONNECT; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/common/KeepAlivePacket.java b/src/main/java/net/minestom/server/network/packet/server/common/KeepAlivePacket.java index 655d277a4..fd70b8cb1 100644 --- a/src/main/java/net/minestom/server/network/packet/server/common/KeepAlivePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/common/KeepAlivePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.common; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.LONG; -public record KeepAlivePacket(long id) implements ServerPacket { +public record KeepAlivePacket(long id) implements ServerPacket.Configuration, ServerPacket.Play { public KeepAlivePacket(@NotNull NetworkBuffer reader) { this(reader.read(LONG)); } @@ -20,11 +18,12 @@ public record KeepAlivePacket(long id) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_KEEP_ALIVE; - case PLAY -> ServerPacketIdentifier.KEEP_ALIVE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION, ConnectionState.PLAY); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_KEEP_ALIVE; + } + + @Override + public int playId() { + return ServerPacketIdentifier.KEEP_ALIVE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/common/PingPacket.java b/src/main/java/net/minestom/server/network/packet/server/common/PingPacket.java index d25c8d43a..085355e90 100644 --- a/src/main/java/net/minestom/server/network/packet/server/common/PingPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/common/PingPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.common; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.INT; -public record PingPacket(int id) implements ServerPacket { +public record PingPacket(int id) implements ServerPacket.Configuration, ServerPacket.Play { public PingPacket(@NotNull NetworkBuffer reader) { this(reader.read(INT)); } @@ -20,11 +18,12 @@ public record PingPacket(int id) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_PING; - case PLAY -> ServerPacketIdentifier.PING; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION, ConnectionState.PLAY); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_PING; + } + + @Override + public int playId() { + return ServerPacketIdentifier.PING; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/common/PingResponsePacket.java b/src/main/java/net/minestom/server/network/packet/server/common/PingResponsePacket.java index 5c0305bf5..ad8a2c20a 100644 --- a/src/main/java/net/minestom/server/network/packet/server/common/PingResponsePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/common/PingResponsePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.common; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.LONG; -public record PingResponsePacket(long number) implements ServerPacket { +public record PingResponsePacket(long number) implements ServerPacket.Status, ServerPacket.Play { public PingResponsePacket(@NotNull NetworkBuffer reader) { this(reader.read(LONG)); } @@ -20,11 +18,12 @@ public record PingResponsePacket(long number) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case STATUS -> ServerPacketIdentifier.STATUS_PING_RESPONSE; - case PLAY -> ServerPacketIdentifier.PING_RESPONSE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.STATUS); - }; + public int statusId() { + return ServerPacketIdentifier.STATUS_PING_RESPONSE; + } + + @Override + public int playId() { + return ServerPacketIdentifier.PING_RESPONSE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/common/PluginMessagePacket.java b/src/main/java/net/minestom/server/network/packet/server/common/PluginMessagePacket.java index 3edcda88b..ede91dd39 100644 --- a/src/main/java/net/minestom/server/network/packet/server/common/PluginMessagePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/common/PluginMessagePacket.java @@ -1,17 +1,16 @@ package net.minestom.server.network.packet.server.common; import net.minestom.server.MinecraftServer; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.RAW_BYTES; import static net.minestom.server.network.NetworkBuffer.STRING; -public record PluginMessagePacket(String channel, byte[] data) implements ServerPacket { +public record PluginMessagePacket(String channel, + byte[] data) implements ServerPacket.Configuration, ServerPacket.Play { public PluginMessagePacket(@NotNull NetworkBuffer reader) { this(reader.read(STRING), reader.read(RAW_BYTES)); } @@ -23,12 +22,13 @@ public record PluginMessagePacket(String channel, byte[] data) implements Server } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_PLUGIN_MESSAGE; - case PLAY -> ServerPacketIdentifier.PLUGIN_MESSAGE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION, ConnectionState.PLAY); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_PLUGIN_MESSAGE; + } + + @Override + public int playId() { + return ServerPacketIdentifier.PLUGIN_MESSAGE; } /** diff --git a/src/main/java/net/minestom/server/network/packet/server/common/ResourcePackPopPacket.java b/src/main/java/net/minestom/server/network/packet/server/common/ResourcePackPopPacket.java index d1e27f422..a6774a3d7 100644 --- a/src/main/java/net/minestom/server/network/packet/server/common/ResourcePackPopPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/common/ResourcePackPopPacket.java @@ -1,17 +1,14 @@ package net.minestom.server.network.packet.server.common; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.UUID; -public record ResourcePackPopPacket(@Nullable UUID id) implements ServerPacket { - +public record ResourcePackPopPacket(@Nullable UUID id) implements ServerPacket.Configuration, ServerPacket.Play { public ResourcePackPopPacket(@NotNull NetworkBuffer reader) { this(reader.readOptional(NetworkBuffer.UUID)); } @@ -22,11 +19,12 @@ public record ResourcePackPopPacket(@Nullable UUID id) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_RESOURCE_PACK_POP_PACKET; - case PLAY -> ServerPacketIdentifier.RESOURCE_PACK_POP; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION, ConnectionState.PLAY); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_RESOURCE_PACK_POP_PACKET; + } + + @Override + public int playId() { + return ServerPacketIdentifier.RESOURCE_PACK_POP; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/common/ResourcePackPushPacket.java b/src/main/java/net/minestom/server/network/packet/server/common/ResourcePackPushPacket.java index d31d1883e..a2b2f5e80 100644 --- a/src/main/java/net/minestom/server/network/packet/server/common/ResourcePackPushPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/common/ResourcePackPushPacket.java @@ -2,12 +2,9 @@ package net.minestom.server.network.packet.server.common; import net.kyori.adventure.resource.ResourcePackInfo; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -24,7 +21,7 @@ public record ResourcePackPushPacket( @NotNull String hash, boolean forced, @Nullable Component prompt -) implements ComponentHoldingServerPacket { +) implements ServerPacket.Configuration, ServerPacket.Play, ServerPacket.ComponentHolding { public ResourcePackPushPacket(@NotNull NetworkBuffer reader) { this(reader.read(UUID), reader.read(STRING), reader.read(STRING), reader.read(BOOLEAN), reader.readOptional(COMPONENT)); @@ -44,12 +41,13 @@ public record ResourcePackPushPacket( } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_RESOURCE_PACK_PUSH_PACKET; - case PLAY -> ServerPacketIdentifier.RESOURCE_PACK_PUSH; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION, ConnectionState.PLAY); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_RESOURCE_PACK_PUSH_PACKET; + } + + @Override + public int playId() { + return ServerPacketIdentifier.RESOURCE_PACK_PUSH; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/common/TagsPacket.java b/src/main/java/net/minestom/server/network/packet/server/common/TagsPacket.java index 5906ad48a..daa06217c 100644 --- a/src/main/java/net/minestom/server/network/packet/server/common/TagsPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/common/TagsPacket.java @@ -2,12 +2,10 @@ package net.minestom.server.network.packet.server.common; import net.minestom.server.MinecraftServer; import net.minestom.server.gamedata.tags.Tag; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.CachedPacket; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @@ -17,7 +15,8 @@ import java.util.Map; import static net.minestom.server.network.NetworkBuffer.*; -public record TagsPacket(@NotNull Map> tagsMap) implements ServerPacket { +public record TagsPacket( + @NotNull Map> tagsMap) implements ServerPacket.Configuration, ServerPacket.Play { @ApiStatus.Internal public static final CachedPacket DEFAULT_TAGS = new CachedPacket(new TagsPacket(MinecraftServer.getTagManager().getTagMap())); @@ -49,12 +48,13 @@ public record TagsPacket(@NotNull Map> tagsMap) impleme } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_TAGS; - case PLAY -> ServerPacketIdentifier.TAGS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION, ConnectionState.PLAY); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_TAGS; + } + + @Override + public int playId() { + return ServerPacketIdentifier.TAGS; } private static Map> readTagsMap(@NotNull NetworkBuffer reader) { diff --git a/src/main/java/net/minestom/server/network/packet/server/configuration/FinishConfigurationPacket.java b/src/main/java/net/minestom/server/network/packet/server/configuration/FinishConfigurationPacket.java index c62a4be2b..cecb189ff 100644 --- a/src/main/java/net/minestom/server/network/packet/server/configuration/FinishConfigurationPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/configuration/FinishConfigurationPacket.java @@ -1,14 +1,11 @@ package net.minestom.server.network.packet.server.configuration; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; -public record FinishConfigurationPacket() implements ServerPacket { - +public record FinishConfigurationPacket() implements ServerPacket.Configuration { public FinishConfigurationPacket(@NotNull NetworkBuffer buffer) { this(); } @@ -18,10 +15,7 @@ public record FinishConfigurationPacket() implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_FINISH_CONFIGURATION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_FINISH_CONFIGURATION; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/configuration/RegistryDataPacket.java b/src/main/java/net/minestom/server/network/packet/server/configuration/RegistryDataPacket.java index 0fb4824a9..2b0d4d2ca 100644 --- a/src/main/java/net/minestom/server/network/packet/server/configuration/RegistryDataPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/configuration/RegistryDataPacket.java @@ -1,17 +1,14 @@ package net.minestom.server.network.packet.server.configuration; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jglrxavpok.hephaistos.nbt.NBTCompound; import static net.minestom.server.network.NetworkBuffer.NBT; -public record RegistryDataPacket(@NotNull NBTCompound data) implements ServerPacket { - +public record RegistryDataPacket(@NotNull NBTCompound data) implements ServerPacket.Configuration { public RegistryDataPacket(@NotNull NetworkBuffer buffer) { this((NBTCompound) buffer.read(NBT)); } @@ -22,10 +19,7 @@ public record RegistryDataPacket(@NotNull NBTCompound data) implements ServerPac } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_REGISTRY_DATA; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_REGISTRY_DATA; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/configuration/UpdateEnabledFeaturesPacket.java b/src/main/java/net/minestom/server/network/packet/server/configuration/UpdateEnabledFeaturesPacket.java index 44c059061..7bba65a9b 100644 --- a/src/main/java/net/minestom/server/network/packet/server/configuration/UpdateEnabledFeaturesPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/configuration/UpdateEnabledFeaturesPacket.java @@ -1,18 +1,16 @@ package net.minestom.server.network.packet.server.configuration; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.utils.NamespaceID; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Set; import static net.minestom.server.network.NetworkBuffer.STRING; -public record UpdateEnabledFeaturesPacket(@NotNull Set features) implements ServerPacket { +public record UpdateEnabledFeaturesPacket(@NotNull Set features) implements ServerPacket.Configuration { public static final int MAX_FEATURES = 1024; public UpdateEnabledFeaturesPacket(@NotNull NetworkBuffer buffer) { @@ -25,11 +23,7 @@ public record UpdateEnabledFeaturesPacket(@NotNull Set features) im } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case CONFIGURATION -> ServerPacketIdentifier.CONFIGURATION_UPDATE_ENABLED_FEATURES; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.CONFIGURATION); - }; + public int configurationId() { + return ServerPacketIdentifier.CONFIGURATION_UPDATE_ENABLED_FEATURES; } - } diff --git a/src/main/java/net/minestom/server/network/packet/server/login/EncryptionRequestPacket.java b/src/main/java/net/minestom/server/network/packet/server/login/EncryptionRequestPacket.java index b9996c341..3a52c731f 100644 --- a/src/main/java/net/minestom/server/network/packet/server/login/EncryptionRequestPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/login/EncryptionRequestPacket.java @@ -1,10 +1,8 @@ package net.minestom.server.network.packet.server.login; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE_ARRAY; @@ -12,7 +10,7 @@ import static net.minestom.server.network.NetworkBuffer.STRING; public record EncryptionRequestPacket(@NotNull String serverId, byte @NotNull [] publicKey, - byte @NotNull [] verifyToken) implements ServerPacket { + byte @NotNull [] verifyToken) implements ServerPacket.Login { public EncryptionRequestPacket(@NotNull NetworkBuffer reader) { this(reader.read(STRING), reader.read(BYTE_ARRAY), @@ -27,10 +25,7 @@ public record EncryptionRequestPacket(@NotNull String serverId, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case LOGIN -> ServerPacketIdentifier.LOGIN_ENCRYPTION_REQUEST; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.LOGIN); - }; + public int loginId() { + return ServerPacketIdentifier.LOGIN_ENCRYPTION_REQUEST; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/login/LoginDisconnectPacket.java b/src/main/java/net/minestom/server/network/packet/server/login/LoginDisconnectPacket.java index 859265b51..87ad70bef 100644 --- a/src/main/java/net/minestom/server/network/packet/server/login/LoginDisconnectPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/login/LoginDisconnectPacket.java @@ -1,11 +1,9 @@ package net.minestom.server.network.packet.server.login; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -14,7 +12,8 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.JSON_COMPONENT; -public record LoginDisconnectPacket(@NotNull Component kickMessage) implements ComponentHoldingServerPacket { +public record LoginDisconnectPacket(@NotNull Component kickMessage) implements ServerPacket.Login, + ServerPacket.ComponentHolding { public LoginDisconnectPacket(@NotNull NetworkBuffer reader) { this(reader.read(JSON_COMPONENT)); } @@ -25,11 +24,8 @@ public record LoginDisconnectPacket(@NotNull Component kickMessage) implements C } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case LOGIN -> ServerPacketIdentifier.LOGIN_DISCONNECT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.LOGIN); - }; + public int loginId() { + return ServerPacketIdentifier.LOGIN_DISCONNECT; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/login/LoginPluginRequestPacket.java b/src/main/java/net/minestom/server/network/packet/server/login/LoginPluginRequestPacket.java index 16e2291cd..2228a80e4 100644 --- a/src/main/java/net/minestom/server/network/packet/server/login/LoginPluginRequestPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/login/LoginPluginRequestPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.login; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import static net.minestom.server.network.NetworkBuffer.*; public record LoginPluginRequestPacket(int messageId, @NotNull String channel, - byte @Nullable [] data) implements ServerPacket { + byte @Nullable [] data) implements ServerPacket.Login { public LoginPluginRequestPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(STRING), reader.read(RAW_BYTES)); @@ -27,10 +25,7 @@ public record LoginPluginRequestPacket(int messageId, @NotNull String channel, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case LOGIN -> ServerPacketIdentifier.LOGIN_PLUGIN_REQUEST; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.LOGIN); - }; + public int loginId() { + return ServerPacketIdentifier.LOGIN_PLUGIN_REQUEST; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/login/LoginSuccessPacket.java b/src/main/java/net/minestom/server/network/packet/server/login/LoginSuccessPacket.java index 8d8604fcb..d369c7507 100644 --- a/src/main/java/net/minestom/server/network/packet/server/login/LoginSuccessPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/login/LoginSuccessPacket.java @@ -1,10 +1,8 @@ package net.minestom.server.network.packet.server.login; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.UUID; @@ -12,7 +10,8 @@ import java.util.UUID; import static net.minestom.server.network.NetworkBuffer.STRING; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record LoginSuccessPacket(@NotNull UUID uuid, @NotNull String username, int properties) implements ServerPacket { +public record LoginSuccessPacket(@NotNull UUID uuid, @NotNull String username, + int properties) implements ServerPacket.Login { public LoginSuccessPacket(@NotNull NetworkBuffer reader) { this(reader.read(NetworkBuffer.UUID), reader.read(STRING), reader.read(VAR_INT)); } @@ -25,10 +24,7 @@ public record LoginSuccessPacket(@NotNull UUID uuid, @NotNull String username, i } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case LOGIN -> ServerPacketIdentifier.LOGIN_SUCCESS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.LOGIN); - }; + public int loginId() { + return ServerPacketIdentifier.LOGIN_SUCCESS; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/login/SetCompressionPacket.java b/src/main/java/net/minestom/server/network/packet/server/login/SetCompressionPacket.java index f43b06ad9..11ac1eb0d 100644 --- a/src/main/java/net/minestom/server/network/packet/server/login/SetCompressionPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/login/SetCompressionPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.login; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record SetCompressionPacket(int threshold) implements ServerPacket { +public record SetCompressionPacket(int threshold) implements ServerPacket.Login { public SetCompressionPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT)); } @@ -20,10 +18,7 @@ public record SetCompressionPacket(int threshold) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case LOGIN -> ServerPacketIdentifier.LOGIN_SET_COMPRESSION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.LOGIN); - }; + public int loginId() { + return ServerPacketIdentifier.LOGIN_SET_COMPRESSION; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/AcknowledgeBlockChangePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/AcknowledgeBlockChangePacket.java index d5e503581..66c226b8e 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/AcknowledgeBlockChangePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/AcknowledgeBlockChangePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record AcknowledgeBlockChangePacket(int sequence) implements ServerPacket { +public record AcknowledgeBlockChangePacket(int sequence) implements ServerPacket.Play { public AcknowledgeBlockChangePacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT)); } @@ -20,10 +18,7 @@ public record AcknowledgeBlockChangePacket(int sequence) implements ServerPacket } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ACKNOWLEDGE_BLOCK_CHANGE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ACKNOWLEDGE_BLOCK_CHANGE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ActionBarPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ActionBarPacket.java index a92442161..72923a0ae 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ActionBarPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ActionBarPacket.java @@ -1,12 +1,9 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -15,7 +12,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.COMPONENT; -public record ActionBarPacket(@NotNull Component text) implements ComponentHoldingServerPacket { +public record ActionBarPacket(@NotNull Component text) implements ServerPacket.Play, ServerPacket.ComponentHolding { public ActionBarPacket(@NotNull NetworkBuffer reader) { this(reader.read(COMPONENT)); } @@ -26,11 +23,8 @@ public record ActionBarPacket(@NotNull Component text) implements ComponentHoldi } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ACTION_BAR; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ACTION_BAR; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/AdvancementsPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/AdvancementsPacket.java index 1d025c99b..e8b4870ae 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/AdvancementsPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/AdvancementsPacket.java @@ -4,12 +4,10 @@ import net.kyori.adventure.text.Component; import net.minestom.server.advancements.FrameType; import net.minestom.server.adventure.ComponentHolder; import net.minestom.server.item.ItemStack; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -23,7 +21,7 @@ import static net.minestom.server.network.NetworkBuffer.*; public record AdvancementsPacket(boolean reset, @NotNull List advancementMappings, @NotNull List identifiersToRemove, - @NotNull List progressMappings) implements ComponentHoldingServerPacket { + @NotNull List progressMappings) implements ServerPacket.Play, ServerPacket.ComponentHolding { public static final int MAX_ADVANCEMENTS = Short.MAX_VALUE; public AdvancementsPacket { @@ -47,11 +45,8 @@ public record AdvancementsPacket(boolean reset, @NotNull List ServerPacketIdentifier.ADVANCEMENTS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ADVANCEMENTS; } // TODO is the display-item needed to be updated? diff --git a/src/main/java/net/minestom/server/network/packet/server/play/AttachEntityPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/AttachEntityPacket.java index 4d39e6a83..66878a864 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/AttachEntityPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/AttachEntityPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.entity.Entity; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import static net.minestom.server.network.NetworkBuffer.INT; -public record AttachEntityPacket(int attachedEntityId, int holdingEntityId) implements ServerPacket { +public record AttachEntityPacket(int attachedEntityId, int holdingEntityId) implements ServerPacket.Play { public AttachEntityPacket(@NotNull Entity attachedEntity, @Nullable Entity holdingEntity) { this(attachedEntity.getEntityId(), holdingEntity != null ? holdingEntity.getEntityId() : -1); } @@ -27,10 +25,7 @@ public record AttachEntityPacket(int attachedEntityId, int holdingEntityId) impl } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ATTACH_ENTITY; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ATTACH_ENTITY; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/BlockActionPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/BlockActionPacket.java index 61131c3c5..947709d75 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/BlockActionPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/BlockActionPacket.java @@ -2,17 +2,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; import net.minestom.server.instance.block.Block; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; public record BlockActionPacket(@NotNull Point blockPosition, byte actionId, - byte actionParam, int blockId) implements ServerPacket { + byte actionParam, int blockId) implements ServerPacket.Play { public BlockActionPacket(Point blockPosition, byte actionId, byte actionParam, Block block) { this(blockPosition, actionId, actionParam, block.id()); } @@ -31,10 +29,7 @@ public record BlockActionPacket(@NotNull Point blockPosition, byte actionId, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.BLOCK_ACTION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.BLOCK_ACTION; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/BlockBreakAnimationPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/BlockBreakAnimationPacket.java index 1d6ad250d..a1adbc383 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/BlockBreakAnimationPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/BlockBreakAnimationPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; public record BlockBreakAnimationPacket(int entityId, @NotNull Point blockPosition, - byte destroyStage) implements ServerPacket { + byte destroyStage) implements ServerPacket.Play { public BlockBreakAnimationPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(BLOCK_POSITION), reader.read(BYTE)); } @@ -24,10 +22,7 @@ public record BlockBreakAnimationPacket(int entityId, @NotNull Point blockPositi } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.BLOCK_BREAK_ANIMATION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.BLOCK_BREAK_ANIMATION; } } \ No newline at end of file diff --git a/src/main/java/net/minestom/server/network/packet/server/play/BlockChangePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/BlockChangePacket.java index f99e66e40..40ff8820b 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/BlockChangePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/BlockChangePacket.java @@ -2,17 +2,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; import net.minestom.server.instance.block.Block; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BLOCK_POSITION; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record BlockChangePacket(@NotNull Point blockPosition, int blockStateId) implements ServerPacket { +public record BlockChangePacket(@NotNull Point blockPosition, int blockStateId) implements ServerPacket.Play { public BlockChangePacket(@NotNull Point blockPosition, @NotNull Block block) { this(blockPosition, block.stateId()); } @@ -28,10 +26,7 @@ public record BlockChangePacket(@NotNull Point blockPosition, int blockStateId) } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.BLOCK_CHANGE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.BLOCK_CHANGE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/BlockEntityDataPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/BlockEntityDataPacket.java index 51f7b8e05..f878bfbeb 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/BlockEntityDataPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/BlockEntityDataPacket.java @@ -1,11 +1,9 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jglrxavpok.hephaistos.nbt.NBTCompound; @@ -13,7 +11,7 @@ import org.jglrxavpok.hephaistos.nbt.NBTCompound; import static net.minestom.server.network.NetworkBuffer.*; public record BlockEntityDataPacket(@NotNull Point blockPosition, int action, - @Nullable NBTCompound data) implements ServerPacket { + @Nullable NBTCompound data) implements ServerPacket.Play { public BlockEntityDataPacket(@NotNull NetworkBuffer reader) { this(reader.read(BLOCK_POSITION), reader.read(VAR_INT), (NBTCompound) reader.read(NBT)); } @@ -31,10 +29,7 @@ public record BlockEntityDataPacket(@NotNull Point blockPosition, int action, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.BLOCK_ENTITY_DATA; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.BLOCK_ENTITY_DATA; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/BossBarPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/BossBarPacket.java index 92f76d7c4..cd2fc9f11 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/BossBarPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/BossBarPacket.java @@ -4,12 +4,10 @@ import net.kyori.adventure.bossbar.BossBar; import net.kyori.adventure.text.Component; import net.minestom.server.adventure.AdventurePacketConvertor; import net.minestom.server.adventure.ComponentHolder; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -19,7 +17,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.*; -public record BossBarPacket(@NotNull UUID uuid, @NotNull Action action) implements ComponentHoldingServerPacket { +public record BossBarPacket(@NotNull UUID uuid, @NotNull Action action) implements ServerPacket.Play, ServerPacket.ComponentHolding { public BossBarPacket(@NotNull NetworkBuffer reader) { this(reader.read(NetworkBuffer.UUID), switch (reader.read(VAR_INT)) { case 0 -> new AddAction(reader); @@ -201,10 +199,7 @@ public record BossBarPacket(@NotNull UUID uuid, @NotNull Action action) implemen } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.BOSS_BAR; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.BOSS_BAR; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/BundlePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/BundlePacket.java index 6c4faf941..2d0cdc08f 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/BundlePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/BundlePacket.java @@ -1,13 +1,11 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; -public record BundlePacket() implements ServerPacket { +public record BundlePacket() implements ServerPacket.Play { public BundlePacket(@NotNull NetworkBuffer reader) { this(); } @@ -17,10 +15,7 @@ public record BundlePacket() implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.BUNDLE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.BUNDLE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/CameraPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/CameraPacket.java index 3d323786b..a3656adf8 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/CameraPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/CameraPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.entity.Entity; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record CameraPacket(int cameraId) implements ServerPacket { +public record CameraPacket(int cameraId) implements ServerPacket.Play { public CameraPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT)); } @@ -25,10 +23,7 @@ public record CameraPacket(int cameraId) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.CAMERA; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.CAMERA; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ChangeGameStatePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ChangeGameStatePacket.java index c4a398961..3f7e29886 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ChangeGameStatePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ChangeGameStatePacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; import static net.minestom.server.network.NetworkBuffer.FLOAT; -public record ChangeGameStatePacket(@NotNull Reason reason, float value) implements ServerPacket { +public record ChangeGameStatePacket(@NotNull Reason reason, float value) implements ServerPacket.Play { public ChangeGameStatePacket(@NotNull NetworkBuffer reader) { this(Reason.values()[reader.read(BYTE)], reader.read(FLOAT)); } @@ -22,11 +20,8 @@ public record ChangeGameStatePacket(@NotNull Reason reason, float value) impleme } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.CHANGE_GAME_STATE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.CHANGE_GAME_STATE; } public enum Reason { diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ChunkBatchFinishedPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ChunkBatchFinishedPacket.java index f3cf6b545..e6399e600 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ChunkBatchFinishedPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ChunkBatchFinishedPacket.java @@ -1,16 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record ChunkBatchFinishedPacket(int batchSize) implements ServerPacket { - +public record ChunkBatchFinishedPacket(int batchSize) implements ServerPacket.Play { public ChunkBatchFinishedPacket(@NotNull NetworkBuffer buffer) { this(buffer.read(VAR_INT)); } @@ -21,10 +18,7 @@ public record ChunkBatchFinishedPacket(int batchSize) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.CHUNK_BATCH_FINISHED; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.CHUNK_BATCH_FINISHED; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ChunkBatchStartPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ChunkBatchStartPacket.java index 11f7fb4db..b77ef15b6 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ChunkBatchStartPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ChunkBatchStartPacket.java @@ -1,14 +1,11 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; -public record ChunkBatchStartPacket() implements ServerPacket { - +public record ChunkBatchStartPacket() implements ServerPacket.Play { public ChunkBatchStartPacket(@NotNull NetworkBuffer buffer) { this(); } @@ -18,10 +15,7 @@ public record ChunkBatchStartPacket() implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.CHUNK_BATCH_START; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.CHUNK_BATCH_START; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java index abf7bbfa3..30a2f1e91 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java @@ -1,19 +1,17 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.network.packet.server.play.data.ChunkData; import net.minestom.server.network.packet.server.play.data.LightData; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.INT; public record ChunkDataPacket(int chunkX, int chunkZ, @NotNull ChunkData chunkData, - @NotNull LightData lightData) implements ServerPacket { + @NotNull LightData lightData) implements ServerPacket.Play { public ChunkDataPacket(@NotNull NetworkBuffer reader) { this(reader.read(INT), reader.read(INT), new ChunkData(reader), @@ -29,10 +27,7 @@ public record ChunkDataPacket(int chunkX, int chunkZ, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.CHUNK_DATA; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.CHUNK_DATA; } } \ No newline at end of file diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ClearTitlesPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ClearTitlesPacket.java index b73d5ab2b..36e3f15a7 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ClearTitlesPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ClearTitlesPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BOOLEAN; -public record ClearTitlesPacket(boolean reset) implements ServerPacket { +public record ClearTitlesPacket(boolean reset) implements ServerPacket.Play { public ClearTitlesPacket(@NotNull NetworkBuffer reader) { this(reader.read(BOOLEAN)); } @@ -20,10 +18,7 @@ public record ClearTitlesPacket(boolean reset) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.CLEAR_TITLES; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.CLEAR_TITLES; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/CloseWindowPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/CloseWindowPacket.java index 2819e098f..b7b458181 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/CloseWindowPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/CloseWindowPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; -public record CloseWindowPacket(byte windowId) implements ServerPacket { +public record CloseWindowPacket(byte windowId) implements ServerPacket.Play { public CloseWindowPacket(@NotNull NetworkBuffer reader) { this(reader.read(BYTE)); } @@ -20,10 +18,7 @@ public record CloseWindowPacket(byte windowId) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.CLOSE_WINDOW; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.CLOSE_WINDOW; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/CollectItemPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/CollectItemPacket.java index 3880910c2..67213c8f8 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/CollectItemPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/CollectItemPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; public record CollectItemPacket(int collectedEntityId, int collectorEntityId, int pickupItemCount) - implements ServerPacket { + implements ServerPacket.Play { public CollectItemPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(VAR_INT), reader.read(VAR_INT)); } @@ -23,10 +21,7 @@ public record CollectItemPacket(int collectedEntityId, int collectorEntityId, in } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.COLLECT_ITEM; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.COLLECT_ITEM; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/CraftRecipeResponse.java b/src/main/java/net/minestom/server/network/packet/server/play/CraftRecipeResponse.java index af14516a9..a65cb3749 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/CraftRecipeResponse.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/CraftRecipeResponse.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; import static net.minestom.server.network.NetworkBuffer.STRING; -public record CraftRecipeResponse(byte windowId, String recipe) implements ServerPacket { +public record CraftRecipeResponse(byte windowId, String recipe) implements ServerPacket.Play { public CraftRecipeResponse(@NotNull NetworkBuffer reader) { this(reader.read(BYTE), reader.read(STRING)); } @@ -22,10 +20,7 @@ public record CraftRecipeResponse(byte windowId, String recipe) implements Serve } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.CRAFT_RECIPE_RESPONSE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.CRAFT_RECIPE_RESPONSE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/CustomChatCompletionPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/CustomChatCompletionPacket.java index 859067f5c..9f6504ece 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/CustomChatCompletionPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/CustomChatCompletionPacket.java @@ -1,10 +1,8 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.List; @@ -12,7 +10,7 @@ import java.util.List; import static net.minestom.server.network.NetworkBuffer.STRING; public record CustomChatCompletionPacket(@NotNull Action action, - @NotNull List<@NotNull String> entries) implements ServerPacket { + @NotNull List<@NotNull String> entries) implements ServerPacket.Play { public static final int MAX_ENTRIES = Short.MAX_VALUE; public CustomChatCompletionPacket { @@ -30,11 +28,8 @@ public record CustomChatCompletionPacket(@NotNull Action action, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.CUSTOM_CHAT_COMPLETIONS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.CUSTOM_CHAT_COMPLETIONS; } public enum Action { diff --git a/src/main/java/net/minestom/server/network/packet/server/play/DamageEventPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/DamageEventPacket.java index 034389873..da5bace3d 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/DamageEventPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/DamageEventPacket.java @@ -1,15 +1,14 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import static net.minestom.server.network.NetworkBuffer.*; +import static net.minestom.server.network.NetworkBuffer.VAR_INT; +import static net.minestom.server.network.NetworkBuffer.VECTOR3D; /** * See https://wiki.vg/Protocol#Damage_Event for more info. @@ -20,18 +19,16 @@ import static net.minestom.server.network.NetworkBuffer.*; * @param sourceDirectId 0 if there is no direct source. For direct attacks (e.g. melee), this is the same as sourceEntityId. For indirect attacks (e.g. projectiles), this is the projectile entity id + 1 * @param sourcePos null if there is no source position, otherwise the position of the source */ -public record DamageEventPacket(int targetEntityId, int damageTypeId, int sourceEntityId, int sourceDirectId, @Nullable Point sourcePos) implements ServerPacket { +public record DamageEventPacket(int targetEntityId, int damageTypeId, int sourceEntityId, int sourceDirectId, + @Nullable Point sourcePos) implements ServerPacket.Play { public DamageEventPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(VAR_INT), reader.read(VAR_INT), reader.read(VAR_INT), reader.readOptional(VECTOR3D)); } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.DAMAGE_EVENT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.DAMAGE_EVENT; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/DeathCombatEventPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/DeathCombatEventPacket.java index 4d6556b58..18fc906c5 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/DeathCombatEventPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/DeathCombatEventPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -15,7 +13,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.*; -public record DeathCombatEventPacket(int playerId, @NotNull Component message) implements ComponentHoldingServerPacket { +public record DeathCombatEventPacket(int playerId, @NotNull Component message) implements ServerPacket.Play, ServerPacket.ComponentHolding { public DeathCombatEventPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(COMPONENT)); } @@ -27,11 +25,8 @@ public record DeathCombatEventPacket(int playerId, @NotNull Component message) i } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.DEATH_COMBAT_EVENT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.DEATH_COMBAT_EVENT; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/DeclareCommandsPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/DeclareCommandsPacket.java index 20bb215f8..6ded2f005 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/DeclareCommandsPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/DeclareCommandsPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.command.builder.arguments.Argument; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.registry.StaticProtocolObject; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.List; @@ -15,7 +13,7 @@ import java.util.function.Function; import static net.minestom.server.network.NetworkBuffer.*; public record DeclareCommandsPacket(@NotNull List nodes, - int rootIndex) implements ServerPacket { + int rootIndex) implements ServerPacket.Play { public static final int MAX_NODES = Short.MAX_VALUE; public DeclareCommandsPacket { @@ -37,11 +35,8 @@ public record DeclareCommandsPacket(@NotNull List nodes, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.DECLARE_COMMANDS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.DECLARE_COMMANDS; } public static final class Node implements NetworkBuffer.Writer { diff --git a/src/main/java/net/minestom/server/network/packet/server/play/DeclareRecipesPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/DeclareRecipesPacket.java index 3c246e20a..d239800df 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/DeclareRecipesPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/DeclareRecipesPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.item.ItemStack; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.recipe.RecipeCategory; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -15,7 +13,7 @@ import java.util.List; import static net.minestom.server.network.NetworkBuffer.*; -public record DeclareRecipesPacket(@NotNull List recipes) implements ServerPacket { +public record DeclareRecipesPacket(@NotNull List recipes) implements ServerPacket.Play { public static final int MAX_RECIPES = Short.MAX_VALUE; public static final int MAX_INGREDIENTS = 128; @@ -51,11 +49,8 @@ public record DeclareRecipesPacket(@NotNull List recipes) implem } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.DECLARE_RECIPES; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.DECLARE_RECIPES; } public sealed interface DeclaredRecipe extends NetworkBuffer.Writer diff --git a/src/main/java/net/minestom/server/network/packet/server/play/DeleteChatPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/DeleteChatPacket.java index bd9f040ae..692420de1 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/DeleteChatPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/DeleteChatPacket.java @@ -1,14 +1,12 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.crypto.MessageSignature; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; -public record DeleteChatPacket(@NotNull MessageSignature signature) implements ServerPacket { +public record DeleteChatPacket(@NotNull MessageSignature signature) implements ServerPacket.Play { public DeleteChatPacket(@NotNull NetworkBuffer reader) { this(new MessageSignature(reader)); } @@ -19,10 +17,7 @@ public record DeleteChatPacket(@NotNull MessageSignature signature) implements S } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.DELETE_CHAT_MESSAGE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.DELETE_CHAT_MESSAGE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/DestroyEntitiesPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/DestroyEntitiesPacket.java index bb26f0b36..322b88704 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/DestroyEntitiesPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/DestroyEntitiesPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.List; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record DestroyEntitiesPacket(@NotNull List entityIds) implements ServerPacket { +public record DestroyEntitiesPacket(@NotNull List entityIds) implements ServerPacket.Play { public static final int MAX_ENTRIES = Short.MAX_VALUE; public DestroyEntitiesPacket { @@ -32,10 +30,7 @@ public record DestroyEntitiesPacket(@NotNull List entityIds) implements } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.DESTROY_ENTITIES; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.DESTROY_ENTITIES; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/DisplayScoreboardPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/DisplayScoreboardPacket.java index 6b746970c..e90c8f5fa 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/DisplayScoreboardPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/DisplayScoreboardPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; import static net.minestom.server.network.NetworkBuffer.STRING; -public record DisplayScoreboardPacket(byte position, String scoreName) implements ServerPacket { +public record DisplayScoreboardPacket(byte position, String scoreName) implements ServerPacket.Play { public DisplayScoreboardPacket(@NotNull NetworkBuffer reader) { this(reader.read(BYTE), reader.read(STRING)); } @@ -22,10 +20,7 @@ public record DisplayScoreboardPacket(byte position, String scoreName) implement } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.DISPLAY_SCOREBOARD; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.DISPLAY_SCOREBOARD; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EffectPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EffectPacket.java index 18fb7ebc4..c4c912912 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EffectPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EffectPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; public record EffectPacket(int effectId, Point position, int data, - boolean disableRelativeVolume) implements ServerPacket { + boolean disableRelativeVolume) implements ServerPacket.Play { public EffectPacket(@NotNull NetworkBuffer reader) { this(reader.read(INT), reader.read(BLOCK_POSITION), reader.read(INT), reader.read(BOOLEAN)); } @@ -25,10 +23,7 @@ public record EffectPacket(int effectId, Point position, int data, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.EFFECT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.EFFECT; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EndCombatEventPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EndCombatEventPacket.java index a3672c2fd..b56dd5a59 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EndCombatEventPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EndCombatEventPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record EndCombatEventPacket(int duration) implements ServerPacket { +public record EndCombatEventPacket(int duration) implements ServerPacket.Play { public EndCombatEventPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT)); } @@ -20,10 +18,7 @@ public record EndCombatEventPacket(int duration) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.END_COMBAT_EVENT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.END_COMBAT_EVENT; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EnterCombatEventPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EnterCombatEventPacket.java index 28edc98cb..652247fcc 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EnterCombatEventPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EnterCombatEventPacket.java @@ -1,13 +1,11 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; -public record EnterCombatEventPacket() implements ServerPacket { +public record EnterCombatEventPacket() implements ServerPacket.Play { public EnterCombatEventPacket(@NotNull NetworkBuffer reader) { this(); } @@ -18,10 +16,7 @@ public record EnterCombatEventPacket() implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTER_COMBAT_EVENT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTER_COMBAT_EVENT; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityAnimationPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityAnimationPacket.java index c46201a03..7949fa04b 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityAnimationPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityAnimationPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record EntityAnimationPacket(int entityId, @NotNull Animation animation) implements ServerPacket { +public record EntityAnimationPacket(int entityId, @NotNull Animation animation) implements ServerPacket.Play { public EntityAnimationPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), Animation.values()[reader.read(BYTE)]); } @@ -22,11 +20,8 @@ public record EntityAnimationPacket(int entityId, @NotNull Animation animation) } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_ANIMATION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_ANIMATION; } public enum Animation { diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityEffectPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityEffectPacket.java index 642c1e775..0e0b02bf5 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityEffectPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityEffectPacket.java @@ -1,11 +1,9 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.potion.Potion; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jglrxavpok.hephaistos.nbt.NBTCompound; @@ -13,7 +11,7 @@ import org.jglrxavpok.hephaistos.nbt.NBTCompound; import static net.minestom.server.network.NetworkBuffer.*; public record EntityEffectPacket(int entityId, @NotNull Potion potion, - @Nullable NBTCompound factorCodec) implements ServerPacket { + @Nullable NBTCompound factorCodec) implements ServerPacket.Play { public EntityEffectPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), new Potion(reader), reader.read(BOOLEAN) ? (NBTCompound) reader.read(NBT) : null); @@ -27,10 +25,7 @@ public record EntityEffectPacket(int entityId, @NotNull Potion potion, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_EFFECT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_EFFECT; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityEquipmentPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityEquipmentPacket.java index 958e53009..9715976bf 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityEquipmentPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityEquipmentPacket.java @@ -3,12 +3,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; import net.minestom.server.entity.EquipmentSlot; import net.minestom.server.item.ItemStack; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -21,7 +19,7 @@ import java.util.stream.Collectors; import static net.minestom.server.network.NetworkBuffer.*; public record EntityEquipmentPacket(int entityId, - @NotNull Map equipments) implements ComponentHoldingServerPacket { + @NotNull Map equipments) implements ServerPacket.Play, ServerPacket.ComponentHolding { public EntityEquipmentPacket { equipments = Map.copyOf(equipments); if (equipments.isEmpty()) @@ -46,11 +44,8 @@ public record EntityEquipmentPacket(int entityId, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_EQUIPMENT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_EQUIPMENT; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityHeadLookPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityHeadLookPacket.java index d340623b2..6e0ec3f52 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityHeadLookPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityHeadLookPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record EntityHeadLookPacket(int entityId, float yaw) implements ServerPacket { +public record EntityHeadLookPacket(int entityId, float yaw) implements ServerPacket.Play { public EntityHeadLookPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), (reader.read(BYTE) * 360f) / 256f); } @@ -22,10 +20,7 @@ public record EntityHeadLookPacket(int entityId, float yaw) implements ServerPac } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_HEAD_LOOK; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_HEAD_LOOK; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityMetaDataPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityMetaDataPacket.java index 31c0347cb..900785f41 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityMetaDataPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityMetaDataPacket.java @@ -2,12 +2,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; import net.minestom.server.entity.Metadata; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -18,7 +16,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.*; public record EntityMetaDataPacket(int entityId, - @NotNull Map> entries) implements ComponentHoldingServerPacket { + @NotNull Map> entries) implements ServerPacket.Play, ServerPacket.ComponentHolding { public EntityMetaDataPacket { entries = Map.copyOf(entries); } @@ -51,11 +49,8 @@ public record EntityMetaDataPacket(int entityId, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_METADATA; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_METADATA; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityPositionAndRotationPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityPositionAndRotationPacket.java index 264ee4ba5..87858321e 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityPositionAndRotationPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityPositionAndRotationPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Pos; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; public record EntityPositionAndRotationPacket(int entityId, short deltaX, short deltaY, short deltaZ, - float yaw, float pitch, boolean onGround) implements ServerPacket { + float yaw, float pitch, boolean onGround) implements ServerPacket.Play { public EntityPositionAndRotationPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(SHORT), reader.read(SHORT), reader.read(SHORT), reader.read(BYTE) * 360f / 256f, reader.read(BYTE) * 360f / 256f, reader.read(BOOLEAN)); @@ -29,11 +27,8 @@ public record EntityPositionAndRotationPacket(int entityId, short deltaX, short } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_POSITION_AND_ROTATION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_POSITION_AND_ROTATION; } public static EntityPositionAndRotationPacket getPacket(int entityId, diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityPositionPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityPositionPacket.java index b08a410ce..ff3e63003 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityPositionPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityPositionPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Pos; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; public record EntityPositionPacket(int entityId, short deltaX, short deltaY, short deltaZ, boolean onGround) - implements ServerPacket { + implements ServerPacket.Play { public EntityPositionPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(SHORT), reader.read(SHORT), reader.read(SHORT), reader.read(BOOLEAN)); @@ -27,11 +25,8 @@ public record EntityPositionPacket(int entityId, short deltaX, short deltaY, sho } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_POSITION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_POSITION; } @NotNull diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityPropertiesPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityPropertiesPacket.java index 24673a3f0..32b786eb1 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityPropertiesPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityPropertiesPacket.java @@ -4,11 +4,9 @@ import net.minestom.server.attribute.Attribute; import net.minestom.server.attribute.AttributeInstance; import net.minestom.server.attribute.AttributeModifier; import net.minestom.server.attribute.AttributeOperation; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -16,7 +14,7 @@ import java.util.List; import static net.minestom.server.network.NetworkBuffer.*; -public record EntityPropertiesPacket(int entityId, List properties) implements ServerPacket { +public record EntityPropertiesPacket(int entityId, List properties) implements ServerPacket.Play { public static final int MAX_ENTRIES = 1024; public EntityPropertiesPacket { @@ -61,10 +59,7 @@ public record EntityPropertiesPacket(int entityId, List prope } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_PROPERTIES; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_PROPERTIES; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityRotationPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityRotationPacket.java index 1bd84bfc9..c4cb98a1f 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityRotationPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityRotationPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; -public record EntityRotationPacket(int entityId, float yaw, float pitch, boolean onGround) implements ServerPacket { +public record EntityRotationPacket(int entityId, float yaw, float pitch, boolean onGround) implements ServerPacket.Play { public EntityRotationPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(BYTE) * 360f / 256f, reader.read(BYTE) * 360f / 256f, reader.read(BOOLEAN)); } @@ -23,10 +21,7 @@ public record EntityRotationPacket(int entityId, float yaw, float pitch, boolean } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_ROTATION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_ROTATION; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntitySoundEffectPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntitySoundEffectPacket.java index 27802348e..259787148 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntitySoundEffectPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntitySoundEffectPacket.java @@ -2,12 +2,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.sound.Sound; import net.minestom.server.adventure.AdventurePacketConvertor; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.sound.SoundEvent; -import net.minestom.server.utils.PacketUtils; import net.minestom.server.utils.validate.Check; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -24,7 +22,7 @@ public record EntitySoundEffectPacket( float volume, float pitch, long seed -) implements ServerPacket { +) implements ServerPacket.Play { public EntitySoundEffectPacket { Check.argCondition(soundEvent == null && soundName == null, "soundEvent and soundName cannot both be null"); @@ -92,10 +90,7 @@ public record EntitySoundEffectPacket( } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_SOUND_EFFECT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_SOUND_EFFECT; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityStatusPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityStatusPacket.java index 19cdfaab6..f1ea56491 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityStatusPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityStatusPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; import static net.minestom.server.network.NetworkBuffer.INT; -public record EntityStatusPacket(int entityId, byte status) implements ServerPacket { +public record EntityStatusPacket(int entityId, byte status) implements ServerPacket.Play { public EntityStatusPacket(@NotNull NetworkBuffer reader) { this(reader.read(INT), reader.read(BYTE)); } @@ -22,10 +20,7 @@ public record EntityStatusPacket(int entityId, byte status) implements ServerPac } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_STATUS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_STATUS; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityTeleportPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityTeleportPacket.java index bca9879a2..c22e323f6 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityTeleportPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityTeleportPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Pos; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; -public record EntityTeleportPacket(int entityId, Pos position, boolean onGround) implements ServerPacket { +public record EntityTeleportPacket(int entityId, Pos position, boolean onGround) implements ServerPacket.Play { public EntityTeleportPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), new Pos(reader.read(DOUBLE), reader.read(DOUBLE), reader.read(DOUBLE), reader.read(BYTE) * 360f / 256f, reader.read(BYTE) * 360f / 256f), @@ -29,10 +27,7 @@ public record EntityTeleportPacket(int entityId, Pos position, boolean onGround) } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_TELEPORT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_TELEPORT; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/EntityVelocityPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/EntityVelocityPacket.java index 394fd738d..1590d1046 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/EntityVelocityPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/EntityVelocityPacket.java @@ -1,19 +1,17 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.utils.MathUtils; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.SHORT; import static net.minestom.server.network.NetworkBuffer.VAR_INT; public record EntityVelocityPacket(int entityId, short velocityX, short velocityY, - short velocityZ) implements ServerPacket { + short velocityZ) implements ServerPacket.Play { public EntityVelocityPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(SHORT), reader.read(SHORT), reader.read(SHORT)); } @@ -36,10 +34,7 @@ public record EntityVelocityPacket(int entityId, short velocityX, short velocity } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.ENTITY_VELOCITY; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.ENTITY_VELOCITY; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ExplosionPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ExplosionPacket.java index bb60bebdf..70c15f6d8 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ExplosionPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ExplosionPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.particle.Particle; import net.minestom.server.sound.SoundEvent; -import net.minestom.server.utils.PacketUtils; import net.minestom.server.utils.binary.BinaryWriter; import org.jetbrains.annotations.NotNull; @@ -18,7 +16,7 @@ public record ExplosionPacket(double x, double y, double z, float radius, @NotNull BlockInteraction blockInteraction, int smallParticleId, byte @NotNull [] smallParticleData, int largeParticleId, byte @NotNull [] largeParticleData, - @NotNull String soundName, boolean hasFixedSoundRange, float soundRange) implements ServerPacket { + @NotNull String soundName, boolean hasFixedSoundRange, float soundRange) implements ServerPacket.Play { private static @NotNull ExplosionPacket fromReader(@NotNull NetworkBuffer reader) { double x = reader.read(DOUBLE), y = reader.read(DOUBLE), z = reader.read(DOUBLE); float radius = reader.read(FLOAT); @@ -107,11 +105,8 @@ public record ExplosionPacket(double x, double y, double z, float radius, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.EXPLOSION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.EXPLOSION; } public enum BlockInteraction { diff --git a/src/main/java/net/minestom/server/network/packet/server/play/FacePlayerPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/FacePlayerPacket.java index 1225194ba..edc478175 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/FacePlayerPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/FacePlayerPacket.java @@ -2,17 +2,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; import net.minestom.server.coordinate.Vec; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; public record FacePlayerPacket(FacePosition facePosition, - Point target, int entityId, FacePosition entityFacePosition) implements ServerPacket { + Point target, int entityId, FacePosition entityFacePosition) implements ServerPacket.Play { public FacePlayerPacket(@NotNull NetworkBuffer reader) { this(FacePosition.values()[reader.read(VAR_INT)], new Vec(reader.read(DOUBLE), reader.read(DOUBLE), reader.read(DOUBLE)), @@ -35,11 +33,8 @@ public record FacePlayerPacket(FacePosition facePosition, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.FACE_PLAYER; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.FACE_PLAYER; } public enum FacePosition { diff --git a/src/main/java/net/minestom/server/network/packet/server/play/HeldItemChangePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/HeldItemChangePacket.java index 4740ee7da..39217b309 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/HeldItemChangePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/HeldItemChangePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; -public record HeldItemChangePacket(byte slot) implements ServerPacket { +public record HeldItemChangePacket(byte slot) implements ServerPacket.Play { public HeldItemChangePacket(@NotNull NetworkBuffer reader) { this(reader.read(BYTE)); } @@ -20,10 +18,7 @@ public record HeldItemChangePacket(byte slot) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.HELD_ITEM_CHANGE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.HELD_ITEM_CHANGE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/HitAnimationPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/HitAnimationPacket.java index 3e8b61488..bb1bcd92c 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/HitAnimationPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/HitAnimationPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.FLOAT; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record HitAnimationPacket(int entityId, float yaw) implements ServerPacket { +public record HitAnimationPacket(int entityId, float yaw) implements ServerPacket.Play { public HitAnimationPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(FLOAT)); @@ -23,10 +21,7 @@ public record HitAnimationPacket(int entityId, float yaw) implements ServerPacke } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.HIT_ANIMATION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.HIT_ANIMATION; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/InitializeWorldBorderPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/InitializeWorldBorderPacket.java index 4c6e401bd..51754412b 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/InitializeWorldBorderPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/InitializeWorldBorderPacket.java @@ -1,10 +1,8 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; @@ -12,7 +10,7 @@ import static net.minestom.server.network.NetworkBuffer.*; public record InitializeWorldBorderPacket(double x, double z, double oldDiameter, double newDiameter, long speed, int portalTeleportBoundary, int warningTime, - int warningBlocks) implements ServerPacket { + int warningBlocks) implements ServerPacket.Play { public InitializeWorldBorderPacket(@NotNull NetworkBuffer reader) { this(reader.read(DOUBLE), reader.read(DOUBLE), reader.read(DOUBLE), reader.read(DOUBLE), @@ -32,10 +30,7 @@ public record InitializeWorldBorderPacket(double x, double z, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.INITIALIZE_WORLD_BORDER; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.INITIALIZE_WORLD_BORDER; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/JoinGamePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/JoinGamePacket.java index 074b76c19..9adfcec86 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/JoinGamePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/JoinGamePacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.entity.GameMode; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.network.packet.server.play.data.DeathLocation; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -20,7 +18,7 @@ public record JoinGamePacket( boolean doLimitedCrafting, String dimensionType, String world, long hashedSeed, GameMode gameMode, GameMode previousGameMode, boolean isDebug, boolean isFlat, DeathLocation deathLocation, int portalCooldown -) implements ServerPacket { +) implements ServerPacket.Play { public static final int MAX_WORLDS = Short.MAX_VALUE; public JoinGamePacket { @@ -79,11 +77,8 @@ public record JoinGamePacket( } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.JOIN_GAME; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.JOIN_GAME; } /** diff --git a/src/main/java/net/minestom/server/network/packet/server/play/MapDataPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/MapDataPacket.java index 123cf69ef..1cc52751e 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/MapDataPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/MapDataPacket.java @@ -1,11 +1,9 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -15,7 +13,7 @@ import static net.minestom.server.network.NetworkBuffer.*; public record MapDataPacket(int mapId, byte scale, boolean locked, boolean trackingPosition, @NotNull List icons, - @Nullable MapDataPacket.ColorContent colorContent) implements ServerPacket { + @Nullable MapDataPacket.ColorContent colorContent) implements ServerPacket.Play { public static final int MAX_ICONS = 1024; public MapDataPacket { @@ -65,11 +63,8 @@ public record MapDataPacket(int mapId, byte scale, boolean locked, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.MAP_DATA; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.MAP_DATA; } public record Icon(int type, byte x, byte z, byte direction, diff --git a/src/main/java/net/minestom/server/network/packet/server/play/MultiBlockChangePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/MultiBlockChangePacket.java index 6bca0c7b9..5e3d4f327 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/MultiBlockChangePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/MultiBlockChangePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; -public record MultiBlockChangePacket(long chunkSectionPosition, long[] blocks) implements ServerPacket { +public record MultiBlockChangePacket(long chunkSectionPosition, long[] blocks) implements ServerPacket.Play { public MultiBlockChangePacket(int chunkX, int section, int chunkZ, long[] blocks) { this(((long) (chunkX & 0x3FFFFF) << 42) | (section & 0xFFFFF) | ((long) (chunkZ & 0x3FFFFF) << 20), blocks); @@ -26,10 +24,7 @@ public record MultiBlockChangePacket(long chunkSectionPosition, long[] blocks) i } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.MULTI_BLOCK_CHANGE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.MULTI_BLOCK_CHANGE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/NbtQueryResponsePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/NbtQueryResponsePacket.java index 45bdd1465..904009817 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/NbtQueryResponsePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/NbtQueryResponsePacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jglrxavpok.hephaistos.nbt.NBTCompound; import static net.minestom.server.network.NetworkBuffer.*; -public record NbtQueryResponsePacket(int transactionId, NBTCompound data) implements ServerPacket { +public record NbtQueryResponsePacket(int transactionId, NBTCompound data) implements ServerPacket.Play { public NbtQueryResponsePacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), (NBTCompound) reader.read(NBT)); } @@ -27,10 +25,7 @@ public record NbtQueryResponsePacket(int transactionId, NBTCompound data) implem } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.NBT_QUERY_RESPONSE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.NBT_QUERY_RESPONSE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/OpenBookPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/OpenBookPacket.java index 64b698a9e..5a63eb8b7 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/OpenBookPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/OpenBookPacket.java @@ -1,14 +1,12 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.entity.Player; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; -public record OpenBookPacket(@NotNull Player.Hand hand) implements ServerPacket { +public record OpenBookPacket(@NotNull Player.Hand hand) implements ServerPacket.Play { public OpenBookPacket(@NotNull NetworkBuffer reader) { this(reader.readEnum(Player.Hand.class)); } @@ -19,10 +17,7 @@ public record OpenBookPacket(@NotNull Player.Hand hand) implements ServerPacket } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.OPEN_BOOK; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.OPEN_BOOK; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/OpenHorseWindowPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/OpenHorseWindowPacket.java index b86bc3d9f..2b524a991 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/OpenHorseWindowPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/OpenHorseWindowPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; -public record OpenHorseWindowPacket(byte windowId, int slotCount, int entityId) implements ServerPacket { +public record OpenHorseWindowPacket(byte windowId, int slotCount, int entityId) implements ServerPacket.Play { public OpenHorseWindowPacket(@NotNull NetworkBuffer reader) { this(reader.read(BYTE), reader.read(VAR_INT), reader.read(INT)); } @@ -22,10 +20,7 @@ public record OpenHorseWindowPacket(byte windowId, int slotCount, int entityId) } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.OPEN_HORSE_WINDOW; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.OPEN_HORSE_WINDOW; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/OpenSignEditorPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/OpenSignEditorPacket.java index 316879acd..7fdd341d0 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/OpenSignEditorPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/OpenSignEditorPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BLOCK_POSITION; import static net.minestom.server.network.NetworkBuffer.BOOLEAN; -public record OpenSignEditorPacket(@NotNull Point position, boolean isFrontText) implements ServerPacket { +public record OpenSignEditorPacket(@NotNull Point position, boolean isFrontText) implements ServerPacket.Play { public OpenSignEditorPacket(@NotNull NetworkBuffer reader) { this(reader.read(BLOCK_POSITION), reader.read(BOOLEAN)); } @@ -23,10 +21,7 @@ public record OpenSignEditorPacket(@NotNull Point position, boolean isFrontText) } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.OPEN_SIGN_EDITOR; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.OPEN_SIGN_EDITOR; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/OpenWindowPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/OpenWindowPacket.java index d49daceac..dcada15dd 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/OpenWindowPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/OpenWindowPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -17,7 +15,7 @@ import static net.minestom.server.network.NetworkBuffer.COMPONENT; import static net.minestom.server.network.NetworkBuffer.VAR_INT; public record OpenWindowPacket(int windowId, int windowType, - @NotNull Component title) implements ComponentHoldingServerPacket { + @NotNull Component title) implements ServerPacket.Play, ServerPacket.ComponentHolding { public OpenWindowPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(VAR_INT), reader.read(COMPONENT)); } @@ -30,11 +28,8 @@ public record OpenWindowPacket(int windowId, int windowType, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.OPEN_WINDOW; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.OPEN_WINDOW; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ParticlePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ParticlePacket.java index 4dee68c4a..c3be1a7ec 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ParticlePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ParticlePacket.java @@ -1,19 +1,17 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.particle.Particle; import net.minestom.server.particle.data.ParticleData; -import net.minestom.server.utils.PacketUtils; import net.minestom.server.utils.validate.Check; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import static net.minestom.server.network.NetworkBuffer.*; -public record ParticlePacket(int particleId, boolean longDistance, double x, double y, double z, float offsetX, float offsetY, float offsetZ, float maxSpeed, int particleCount, @Nullable ParticleData data) implements ServerPacket { +public record ParticlePacket(int particleId, boolean longDistance, double x, double y, double z, float offsetX, float offsetY, float offsetZ, float maxSpeed, int particleCount, @Nullable ParticleData data) implements ServerPacket.Play { private ParticlePacket(ParticlePacket copy) { this(copy.particleId, copy.longDistance, copy.x, copy.y, copy.z, copy.offsetX, copy.offsetY, copy.offsetZ, copy.maxSpeed, copy.particleCount, copy.data); } @@ -66,10 +64,7 @@ public record ParticlePacket(int particleId, boolean longDistance, double x, dou } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.PARTICLE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.PARTICLE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/PlayerAbilitiesPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/PlayerAbilitiesPacket.java index 08de4b410..6ec615185 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/PlayerAbilitiesPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/PlayerAbilitiesPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; import static net.minestom.server.network.NetworkBuffer.FLOAT; -public record PlayerAbilitiesPacket(byte flags, float flyingSpeed, float walkingSpeed) implements ServerPacket { +public record PlayerAbilitiesPacket(byte flags, float flyingSpeed, float walkingSpeed) implements ServerPacket.Play { public static final byte FLAG_INVULNERABLE = 0x01; public static final byte FLAG_FLYING = 0x02; public static final byte FLAG_ALLOW_FLYING = 0x04; @@ -28,10 +26,7 @@ public record PlayerAbilitiesPacket(byte flags, float flyingSpeed, float walking } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.PLAYER_ABILITIES; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.PLAYER_ABILITIES; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/PlayerChatMessagePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/PlayerChatMessagePacket.java index c51b4f59e..d193e4db4 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/PlayerChatMessagePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/PlayerChatMessagePacket.java @@ -3,12 +3,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; import net.minestom.server.crypto.FilterMask; import net.minestom.server.crypto.SignedMessageBody; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -27,7 +25,7 @@ public record PlayerChatMessagePacket(UUID sender, int index, byte @Nullable [] SignedMessageBody.@NotNull Packed messageBody, @Nullable Component unsignedContent, FilterMask filterMask, int msgTypeId, Component msgTypeName, - @Nullable Component msgTypeTarget) implements ComponentHoldingServerPacket { + @Nullable Component msgTypeTarget) implements ServerPacket.Play, ServerPacket.ComponentHolding { public PlayerChatMessagePacket(@NotNull NetworkBuffer reader) { this(reader.read(UUID), reader.read(VAR_INT), reader.readOptional(r -> r.readBytes(256)), new SignedMessageBody.Packed(reader), @@ -50,11 +48,8 @@ public record PlayerChatMessagePacket(UUID sender, int index, byte @Nullable [] } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.PLAYER_CHAT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.PLAYER_CHAT; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/PlayerInfoRemovePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/PlayerInfoRemovePacket.java index 44fd52ce0..61a7246d8 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/PlayerInfoRemovePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/PlayerInfoRemovePacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.List; import java.util.UUID; -public record PlayerInfoRemovePacket(@NotNull List<@NotNull UUID> uuids) implements ServerPacket { +public record PlayerInfoRemovePacket(@NotNull List<@NotNull UUID> uuids) implements ServerPacket.Play { public static final int MAX_ENTRIES = 1024; public PlayerInfoRemovePacket(@NotNull UUID uuid) { @@ -31,10 +29,7 @@ public record PlayerInfoRemovePacket(@NotNull List<@NotNull UUID> uuids) impleme } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.PLAYER_INFO_REMOVE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.PLAYER_INFO_REMOVE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/PlayerInfoUpdatePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/PlayerInfoUpdatePacket.java index 9c3480cc8..7b8132a96 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/PlayerInfoUpdatePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/PlayerInfoUpdatePacket.java @@ -3,12 +3,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; import net.minestom.server.crypto.ChatSession; import net.minestom.server.entity.GameMode; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.network.player.GameProfile; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -19,7 +17,7 @@ import java.util.UUID; import static net.minestom.server.network.NetworkBuffer.*; -public final class PlayerInfoUpdatePacket implements ServerPacket { +public final class PlayerInfoUpdatePacket implements ServerPacket.Play { public static final int MAX_ENTRIES = 1024; private final @NotNull EnumSet<@NotNull Action> actions; @@ -75,11 +73,8 @@ public final class PlayerInfoUpdatePacket implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.PLAYER_INFO_UPDATE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.PLAYER_INFO_UPDATE; } public @NotNull EnumSet actions() { diff --git a/src/main/java/net/minestom/server/network/packet/server/play/PlayerListHeaderAndFooterPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/PlayerListHeaderAndFooterPacket.java index 10208ab6b..298ace319 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/PlayerListHeaderAndFooterPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/PlayerListHeaderAndFooterPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -16,7 +14,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.COMPONENT; public record PlayerListHeaderAndFooterPacket(@NotNull Component header, - @NotNull Component footer) implements ComponentHoldingServerPacket { + @NotNull Component footer) implements ServerPacket.Play, ServerPacket.ComponentHolding { public PlayerListHeaderAndFooterPacket(@NotNull NetworkBuffer reader) { this(reader.read(COMPONENT), reader.read(COMPONENT)); } @@ -38,10 +36,7 @@ public record PlayerListHeaderAndFooterPacket(@NotNull Component header, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.PLAYER_LIST_HEADER_AND_FOOTER; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.PLAYER_LIST_HEADER_AND_FOOTER; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/PlayerPositionAndLookPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/PlayerPositionAndLookPacket.java index 2d84871b9..616ccf927 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/PlayerPositionAndLookPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/PlayerPositionAndLookPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Pos; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; -public record PlayerPositionAndLookPacket(Pos position, byte flags, int teleportId) implements ServerPacket { +public record PlayerPositionAndLookPacket(Pos position, byte flags, int teleportId) implements ServerPacket.Play { public PlayerPositionAndLookPacket(@NotNull NetworkBuffer reader) { this(new Pos(reader.read(DOUBLE), reader.read(DOUBLE), reader.read(DOUBLE), reader.read(FLOAT), reader.read(FLOAT)), reader.read(BYTE), reader.read(VAR_INT)); @@ -30,10 +28,7 @@ public record PlayerPositionAndLookPacket(Pos position, byte flags, int teleport } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.PLAYER_POSITION_AND_LOOK; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.PLAYER_POSITION_AND_LOOK; } } \ No newline at end of file diff --git a/src/main/java/net/minestom/server/network/packet/server/play/RemoveEntityEffectPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/RemoveEntityEffectPacket.java index a9b4f1e62..f95257b28 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/RemoveEntityEffectPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/RemoveEntityEffectPacket.java @@ -1,18 +1,16 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.potion.PotionEffect; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Objects; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record RemoveEntityEffectPacket(int entityId, @NotNull PotionEffect potionEffect) implements ServerPacket { +public record RemoveEntityEffectPacket(int entityId, @NotNull PotionEffect potionEffect) implements ServerPacket.Play { public RemoveEntityEffectPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), Objects.requireNonNull(PotionEffect.fromId(reader.read(VAR_INT)))); } @@ -24,10 +22,7 @@ public record RemoveEntityEffectPacket(int entityId, @NotNull PotionEffect potio } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.REMOVE_ENTITY_EFFECT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.REMOVE_ENTITY_EFFECT; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ResetScorePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ResetScorePacket.java index b56fbaa82..718930042 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ResetScorePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ResetScorePacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import static net.minestom.server.network.NetworkBuffer.STRING; -public record ResetScorePacket(@NotNull String owner, @Nullable String objective) implements ServerPacket { +public record ResetScorePacket(@NotNull String owner, @Nullable String objective) implements ServerPacket.Play { public ResetScorePacket(@NotNull NetworkBuffer reader) { this(reader.read(STRING), reader.readOptional(STRING)); @@ -23,10 +21,7 @@ public record ResetScorePacket(@NotNull String owner, @Nullable String objective } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.RESET_SCORE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.RESET_SCORE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/RespawnPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/RespawnPacket.java index b549e65f3..1a66bdf66 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/RespawnPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/RespawnPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.entity.GameMode; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.network.packet.server.play.data.DeathLocation; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; @@ -16,7 +14,7 @@ public record RespawnPacket( long hashedSeed, GameMode gameMode, GameMode previousGameMode, boolean isDebug, boolean isFlat, DeathLocation deathLocation, int portalCooldown, int copyData -) implements ServerPacket { +) implements ServerPacket.Play { public static final int COPY_NONE = 0x0; public static final int COPY_ATTRIBUTES = 0x1; public static final int COPY_METADATA = 0x2; @@ -46,10 +44,7 @@ public record RespawnPacket( } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.RESPAWN; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.RESPAWN; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ScoreboardObjectivePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ScoreboardObjectivePacket.java index 7dbd48ac6..18e8289b1 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ScoreboardObjectivePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ScoreboardObjectivePacket.java @@ -1,13 +1,11 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.scoreboard.Sidebar; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -20,7 +18,7 @@ import static net.minestom.server.network.NetworkBuffer.*; public record ScoreboardObjectivePacket(@NotNull String objectiveName, byte mode, @Nullable Component objectiveValue, @Nullable Type type, - @Nullable Sidebar.NumberFormat numberFormat) implements ComponentHoldingServerPacket { + @Nullable Sidebar.NumberFormat numberFormat) implements ServerPacket.Play, ServerPacket.ComponentHolding { public ScoreboardObjectivePacket(@NotNull NetworkBuffer reader) { this(read(reader)); } @@ -57,11 +55,8 @@ public record ScoreboardObjectivePacket(@NotNull String objectiveName, byte mode } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SCOREBOARD_OBJECTIVE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SCOREBOARD_OBJECTIVE; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SelectAdvancementTabPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SelectAdvancementTabPacket.java index a97b4598c..747c792b8 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SelectAdvancementTabPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SelectAdvancementTabPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import static net.minestom.server.network.NetworkBuffer.STRING; -public record SelectAdvancementTabPacket(@Nullable String identifier) implements ServerPacket { +public record SelectAdvancementTabPacket(@Nullable String identifier) implements ServerPacket.Play { public SelectAdvancementTabPacket(@NotNull NetworkBuffer reader) { this(reader.readOptional(STRING)); } @@ -21,10 +19,7 @@ public record SelectAdvancementTabPacket(@Nullable String identifier) implements } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SELECT_ADVANCEMENT_TAB; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SELECT_ADVANCEMENT_TAB; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ServerDataPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ServerDataPacket.java index 299c47d40..3f9db24ca 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ServerDataPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ServerDataPacket.java @@ -1,18 +1,16 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import static net.minestom.server.network.NetworkBuffer.*; public record ServerDataPacket(@Nullable Component motd, byte @Nullable [] iconBase64, - boolean enforcesSecureChat) implements ServerPacket { + boolean enforcesSecureChat) implements ServerPacket.Play { public ServerDataPacket(@NotNull NetworkBuffer reader) { this(reader.read(COMPONENT), reader.readOptional(BYTE_ARRAY), reader.read(BOOLEAN)); @@ -26,10 +24,7 @@ public record ServerDataPacket(@Nullable Component motd, byte @Nullable [] iconB } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SERVER_DATA; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SERVER_DATA; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ServerDifficultyPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ServerDifficultyPacket.java index 712dcf418..194995b63 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ServerDifficultyPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ServerDifficultyPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import net.minestom.server.world.Difficulty; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BOOLEAN; -public record ServerDifficultyPacket(@NotNull Difficulty difficulty, boolean locked) implements ServerPacket { +public record ServerDifficultyPacket(@NotNull Difficulty difficulty, boolean locked) implements ServerPacket.Play { public ServerDifficultyPacket(@NotNull NetworkBuffer reader) { this(reader.readEnum(Difficulty.class), reader.read(BOOLEAN)); } @@ -22,10 +20,7 @@ public record ServerDifficultyPacket(@NotNull Difficulty difficulty, boolean loc } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SERVER_DIFFICULTY; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SERVER_DIFFICULTY; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SetCooldownPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SetCooldownPacket.java index 70b3b9424..ca88551cf 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SetCooldownPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SetCooldownPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record SetCooldownPacket(int itemId, int cooldownTicks) implements ServerPacket { +public record SetCooldownPacket(int itemId, int cooldownTicks) implements ServerPacket.Play { public SetCooldownPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(VAR_INT)); } @@ -21,10 +19,7 @@ public record SetCooldownPacket(int itemId, int cooldownTicks) implements Server } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SET_COOLDOWN; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SET_COOLDOWN; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SetExperiencePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SetExperiencePacket.java index e8ac670ea..8cd7c3dd2 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SetExperiencePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SetExperiencePacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.FLOAT; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record SetExperiencePacket(float percentage, int level, int totalExperience) implements ServerPacket { +public record SetExperiencePacket(float percentage, int level, int totalExperience) implements ServerPacket.Play { public SetExperiencePacket(@NotNull NetworkBuffer reader) { this(reader.read(FLOAT), reader.read(VAR_INT), reader.read(VAR_INT)); } @@ -23,10 +21,7 @@ public record SetExperiencePacket(float percentage, int level, int totalExperien } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SET_EXPERIENCE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SET_EXPERIENCE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SetPassengersPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SetPassengersPacket.java index 052e27157..f95a973bd 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SetPassengersPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SetPassengersPacket.java @@ -1,10 +1,8 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.List; @@ -12,7 +10,7 @@ import java.util.List; import static net.minestom.server.network.NetworkBuffer.VAR_INT; public record SetPassengersPacket(int vehicleEntityId, - @NotNull List passengersId) implements ServerPacket { + @NotNull List passengersId) implements ServerPacket.Play { public static final int MAX_PASSENGERS = 16384; public SetPassengersPacket { @@ -30,10 +28,7 @@ public record SetPassengersPacket(int vehicleEntityId, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SET_PASSENGERS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SET_PASSENGERS; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SetSlotPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SetSlotPacket.java index 64aecebf4..1be1adafa 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SetSlotPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SetSlotPacket.java @@ -2,12 +2,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; import net.minestom.server.item.ItemStack; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -18,7 +16,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.*; public record SetSlotPacket(byte windowId, int stateId, short slot, - @NotNull ItemStack itemStack) implements ComponentHoldingServerPacket { + @NotNull ItemStack itemStack) implements ServerPacket.Play, ServerPacket.ComponentHolding { public SetSlotPacket(@NotNull NetworkBuffer reader) { this(reader.read(BYTE), reader.read(VAR_INT), reader.read(SHORT), reader.read(ITEM)); @@ -33,11 +31,8 @@ public record SetSlotPacket(byte windowId, int stateId, short slot, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SET_SLOT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SET_SLOT; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SetTickStatePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SetTickStatePacket.java index 7b398422b..b080b61c4 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SetTickStatePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SetTickStatePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; -public record SetTickStatePacket(float tickRate, boolean isFrozen) implements ServerPacket { +public record SetTickStatePacket(float tickRate, boolean isFrozen) implements ServerPacket.Play { public SetTickStatePacket(@NotNull NetworkBuffer reader) { this(reader.read(FLOAT), reader.read(BOOLEAN)); @@ -22,10 +20,7 @@ public record SetTickStatePacket(float tickRate, boolean isFrozen) implements Se } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.TICK_STATE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.TICK_STATE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SetTitleSubTitlePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SetTitleSubTitlePacket.java index fbe13e32d..5657f37e0 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SetTitleSubTitlePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SetTitleSubTitlePacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -15,7 +13,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.COMPONENT; -public record SetTitleSubTitlePacket(@NotNull Component subtitle) implements ComponentHoldingServerPacket { +public record SetTitleSubTitlePacket(@NotNull Component subtitle) implements ServerPacket.Play, ServerPacket.ComponentHolding { public SetTitleSubTitlePacket(@NotNull NetworkBuffer reader) { this(reader.read(COMPONENT)); } @@ -26,11 +24,8 @@ public record SetTitleSubTitlePacket(@NotNull Component subtitle) implements Com } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SET_TITLE_SUBTITLE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SET_TITLE_SUBTITLE; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SetTitleTextPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SetTitleTextPacket.java index e4f8e62a8..fcd312794 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SetTitleTextPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SetTitleTextPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -15,7 +13,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.COMPONENT; -public record SetTitleTextPacket(@NotNull Component title) implements ComponentHoldingServerPacket { +public record SetTitleTextPacket(@NotNull Component title) implements ServerPacket.Play, ServerPacket.ComponentHolding { public SetTitleTextPacket(@NotNull NetworkBuffer reader) { this(reader.read(COMPONENT)); } @@ -26,11 +24,8 @@ public record SetTitleTextPacket(@NotNull Component title) implements ComponentH } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SET_TITLE_TEXT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SET_TITLE_TEXT; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SetTitleTimePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SetTitleTimePacket.java index 030ed978f..c9eacdd00 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SetTitleTimePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SetTitleTimePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.INT; -public record SetTitleTimePacket(int fadeIn, int stay, int fadeOut) implements ServerPacket { +public record SetTitleTimePacket(int fadeIn, int stay, int fadeOut) implements ServerPacket.Play { public SetTitleTimePacket(@NotNull NetworkBuffer reader) { this(reader.read(INT), reader.read(INT), reader.read(INT)); } @@ -22,10 +20,7 @@ public record SetTitleTimePacket(int fadeIn, int stay, int fadeOut) implements S } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SET_TITLE_TIME; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SET_TITLE_TIME; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SoundEffectPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SoundEffectPacket.java index 463a705cb..831c157a4 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SoundEffectPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SoundEffectPacket.java @@ -3,12 +3,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.sound.Sound.Source; import net.minestom.server.adventure.AdventurePacketConvertor; import net.minestom.server.coordinate.Point; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.sound.SoundEvent; -import net.minestom.server.utils.PacketUtils; import net.minestom.server.utils.validate.Check; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -27,7 +25,7 @@ public record SoundEffectPacket( float volume, float pitch, long seed -) implements ServerPacket { +) implements ServerPacket.Play { public SoundEffectPacket { Check.argCondition(soundEvent == null && soundName == null, "soundEvent and soundName cannot both be null"); @@ -100,10 +98,7 @@ public record SoundEffectPacket( } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SOUND_EFFECT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SOUND_EFFECT; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SpawnEntityPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SpawnEntityPacket.java index 270219a98..ac70d9d48 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SpawnEntityPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SpawnEntityPacket.java @@ -1,11 +1,9 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Pos; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.UUID; @@ -14,7 +12,7 @@ import static net.minestom.server.network.NetworkBuffer.*; public record SpawnEntityPacket(int entityId, @NotNull UUID uuid, int type, @NotNull Pos position, float headRot, int data, - short velocityX, short velocityY, short velocityZ) implements ServerPacket { + short velocityX, short velocityY, short velocityZ) implements ServerPacket.Play { public SpawnEntityPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(UUID), reader.read(VAR_INT), new Pos(reader.read(DOUBLE), reader.read(DOUBLE), reader.read(DOUBLE), @@ -44,10 +42,7 @@ public record SpawnEntityPacket(int entityId, @NotNull UUID uuid, int type, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SPAWN_ENTITY; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SPAWN_ENTITY; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SpawnExperienceOrbPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SpawnExperienceOrbPacket.java index 381b7cd46..764b12a5e 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SpawnExperienceOrbPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SpawnExperienceOrbPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Pos; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.*; public record SpawnExperienceOrbPacket(int entityId, - @NotNull Pos position, short expCount) implements ServerPacket { + @NotNull Pos position, short expCount) implements ServerPacket.Play { public SpawnExperienceOrbPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), new Pos(reader.read(DOUBLE), reader.read(DOUBLE), reader.read(DOUBLE)), reader.read(SHORT)); @@ -27,10 +25,7 @@ public record SpawnExperienceOrbPacket(int entityId, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SPAWN_EXPERIENCE_ORB; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SPAWN_EXPERIENCE_ORB; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SpawnPositionPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SpawnPositionPacket.java index e0612ca6f..119463f59 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SpawnPositionPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SpawnPositionPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Point; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BLOCK_POSITION; import static net.minestom.server.network.NetworkBuffer.FLOAT; -public record SpawnPositionPacket(@NotNull Point position, float angle) implements ServerPacket { +public record SpawnPositionPacket(@NotNull Point position, float angle) implements ServerPacket.Play { public SpawnPositionPacket(@NotNull NetworkBuffer reader) { this(reader.read(BLOCK_POSITION), reader.read(FLOAT)); } @@ -23,10 +21,7 @@ public record SpawnPositionPacket(@NotNull Point position, float angle) implemen } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SPAWN_POSITION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SPAWN_POSITION; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/StartConfigurationPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/StartConfigurationPacket.java index 9e756cdc5..60c4928a1 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/StartConfigurationPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/StartConfigurationPacket.java @@ -1,25 +1,20 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public record StartConfigurationPacket() implements ServerPacket { +public record StartConfigurationPacket() implements ServerPacket.Play { @Override public void write(@NotNull NetworkBuffer writer) { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.START_CONFIGURATION_PACKET; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.START_CONFIGURATION_PACKET; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/StatisticsPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/StatisticsPacket.java index 8f41efd87..1a34e326a 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/StatisticsPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/StatisticsPacket.java @@ -1,18 +1,16 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.statistic.StatisticCategory; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.List; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record StatisticsPacket(@NotNull List statistics) implements ServerPacket { +public record StatisticsPacket(@NotNull List statistics) implements ServerPacket.Play { public static final int MAX_ENTRIES = 16384; public StatisticsPacket { @@ -29,11 +27,8 @@ public record StatisticsPacket(@NotNull List statistics) implements S } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.STATISTICS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.STATISTICS; } public record Statistic(@NotNull StatisticCategory category, diff --git a/src/main/java/net/minestom/server/network/packet/server/play/StopSoundPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/StopSoundPacket.java index e8fa7e7b9..b4c219645 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/StopSoundPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/StopSoundPacket.java @@ -2,18 +2,16 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.sound.Sound; import net.minestom.server.adventure.AdventurePacketConvertor; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import static net.minestom.server.network.NetworkBuffer.*; public record StopSoundPacket(byte flags, @Nullable Sound.Source source, - @Nullable String sound) implements ServerPacket { + @Nullable String sound) implements ServerPacket.Play { public StopSoundPacket(@NotNull NetworkBuffer reader) { this(read(reader)); } @@ -43,10 +41,7 @@ public record StopSoundPacket(byte flags, @Nullable Sound.Source source, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.STOP_SOUND; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.STOP_SOUND; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/SystemChatPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/SystemChatPacket.java index bb46260b8..6a86a3f9a 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/SystemChatPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/SystemChatPacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -16,7 +14,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.BOOLEAN; import static net.minestom.server.network.NetworkBuffer.COMPONENT; -public record SystemChatPacket(@NotNull Component message, boolean overlay) implements ComponentHoldingServerPacket { +public record SystemChatPacket(@NotNull Component message, boolean overlay) implements ServerPacket.Play, ServerPacket.ComponentHolding { public SystemChatPacket(@NotNull NetworkBuffer reader) { this(reader.read(COMPONENT), reader.read(BOOLEAN)); } @@ -28,11 +26,8 @@ public record SystemChatPacket(@NotNull Component message, boolean overlay) impl } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SYSTEM_CHAT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SYSTEM_CHAT; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/TabCompletePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/TabCompletePacket.java index 01637de7c..39b2e1569 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/TabCompletePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/TabCompletePacket.java @@ -2,12 +2,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; import net.minestom.server.adventure.ComponentHolder; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -19,7 +17,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.*; public record TabCompletePacket(int transactionId, int start, int length, - @NotNull List matches) implements ComponentHoldingServerPacket { + @NotNull List matches) implements ServerPacket.Play, ServerPacket.ComponentHolding { public static final int MAX_ENTRIES = Short.MAX_VALUE; public TabCompletePacket { @@ -39,11 +37,8 @@ public record TabCompletePacket(int transactionId, int start, int length, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.TAB_COMPLETE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.TAB_COMPLETE; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/TeamsPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/TeamsPacket.java index 3c4641012..005655261 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/TeamsPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/TeamsPacket.java @@ -4,12 +4,10 @@ import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import net.minestom.server.adventure.AdventurePacketConvertor; import net.minestom.server.adventure.ComponentHolder; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import net.minestom.server.utils.validate.Check; import org.jetbrains.annotations.NotNull; @@ -22,7 +20,7 @@ import static net.minestom.server.network.NetworkBuffer.*; /** * The packet creates or updates teams */ -public record TeamsPacket(String teamName, Action action) implements ComponentHoldingServerPacket { +public record TeamsPacket(String teamName, Action action) implements ServerPacket.Play, ServerPacket.ComponentHolding { public static final int MAX_MEMBERS = 16384; public TeamsPacket(@NotNull NetworkBuffer reader) { @@ -220,11 +218,8 @@ public record TeamsPacket(String teamName, Action action) implements ComponentHo * @return the identifier */ @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.TEAMS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.TEAMS; } /** diff --git a/src/main/java/net/minestom/server/network/packet/server/play/TickStepPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/TickStepPacket.java index 597709473..7c654aebb 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/TickStepPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/TickStepPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record TickStepPacket(int steps) implements ServerPacket { +public record TickStepPacket(int steps) implements ServerPacket.Play { public TickStepPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT)); @@ -21,10 +19,7 @@ public record TickStepPacket(int steps) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.TICK_STEP; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.TICK_STEP; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/TimeUpdatePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/TimeUpdatePacket.java index e38763588..5a77d69f7 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/TimeUpdatePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/TimeUpdatePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.LONG; -public record TimeUpdatePacket(long worldAge, long timeOfDay) implements ServerPacket { +public record TimeUpdatePacket(long worldAge, long timeOfDay) implements ServerPacket.Play { public TimeUpdatePacket(@NotNull NetworkBuffer reader) { this(reader.read(LONG), reader.read(LONG)); } @@ -21,10 +19,7 @@ public record TimeUpdatePacket(long worldAge, long timeOfDay) implements ServerP } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.TIME_UPDATE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.TIME_UPDATE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/TradeListPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/TradeListPacket.java index 218b7d83c..baffa039a 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/TradeListPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/TradeListPacket.java @@ -1,11 +1,9 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.item.ItemStack; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.List; @@ -14,7 +12,7 @@ import static net.minestom.server.network.NetworkBuffer.*; public record TradeListPacket(int windowId, @NotNull List trades, int villagerLevel, int experience, - boolean regularVillager, boolean canRestock) implements ServerPacket { + boolean regularVillager, boolean canRestock) implements ServerPacket.Play { public static final int MAX_TRADES = Short.MAX_VALUE; public TradeListPacket { @@ -38,11 +36,8 @@ public record TradeListPacket(int windowId, @NotNull List trades, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.TRADE_LIST; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.TRADE_LIST; } public record Trade(ItemStack inputItem1, ItemStack result, diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UnloadChunkPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UnloadChunkPacket.java index 0ad8435f7..aa7aa2f3c 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/UnloadChunkPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/UnloadChunkPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.INT; -public record UnloadChunkPacket(int chunkX, int chunkZ) implements ServerPacket { +public record UnloadChunkPacket(int chunkX, int chunkZ) implements ServerPacket.Play { public UnloadChunkPacket(@NotNull NetworkBuffer reader) { this(read(reader)); } @@ -26,11 +24,8 @@ public record UnloadChunkPacket(int chunkX, int chunkZ) implements ServerPacket } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.UNLOAD_CHUNK; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.UNLOAD_CHUNK; } private static UnloadChunkPacket read(@NotNull NetworkBuffer reader) { diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UnlockRecipesPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UnlockRecipesPacket.java index 411999825..9a567a2cc 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/UnlockRecipesPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/UnlockRecipesPacket.java @@ -1,10 +1,8 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.UnknownNullability; @@ -18,7 +16,7 @@ public record UnlockRecipesPacket(int mode, boolean blastFurnaceRecipeBookOpen, boolean blastFurnaceRecipeBookFilterActive, boolean smokerRecipeBookOpen, boolean smokerRecipeBookFilterActive, @NotNull List recipeIds, - @UnknownNullability List initRecipeIds) implements ServerPacket { + @UnknownNullability List initRecipeIds) implements ServerPacket.Play { public UnlockRecipesPacket { recipeIds = List.copyOf(recipeIds); if (initRecipeIds != null) { @@ -78,10 +76,7 @@ public record UnlockRecipesPacket(int mode, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.UNLOCK_RECIPES; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.UNLOCK_RECIPES; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UpdateHealthPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UpdateHealthPacket.java index 7c27bad17..cc994074e 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/UpdateHealthPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/UpdateHealthPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.FLOAT; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record UpdateHealthPacket(float health, int food, float foodSaturation) implements ServerPacket { +public record UpdateHealthPacket(float health, int food, float foodSaturation) implements ServerPacket.Play { public UpdateHealthPacket(@NotNull NetworkBuffer reader) { this(reader.read(FLOAT), reader.read(VAR_INT), reader.read(FLOAT)); } @@ -23,10 +21,7 @@ public record UpdateHealthPacket(float health, int food, float foodSaturation) i } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.UPDATE_HEALTH; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.UPDATE_HEALTH; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UpdateLightPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UpdateLightPacket.java index 316c6dcce..3fe41b57e 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/UpdateLightPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/UpdateLightPacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.network.packet.server.play.data.LightData; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; public record UpdateLightPacket(int chunkX, int chunkZ, - @NotNull LightData lightData) implements ServerPacket { + @NotNull LightData lightData) implements ServerPacket.Play { public UpdateLightPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(VAR_INT), new LightData(reader)); } @@ -24,10 +22,7 @@ public record UpdateLightPacket(int chunkX, int chunkZ, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.UPDATE_LIGHT; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.UPDATE_LIGHT; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UpdateScorePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UpdateScorePacket.java index 7b0a23593..00e9f4ea3 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/UpdateScorePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/UpdateScorePacket.java @@ -1,12 +1,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.scoreboard.Sidebar; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -22,7 +20,7 @@ public record UpdateScorePacket( int score, @Nullable Component displayName, @Nullable Sidebar.NumberFormat numberFormat -) implements ServerPacket { +) implements ServerPacket.Play { public UpdateScorePacket(@NotNull NetworkBuffer reader) { this(reader.read(STRING), reader.read(STRING), reader.read(VAR_INT), reader.readOptional(COMPONENT), reader.readOptional(Sidebar.NumberFormat::new)); @@ -38,10 +36,7 @@ public record UpdateScorePacket( } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.UPDATE_SCORE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.UPDATE_SCORE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UpdateSimulationDistancePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UpdateSimulationDistancePacket.java index 890e751cc..1bfe3408d 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/UpdateSimulationDistancePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/UpdateSimulationDistancePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record UpdateSimulationDistancePacket(int simulationDistance) implements ServerPacket { +public record UpdateSimulationDistancePacket(int simulationDistance) implements ServerPacket.Play { public UpdateSimulationDistancePacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT)); } @@ -20,10 +18,7 @@ public record UpdateSimulationDistancePacket(int simulationDistance) implements } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.SET_SIMULATION_DISTANCE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.SET_SIMULATION_DISTANCE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UpdateViewDistancePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UpdateViewDistancePacket.java index 8abd274f1..08f4f7104 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/UpdateViewDistancePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/UpdateViewDistancePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record UpdateViewDistancePacket(int viewDistance) implements ServerPacket { +public record UpdateViewDistancePacket(int viewDistance) implements ServerPacket.Play { public UpdateViewDistancePacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT)); } @@ -20,10 +18,7 @@ public record UpdateViewDistancePacket(int viewDistance) implements ServerPacket } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.UPDATE_VIEW_DISTANCE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.UPDATE_VIEW_DISTANCE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UpdateViewPositionPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UpdateViewPositionPacket.java index 664bbe674..3c3d5f7fc 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/UpdateViewPositionPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/UpdateViewPositionPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record UpdateViewPositionPacket(int chunkX, int chunkZ) implements ServerPacket { +public record UpdateViewPositionPacket(int chunkX, int chunkZ) implements ServerPacket.Play { public UpdateViewPositionPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT), reader.read(VAR_INT)); } @@ -21,10 +19,7 @@ public record UpdateViewPositionPacket(int chunkX, int chunkZ) implements Server } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.UPDATE_VIEW_POSITION; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.UPDATE_VIEW_POSITION; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/VehicleMovePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/VehicleMovePacket.java index cbfb2f72f..1d7b80dbf 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/VehicleMovePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/VehicleMovePacket.java @@ -1,17 +1,15 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.coordinate.Pos; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.DOUBLE; import static net.minestom.server.network.NetworkBuffer.FLOAT; -public record VehicleMovePacket(@NotNull Pos position) implements ServerPacket { +public record VehicleMovePacket(@NotNull Pos position) implements ServerPacket.Play { public VehicleMovePacket(@NotNull NetworkBuffer reader) { this(new Pos(reader.read(DOUBLE), reader.read(DOUBLE), reader.read(DOUBLE), reader.read(FLOAT), reader.read(FLOAT))); @@ -27,10 +25,7 @@ public record VehicleMovePacket(@NotNull Pos position) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.VEHICLE_MOVE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.VEHICLE_MOVE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/WindowItemsPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/WindowItemsPacket.java index 38b3b7cd1..21073cbfd 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/WindowItemsPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/WindowItemsPacket.java @@ -2,12 +2,10 @@ package net.minestom.server.network.packet.server.play; import net.kyori.adventure.text.Component; import net.minestom.server.item.ItemStack; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -18,7 +16,7 @@ import java.util.function.UnaryOperator; import static net.minestom.server.network.NetworkBuffer.*; public record WindowItemsPacket(byte windowId, int stateId, @NotNull List items, - @NotNull ItemStack carriedItem) implements ComponentHoldingServerPacket { + @NotNull ItemStack carriedItem) implements ServerPacket.Play, ServerPacket.ComponentHolding { public static final int MAX_ENTRIES = 128; public WindowItemsPacket { @@ -39,11 +37,8 @@ public record WindowItemsPacket(byte windowId, int stateId, @NotNull List ServerPacketIdentifier.WINDOW_ITEMS; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.WINDOW_ITEMS; } @Override diff --git a/src/main/java/net/minestom/server/network/packet/server/play/WindowPropertyPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/WindowPropertyPacket.java index 00b64e892..604c06350 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/WindowPropertyPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/WindowPropertyPacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.BYTE; import static net.minestom.server.network.NetworkBuffer.SHORT; -public record WindowPropertyPacket(byte windowId, short property, short value) implements ServerPacket { +public record WindowPropertyPacket(byte windowId, short property, short value) implements ServerPacket.Play { public WindowPropertyPacket(@NotNull NetworkBuffer reader) { this(reader.read(BYTE), reader.read(SHORT), reader.read(SHORT)); } @@ -23,10 +21,7 @@ public record WindowPropertyPacket(byte windowId, short property, short value) i } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.WINDOW_PROPERTY; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.WINDOW_PROPERTY; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderCenterPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderCenterPacket.java index dce86cac5..29a197ae1 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderCenterPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderCenterPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.DOUBLE; -public record WorldBorderCenterPacket(double x, double z) implements ServerPacket { +public record WorldBorderCenterPacket(double x, double z) implements ServerPacket.Play { public WorldBorderCenterPacket(@NotNull NetworkBuffer reader) { this(reader.read(DOUBLE), reader.read(DOUBLE)); } @@ -21,10 +19,7 @@ public record WorldBorderCenterPacket(double x, double z) implements ServerPacke } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.WORLD_BORDER_CENTER; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.WORLD_BORDER_CENTER; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderLerpSizePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderLerpSizePacket.java index 721358df0..776d08ea4 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderLerpSizePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderLerpSizePacket.java @@ -1,16 +1,14 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.DOUBLE; import static net.minestom.server.network.NetworkBuffer.VAR_LONG; -public record WorldBorderLerpSizePacket(double oldDiameter, double newDiameter, long speed) implements ServerPacket { +public record WorldBorderLerpSizePacket(double oldDiameter, double newDiameter, long speed) implements ServerPacket.Play { public WorldBorderLerpSizePacket(@NotNull NetworkBuffer reader) { this(reader.read(DOUBLE), reader.read(DOUBLE), reader.read(VAR_LONG)); } @@ -23,10 +21,7 @@ public record WorldBorderLerpSizePacket(double oldDiameter, double newDiameter, } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.WORLD_BORDER_LERP_SIZE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.WORLD_BORDER_LERP_SIZE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderSizePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderSizePacket.java index cf93c4b19..56a12d34a 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderSizePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderSizePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.DOUBLE; -public record WorldBorderSizePacket(double diameter) implements ServerPacket { +public record WorldBorderSizePacket(double diameter) implements ServerPacket.Play { public WorldBorderSizePacket(@NotNull NetworkBuffer reader) { this(reader.read(DOUBLE)); } @@ -20,10 +18,7 @@ public record WorldBorderSizePacket(double diameter) implements ServerPacket { } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.WORLD_BORDER_SIZE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.WORLD_BORDER_SIZE; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderWarningDelayPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderWarningDelayPacket.java index f76a1af59..ba2f5cd7f 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderWarningDelayPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderWarningDelayPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record WorldBorderWarningDelayPacket(int warningTime) implements ServerPacket { +public record WorldBorderWarningDelayPacket(int warningTime) implements ServerPacket.Play { public WorldBorderWarningDelayPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT)); } @@ -20,10 +18,7 @@ public record WorldBorderWarningDelayPacket(int warningTime) implements ServerPa } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.WORLD_BORDER_WARNING_DELAY; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.WORLD_BORDER_WARNING_DELAY; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderWarningReachPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderWarningReachPacket.java index 9851f3500..242d8ef4a 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderWarningReachPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/WorldBorderWarningReachPacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.play; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.VAR_INT; -public record WorldBorderWarningReachPacket(int warningBlocks) implements ServerPacket { +public record WorldBorderWarningReachPacket(int warningBlocks) implements ServerPacket.Play { public WorldBorderWarningReachPacket(@NotNull NetworkBuffer reader) { this(reader.read(VAR_INT)); } @@ -20,10 +18,7 @@ public record WorldBorderWarningReachPacket(int warningBlocks) implements Server } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case PLAY -> ServerPacketIdentifier.WORLD_BORDER_WARNING_REACH; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.PLAY); - }; + public int playId() { + return ServerPacketIdentifier.WORLD_BORDER_WARNING_REACH; } } diff --git a/src/main/java/net/minestom/server/network/packet/server/status/ResponsePacket.java b/src/main/java/net/minestom/server/network/packet/server/status/ResponsePacket.java index 098e4c36b..93b2a3e82 100644 --- a/src/main/java/net/minestom/server/network/packet/server/status/ResponsePacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/status/ResponsePacket.java @@ -1,15 +1,13 @@ package net.minestom.server.network.packet.server.status; -import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; -import net.minestom.server.utils.PacketUtils; import org.jetbrains.annotations.NotNull; import static net.minestom.server.network.NetworkBuffer.STRING; -public record ResponsePacket(@NotNull String jsonResponse) implements ServerPacket { +public record ResponsePacket(@NotNull String jsonResponse) implements ServerPacket.Status { public ResponsePacket(@NotNull NetworkBuffer reader) { this(reader.read(STRING)); } @@ -20,10 +18,7 @@ public record ResponsePacket(@NotNull String jsonResponse) implements ServerPack } @Override - public int getId(@NotNull ConnectionState state) { - return switch (state) { - case STATUS -> ServerPacketIdentifier.STATUS_RESPONSE; - default -> PacketUtils.invalidPacketState(getClass(), state, ConnectionState.STATUS); - }; + public int statusId() { + return ServerPacketIdentifier.STATUS_RESPONSE; } } diff --git a/src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java b/src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java index 1ff4ee9b4..3a30f1a3f 100644 --- a/src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java +++ b/src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java @@ -363,8 +363,8 @@ public class PlayerSocketConnection extends PlayerConnection { private void writeServerPacketSync(ServerPacket serverPacket, boolean compressed) { final Player player = getPlayer(); if (player != null) { - if (MinestomAdventure.AUTOMATIC_COMPONENT_TRANSLATION && serverPacket instanceof ComponentHoldingServerPacket) { - serverPacket = ((ComponentHoldingServerPacket) serverPacket).copyWithOperator(component -> + if (MinestomAdventure.AUTOMATIC_COMPONENT_TRANSLATION && serverPacket instanceof ServerPacket.ComponentHolding) { + serverPacket = ((ServerPacket.ComponentHolding) serverPacket).copyWithOperator(component -> MinestomAdventure.COMPONENT_TRANSLATOR.apply(component, Objects.requireNonNullElseGet(player.getLocale(), MinestomAdventure::getDefaultLocale))); } } diff --git a/src/main/java/net/minestom/server/utils/PacketUtils.java b/src/main/java/net/minestom/server/utils/PacketUtils.java index 87a63b392..49565b009 100644 --- a/src/main/java/net/minestom/server/utils/PacketUtils.java +++ b/src/main/java/net/minestom/server/utils/PacketUtils.java @@ -20,7 +20,10 @@ import net.minestom.server.entity.Entity; import net.minestom.server.entity.Player; import net.minestom.server.network.ConnectionState; import net.minestom.server.network.NetworkBuffer; -import net.minestom.server.network.packet.server.*; +import net.minestom.server.network.packet.server.CachedPacket; +import net.minestom.server.network.packet.server.FramedPacket; +import net.minestom.server.network.packet.server.SendablePacket; +import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.player.PlayerConnection; import net.minestom.server.network.player.PlayerSocketConnection; import net.minestom.server.utils.binary.BinaryBuffer; @@ -108,14 +111,14 @@ public final class PacketUtils { /** * Checks if the {@link ServerPacket} is suitable to be wrapped into a {@link CachedPacket}. - * Note: {@link ComponentHoldingServerPacket}s are not translated inside a {@link CachedPacket}. + * Note: {@link ServerPacket.ComponentHolding}s are not translated inside a {@link CachedPacket}. * * @see CachedPacket#body(ConnectionState) * @see PlayerSocketConnection#writePacketSync(SendablePacket, boolean) */ static boolean shouldUseCachePacket(final @NotNull ServerPacket packet) { if (!MinestomAdventure.AUTOMATIC_COMPONENT_TRANSLATION) return ServerFlag.GROUPED_PACKET; - if (!(packet instanceof ComponentHoldingServerPacket holder)) return ServerFlag.GROUPED_PACKET; + if (!(packet instanceof ServerPacket.ComponentHolding holder)) return ServerFlag.GROUPED_PACKET; return !containsTranslatableComponents(holder); } @@ -386,6 +389,7 @@ public final class PacketUtils { @ApiStatus.Internal public static int invalidPacketState(@NotNull Class packetClass, @NotNull ConnectionState state, @NotNull ConnectionState... expected) { + assert expected.length > 0 : "Expected states cannot be empty: " + packetClass; StringBuilder expectedStr = new StringBuilder(); for (ConnectionState connectionState : expected) { expectedStr.append(connectionState).append(", "); diff --git a/src/test/java/net/minestom/server/network/SocketWriteTest.java b/src/test/java/net/minestom/server/network/SocketWriteTest.java index 7c7356a37..bcaadeade 100644 --- a/src/test/java/net/minestom/server/network/SocketWriteTest.java +++ b/src/test/java/net/minestom/server/network/SocketWriteTest.java @@ -16,26 +16,26 @@ import static org.junit.jupiter.api.Assertions.assertNotEquals; public class SocketWriteTest { - record IntPacket(int value) implements ServerPacket { + record IntPacket(int value) implements ServerPacket.Play { @Override public void write(@NotNull NetworkBuffer writer) { writer.write(INT, value); } @Override - public int getId(@NotNull ConnectionState state) { + public int playId() { return 1; } } - record CompressiblePacket(String value) implements ServerPacket { + record CompressiblePacket(String value) implements ServerPacket.Play { @Override public void write(@NotNull NetworkBuffer writer) { writer.write(STRING, value); } @Override - public int getId(@NotNull ConnectionState state) { + public int playId() { return 1; } } diff --git a/testing/src/main/java/net/minestom/testing/TestConnectionImpl.java b/testing/src/main/java/net/minestom/testing/TestConnectionImpl.java index f6c27013e..9a55d1acf 100644 --- a/testing/src/main/java/net/minestom/testing/TestConnectionImpl.java +++ b/testing/src/main/java/net/minestom/testing/TestConnectionImpl.java @@ -8,7 +8,7 @@ import net.minestom.server.entity.Player; import net.minestom.server.event.player.AsyncPlayerConfigurationEvent; import net.minestom.server.instance.Instance; import net.minestom.server.network.ConnectionState; -import net.minestom.server.network.packet.server.ComponentHoldingServerPacket; +import net.minestom.server.network.packet.server.ServerPacket.ComponentHolding; import net.minestom.server.network.packet.server.SendablePacket; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.player.PlayerConnection; @@ -75,8 +75,8 @@ final class TestConnectionImpl implements TestConnection { final Player player = getPlayer(); if (player == null) return serverPacket; - if (MinestomAdventure.AUTOMATIC_COMPONENT_TRANSLATION && serverPacket instanceof ComponentHoldingServerPacket) { - serverPacket = ((ComponentHoldingServerPacket) serverPacket).copyWithOperator(component -> + if (MinestomAdventure.AUTOMATIC_COMPONENT_TRANSLATION && serverPacket instanceof ServerPacket.ComponentHolding) { + serverPacket = ((ServerPacket.ComponentHolding) serverPacket).copyWithOperator(component -> GlobalTranslator.render(component, Objects.requireNonNullElseGet(player.getLocale(), MinestomAdventure::getDefaultLocale))); }