From af0cf1d3f256a4c9333844d6633d48e9bc4e1460 Mon Sep 17 00:00:00 2001 From: KennyTV Date: Sun, 2 May 2021 11:14:38 +0200 Subject: [PATCH] Rename PacketType methods Just in case a packet with some magic id is going to be added, since the enum ordinal and name methods cannot be overridden --- .../api/protocol/AbstractProtocol.java | 36 +++++++++---------- .../api/protocol/SimpleProtocol.java | 11 ++++++ .../api/protocol/packet/PacketType.java | 16 ++++----- .../api/protocol/packet/PacketWrapper.java | 25 ++++++++++--- .../protocol/packet/PacketWrapperImpl.java | 2 +- .../ClientboundPackets1_12_1.java | 12 ++++++- .../ServerboundPackets1_12_1.java | 12 ++++++- .../ClientboundPackets1_12.java | 12 ++++++- .../ServerboundPackets1_12.java | 12 ++++++- .../ClientboundPackets1_13.java | 12 ++++++- .../ServerboundPackets1_13.java | 12 ++++++- .../ClientboundPackets1_14.java | 12 ++++++- .../ServerboundPackets1_14.java | 12 ++++++- .../ClientboundPackets1_15.java | 12 ++++++- .../ClientboundPackets1_16_2.java | 12 ++++++- .../ServerboundPackets1_16_2.java | 12 ++++++- .../ClientboundPackets1_16.java | 12 ++++++- .../ServerboundPackets1_16.java | 12 ++++++- .../ClientboundPackets1_17.java | 12 ++++++- .../Protocol1_17To1_16_4.java | 2 +- .../ServerboundPackets1_17.java | 12 ++++++- .../packets/EntityPackets.java | 2 +- .../packets/WorldPackets.java | 2 +- .../protocol1_8/ClientboundPackets1_8.java | 12 ++++++- .../protocol1_8/ServerboundPackets1_8.java | 12 ++++++- .../ClientboundPackets1_9_3.java | 12 ++++++- .../ServerboundPackets1_9_3.java | 12 ++++++- .../ClientboundPackets1_9.java | 12 ++++++- .../ServerboundPackets1_9.java | 12 ++++++- 29 files changed, 292 insertions(+), 56 deletions(-) diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractProtocol.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractProtocol.java index 2d8e1ac3f..a35971323 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractProtocol.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractProtocol.java @@ -80,12 +80,12 @@ public abstract class AbstractProtocol newClientboundPackets = new HashMap<>(newConstants.length); for (ClientboundPacketType newConstant : newConstants) { - newClientboundPackets.put(newConstant.name(), newConstant); + newClientboundPackets.put(newConstant.getName(), newConstant); } for (ClientboundPacketType packet : oldClientboundPacketEnum.getEnumConstants()) { - ClientboundPacketType mappedPacket = newClientboundPackets.get(packet.name()); - int oldId = packet.ordinal(); + ClientboundPacketType mappedPacket = newClientboundPackets.get(packet.getName()); + int oldId = packet.getId(); if (mappedPacket == null) { // Packet doesn't exist on new client Preconditions.checkArgument(hasRegisteredClientbound(State.PLAY, oldId), @@ -93,7 +93,7 @@ public abstract class AbstractProtocol oldServerboundConstants = new HashMap<>(oldConstants.length); for (ServerboundPacketType oldConstant : oldConstants) { - oldServerboundConstants.put(oldConstant.name(), oldConstant); + oldServerboundConstants.put(oldConstant.getName(), oldConstant); } for (ServerboundPacketType packet : newServerboundPacketEnum.getEnumConstants()) { - ServerboundPacketType mappedPacket = oldServerboundConstants.get(packet.name()); - int newId = packet.ordinal(); + ServerboundPacketType mappedPacket = oldServerboundConstants.get(packet.getName()); + int newId = packet.getId(); if (mappedPacket == null) { // Packet doesn't exist on old server Preconditions.checkArgument(hasRegisteredServerbound(State.PLAY, newId), @@ -117,7 +117,7 @@ public abstract class AbstractProtocol en.name().equals(packetType.name())).findAny().orElse(null); + : Arrays.stream(newClientboundPacketEnum.getEnumConstants()).filter(en -> en.getName().equals(packetType.getName())).findAny().orElse(null); Preconditions.checkNotNull(mappedPacket, "Packet type " + packetType + " in " + packetType.getClass().getSimpleName() + " could not be automatically mapped!"); - int oldId = packetType.ordinal(); - int newId = mappedPacket.ordinal(); + int oldId = packetType.getId(); + int newId = mappedPacket.getId(); registerClientbound(State.PLAY, oldId, newId, packetRemapper); } @@ -205,12 +205,12 @@ public abstract class AbstractProtocol en.name().equals(packetType.name())).findAny().orElse(null); + : Arrays.stream(oldServerboundPacketEnum.getEnumConstants()).filter(en -> en.getName().equals(packetType.getName())).findAny().orElse(null); Preconditions.checkNotNull(mappedPacket, "Packet type " + packetType + " in " + packetType.getClass().getSimpleName() + " could not be automatically mapped!"); - int oldId = mappedPacket.ordinal(); - int newId = packetType.ordinal(); + int oldId = mappedPacket.getId(); + int newId = packetType.getId(); registerServerbound(State.PLAY, oldId, newId, packetRemapper); } @@ -231,13 +231,13 @@ public abstract class AbstractProtocol { enum DummyPacketTypes implements ClientboundPacketType, ServerboundPacketType { + ; + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } } diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/packet/PacketType.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/packet/PacketType.java index 30df626fa..5c8e8651f 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/packet/PacketType.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/packet/PacketType.java @@ -30,17 +30,17 @@ package com.viaversion.viaversion.api.protocol.packet; */ public interface PacketType { + /** + * Returns the packet id for the implemented protocol. + * + * @return packet id for the implemented protocol + */ + int getId(); + /** * Returns the name of the packet, to be consistent over multiple versions. * * @return name of the packet */ - String name(); - - /** - * Returns the ordinal, being the packet id for the implemented protocol. - * - * @return packet id for the implemented protocol - */ - int ordinal(); + String getName(); } diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/packet/PacketWrapper.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/packet/PacketWrapper.java index 3c13034c9..3dcdfe557 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/packet/PacketWrapper.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/packet/PacketWrapper.java @@ -46,7 +46,7 @@ public interface PacketWrapper { * @return new packet wrapper */ static PacketWrapper create(PacketType packetType, UserConnection connection) { - return create(packetType.ordinal(), null, connection); + return create(packetType.getId(), null, connection); } /** @@ -58,7 +58,7 @@ public interface PacketWrapper { * @return new packet wrapper */ static PacketWrapper create(PacketType packetType, @Nullable ByteBuf inputBuffer, UserConnection connection) { - return create(packetType.ordinal(), inputBuffer, connection); + return create(packetType.getId(), inputBuffer, connection); } /** @@ -320,11 +320,26 @@ public interface PacketWrapper { sendToServer(packetProtocol, true); } + /** + * Returns the packet id. + * + * @return packet id + */ int getId(); - void setId(int id); - + /** + * Sets the packet id. If set to -1, it will not be written to the buffer with {@link #writeToBuffer(ByteBuf)}. + * + * @param packetType packet type + */ default void setId(PacketType packetType) { - setId(packetType.ordinal()); + setId(packetType.getId()); } + + /** + * Sets the packet id. If set to -1, it will not be written to the buffer with {@link #writeToBuffer(ByteBuf)}. + * + * @param id packet id + */ + void setId(int id); } diff --git a/common/src/main/java/com/viaversion/viaversion/protocol/packet/PacketWrapperImpl.java b/common/src/main/java/com/viaversion/viaversion/protocol/packet/PacketWrapperImpl.java index 808bb9296..1a38f7bec 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocol/packet/PacketWrapperImpl.java +++ b/common/src/main/java/com/viaversion/viaversion/protocol/packet/PacketWrapperImpl.java @@ -322,7 +322,7 @@ public class PacketWrapperImpl implements PacketWrapper { @Override public PacketWrapperImpl create(PacketType packetType) { - return new PacketWrapperImpl(packetType.ordinal(), null, user()); + return new PacketWrapperImpl(packetType.getId(), null, user()); } @Override diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12_1to1_12/ClientboundPackets1_12_1.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12_1to1_12/ClientboundPackets1_12_1.java index 728a4e18a..7dbd46dab 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12_1to1_12/ClientboundPackets1_12_1.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12_1to1_12/ClientboundPackets1_12_1.java @@ -100,5 +100,15 @@ public enum ClientboundPackets1_12_1 implements ClientboundPacketType { ENTITY_TELEPORT, // 0x4C ADVANCEMENTS, // 0x4D ENTITY_PROPERTIES, // 0x4E - ENTITY_EFFECT, // 0x4F + ENTITY_EFFECT; // 0x4F + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12_1to1_12/ServerboundPackets1_12_1.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12_1to1_12/ServerboundPackets1_12_1.java index 020b11d46..3b805fc04 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12_1to1_12/ServerboundPackets1_12_1.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12_1to1_12/ServerboundPackets1_12_1.java @@ -53,5 +53,15 @@ public enum ServerboundPackets1_12_1 implements ServerboundPacketType { ANIMATION, // 0x1D SPECTATE, // 0x1E PLAYER_BLOCK_PLACEMENT, // 0x1F - USE_ITEM, // 0x20 + USE_ITEM; // 0x20 + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/ClientboundPackets1_12.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/ClientboundPackets1_12.java index 1ac9a47c4..11f0ea52f 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/ClientboundPackets1_12.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/ClientboundPackets1_12.java @@ -99,5 +99,15 @@ public enum ClientboundPackets1_12 implements ClientboundPacketType { ENTITY_TELEPORT, // 0x4B ADVANCEMENTS, // 0x4C ENTITY_PROPERTIES, // 0x4D - ENTITY_EFFECT, // 0x4E + ENTITY_EFFECT; // 0x4E + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/ServerboundPackets1_12.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/ServerboundPackets1_12.java index 98276e504..9e16b36df 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/ServerboundPackets1_12.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/ServerboundPackets1_12.java @@ -53,5 +53,15 @@ public enum ServerboundPackets1_12 implements ServerboundPacketType { ANIMATION, // 0x1D SPECTATE, // 0x1E PLAYER_BLOCK_PLACEMENT, // 0x1F - USE_ITEM, // 0x20 + USE_ITEM; // 0x20 + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/ClientboundPackets1_13.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/ClientboundPackets1_13.java index 32a608eb6..e67750863 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/ClientboundPackets1_13.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/ClientboundPackets1_13.java @@ -106,5 +106,15 @@ public enum ClientboundPackets1_13 implements ClientboundPacketType { ENTITY_PROPERTIES, // 0x52 ENTITY_EFFECT, // 0x53 DECLARE_RECIPES, // 0x54 - TAGS, // 0x55 + TAGS; // 0x55 + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/ServerboundPackets1_13.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/ServerboundPackets1_13.java index e6f40be7c..4e766ae68 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/ServerboundPackets1_13.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/ServerboundPackets1_13.java @@ -63,5 +63,15 @@ public enum ServerboundPackets1_13 implements ServerboundPacketType { ANIMATION, // 0x27 SPECTATE, // 0x28 PLAYER_BLOCK_PLACEMENT, // 0x29 - USE_ITEM, // 0x2A + USE_ITEM; // 0x2A + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ClientboundPackets1_14.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ClientboundPackets1_14.java index 8a448f5da..9705ab6ba 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ClientboundPackets1_14.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ClientboundPackets1_14.java @@ -113,5 +113,15 @@ public enum ClientboundPackets1_14 implements ClientboundPacketType { ENTITY_EFFECT, // 0x59 DECLARE_RECIPES, // 0x5A TAGS, // 0x5B - ACKNOWLEDGE_PLAYER_DIGGING, // 0x5C + ACKNOWLEDGE_PLAYER_DIGGING; // 0x5C + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ServerboundPackets1_14.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ServerboundPackets1_14.java index 507965f59..c7f7e7390 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ServerboundPackets1_14.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/ServerboundPackets1_14.java @@ -66,5 +66,15 @@ public enum ServerboundPackets1_14 implements ServerboundPacketType { ANIMATION, // 0x2A SPECTATE, // 0x2B PLAYER_BLOCK_PLACEMENT, // 0x2C - USE_ITEM, // 0x2D + USE_ITEM; // 0x2D + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/ClientboundPackets1_15.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/ClientboundPackets1_15.java index fd1c04c6a..ca12dfd52 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/ClientboundPackets1_15.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/ClientboundPackets1_15.java @@ -113,5 +113,15 @@ public enum ClientboundPackets1_15 implements ClientboundPacketType { ENTITY_PROPERTIES, // 0x59 ENTITY_EFFECT, // 0x5A DECLARE_RECIPES, // 0x5B - TAGS, // 0x5C + TAGS; // 0x5C + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/ClientboundPackets1_16_2.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/ClientboundPackets1_16_2.java index 1e6bb6830..ed5dfe687 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/ClientboundPackets1_16_2.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/ClientboundPackets1_16_2.java @@ -112,5 +112,15 @@ public enum ClientboundPackets1_16_2 implements ClientboundPacketType { ENTITY_PROPERTIES, // 0x58 ENTITY_EFFECT, // 0x59 DECLARE_RECIPES, // 0x5A - TAGS, // 0x5B + TAGS; // 0x5B + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/ServerboundPackets1_16_2.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/ServerboundPackets1_16_2.java index 6156b6128..04fb44b9e 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/ServerboundPackets1_16_2.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/ServerboundPackets1_16_2.java @@ -68,5 +68,15 @@ public enum ServerboundPackets1_16_2 implements ServerboundPacketType { ANIMATION, // 0x2C SPECTATE, // 0x2D PLAYER_BLOCK_PLACEMENT, // 0x2E - USE_ITEM, // 0x2F + USE_ITEM; // 0x2F + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/ClientboundPackets1_16.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/ClientboundPackets1_16.java index 8e13bc539..ff7ff9122 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/ClientboundPackets1_16.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/ClientboundPackets1_16.java @@ -112,5 +112,15 @@ public enum ClientboundPackets1_16 implements ClientboundPacketType { ENTITY_PROPERTIES, // 0x58 ENTITY_EFFECT, // 0x59 DECLARE_RECIPES, // 0x5A - TAGS, // 0x5B + TAGS; // 0x5B + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/ServerboundPackets1_16.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/ServerboundPackets1_16.java index 0a0bd71ef..742e1abaf 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/ServerboundPackets1_16.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/ServerboundPackets1_16.java @@ -67,5 +67,15 @@ public enum ServerboundPackets1_16 implements ServerboundPacketType { ANIMATION, // 0x2B SPECTATE, // 0x2C PLAYER_BLOCK_PLACEMENT, // 0x2D - USE_ITEM, // 0x2E + USE_ITEM; // 0x2E + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/ClientboundPackets1_17.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/ClientboundPackets1_17.java index afbd39b24..8ee52b02b 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/ClientboundPackets1_17.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/ClientboundPackets1_17.java @@ -122,5 +122,15 @@ public enum ClientboundPackets1_17 implements ClientboundPacketType { ENTITY_PROPERTIES, // 0x62 ENTITY_EFFECT, // 0x63 DECLARE_RECIPES, // 0x64 - TAGS, // 0x65 + TAGS; // 0x65 + + @Override + public int getId() { + return ordinal(); + } + + @Override + public String getName() { + return name(); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/Protocol1_17To1_16_4.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/Protocol1_17To1_16_4.java index e11c7c20a..b0e2b8b08 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/Protocol1_17To1_16_4.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/Protocol1_17To1_16_4.java @@ -159,7 +159,7 @@ public class Protocol1_17To1_16_4 extends AbstractProtocol