From 8f408c21096f48e605cffed20c771b4e16a0de1c Mon Sep 17 00:00:00 2001 From: "Kristian S. Stangeland" Date: Thu, 5 Dec 2013 08:21:42 +0100 Subject: [PATCH] Rename PacketType members to be more like the new classes in Bukkit --- .../com/comphenix/protocol/PacketType.java | 89 ++++++++++--------- .../protocol/events/PacketContainer.java | 2 +- .../protocol/utility/MinecraftMethods.java | 2 +- .../protocol/utility/MinecraftReflection.java | 2 +- .../protocol/events/PacketContainerTest.java | 2 +- .../utility/MinecraftMethodsTest.java | 20 +++++ 6 files changed, 73 insertions(+), 44 deletions(-) create mode 100644 ProtocolLib/src/test/java/com/comphenix/protocol/utility/MinecraftMethodsTest.java diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/PacketType.java b/ProtocolLib/src/main/java/com/comphenix/protocol/PacketType.java index 0ab55897..12946bf0 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/PacketType.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/PacketType.java @@ -44,7 +44,10 @@ public class PacketType implements Serializable { public static class Client extends ObjectEnum { private final static Sender SENDER = Sender.CLIENT; - public static final PacketType HANDSHAKE = new PacketType(PROTOCOL, SENDER, 0x00, 2); + /** + * Legacy name: HANDSHAKE. + */ + public static final PacketType SET_PROTOCOL = new PacketType(PROTOCOL, SENDER, 0x00, 2); private final static Client INSTANCE = new Client(); @@ -99,18 +102,21 @@ public class PacketType implements Serializable { public static final PacketType SPAWN_POSITION = new PacketType(PROTOCOL, SENDER, 0x05, 6); public static final PacketType UPDATE_HEALTH = new PacketType(PROTOCOL, SENDER, 0x06, 8); public static final PacketType RESPAWN = new PacketType(PROTOCOL, SENDER, 0x07, 9); - public static final PacketType PLAYER_LOOK_MOVE = new PacketType(PROTOCOL, SENDER, 0x08, 13); - public static final PacketType BLOCK_ITEM_SWITCH = new PacketType(PROTOCOL, SENDER, 0x09, 16); - public static final PacketType ENTITY_LOCATION_ACTION = new PacketType(PROTOCOL, SENDER, 0x0A, 17); - public static final PacketType ARM_ANIMATION = new PacketType(PROTOCOL, SENDER, 0x0B, 18); + public static final PacketType POSITION = new PacketType(PROTOCOL, SENDER, 0x08, 13); + public static final PacketType HELD_ITEM_SLOT = new PacketType(PROTOCOL, SENDER, 0x09, 16); + /** + * Note that this was Packets.Server.ENTITY_LOCATION_ACTION. + */ + public static final PacketType BED = new PacketType(PROTOCOL, SENDER, 0x0A, 17); + public static final PacketType ANIMATION = new PacketType(PROTOCOL, SENDER, 0x0B, 18); public static final PacketType NAMED_ENTITY_SPAWN = new PacketType(PROTOCOL, SENDER, 0x0C, 20); public static final PacketType COLLECT = new PacketType(PROTOCOL, SENDER, 0x0D, 22); - public static final PacketType VEHICLE_SPAWN = new PacketType(PROTOCOL, SENDER, 0x0E, 23); - public static final PacketType MOB_SPAWN = new PacketType(PROTOCOL, SENDER, 0x0F, 24); - public static final PacketType ENTITY_PAINTING = new PacketType(PROTOCOL, SENDER, 0x10, 25); - public static final PacketType ADD_EXP_ORB = new PacketType(PROTOCOL, SENDER, 0x11, 26); + public static final PacketType SPAWN_ENTITY = new PacketType(PROTOCOL, SENDER, 0x0E, 23); + public static final PacketType SPAWN_ENTITY_LIVING = new PacketType(PROTOCOL, SENDER, 0x0F, 24); + public static final PacketType SPAWN_ENTITY_PAITING = new PacketType(PROTOCOL, SENDER, 0x10, 25); + public static final PacketType SPAWN_ENTITY_EXPERIENCE_ORB = new PacketType(PROTOCOL, SENDER, 0x11, 26); public static final PacketType ENTITY_VELOCITY = new PacketType(PROTOCOL, SENDER, 0x12, 28); - public static final PacketType DESTROY_ENTITY = new PacketType(PROTOCOL, SENDER, 0x13, 29); + public static final PacketType ENTITY_DESTROY = new PacketType(PROTOCOL, SENDER, 0x13, 29); public static final PacketType ENTITY = new PacketType(PROTOCOL, SENDER, 0x14, 30); public static final PacketType REL_ENTITY_MOVE = new PacketType(PROTOCOL, SENDER, 0x15, 31); public static final PacketType ENTITY_LOOK = new PacketType(PROTOCOL, SENDER, 0x16, 32); @@ -120,22 +126,25 @@ public class PacketType implements Serializable { public static final PacketType ENTITY_STATUS = new PacketType(PROTOCOL, SENDER, 0x1A, 38); public static final PacketType ATTACH_ENTITY = new PacketType(PROTOCOL, SENDER, 0x1B, 39); public static final PacketType ENTITY_METADATA = new PacketType(PROTOCOL, SENDER, 0x1C, 40); - public static final PacketType MOB_EFFECT = new PacketType(PROTOCOL, SENDER, 0x1D, 41); - public static final PacketType REMOVE_MOB_EFFECT = new PacketType(PROTOCOL, SENDER, 0x1E, 42); - public static final PacketType SET_EXPERIENCE = new PacketType(PROTOCOL, SENDER, 0x1F, 43); + public static final PacketType ENTITY_EFFECT = new PacketType(PROTOCOL, SENDER, 0x1D, 41); + public static final PacketType REMOVE_ENTITY_EFFECT = new PacketType(PROTOCOL, SENDER, 0x1E, 42); + public static final PacketType EXPERIENCE = new PacketType(PROTOCOL, SENDER, 0x1F, 43); public static final PacketType UPDATE_ATTRIBUTES = new PacketType(PROTOCOL, SENDER, 0x20, 44); public static final PacketType MAP_CHUNK = new PacketType(PROTOCOL, SENDER, 0x21, 51); public static final PacketType MULTI_BLOCK_CHANGE = new PacketType(PROTOCOL, SENDER, 0x22, 52); public static final PacketType BLOCK_CHANGE = new PacketType(PROTOCOL, SENDER, 0x23, 53); - public static final PacketType PLAY_NOTE_BLOCK = new PacketType(PROTOCOL, SENDER, 0x24, 54); + public static final PacketType BLOCK_ACTION = new PacketType(PROTOCOL, SENDER, 0x24, 54); public static final PacketType BLOCK_BREAK_ANIMATION = new PacketType(PROTOCOL, SENDER, 0x25, 55); public static final PacketType MAP_CHUNK_BULK = new PacketType(PROTOCOL, SENDER, 0x26, 56); public static final PacketType EXPLOSION = new PacketType(PROTOCOL, SENDER, 0x27, 60); public static final PacketType WORLD_EVENT = new PacketType(PROTOCOL, SENDER, 0x28, 61); public static final PacketType NAMED_SOUND_EFFECT = new PacketType(PROTOCOL, SENDER, 0x29, 62); public static final PacketType WORLD_PARTICLES = new PacketType(PROTOCOL, SENDER, 0x2A, 63); - public static final PacketType BED = new PacketType(PROTOCOL, SENDER, 0x2B, 70); - public static final PacketType WEATHER = new PacketType(PROTOCOL, SENDER, 0x2C, 71); + /** + * Note that this was Packets.Server.BED. + */ + public static final PacketType GAME_STATE_CHANGE = new PacketType(PROTOCOL, SENDER, 0x2B, 70); + public static final PacketType SPAWN_ENTITY_WEATHER = new PacketType(PROTOCOL, SENDER, 0x2C, 71); public static final PacketType OPEN_WINDOW = new PacketType(PROTOCOL, SENDER, 0x2D, 100); public static final PacketType CLOSE_WINDOW = new PacketType(PROTOCOL, SENDER, 0x2E, 101); public static final PacketType SET_SLOT = new PacketType(PROTOCOL, SENDER, 0x2F, 103); @@ -143,18 +152,18 @@ public class PacketType implements Serializable { public static final PacketType CRAFT_PROGRESS_BAR = new PacketType(PROTOCOL, SENDER, 0x31, 105); public static final PacketType TRANSACTION = new PacketType(PROTOCOL, SENDER, 0x32, 106); public static final PacketType UPDATE_SIGN = new PacketType(PROTOCOL, SENDER, 0x33, 130); - public static final PacketType ITEM_DATA = new PacketType(PROTOCOL, SENDER, 0x34, 131); + public static final PacketType MAP = new PacketType(PROTOCOL, SENDER, 0x34, 131); public static final PacketType TILE_ENTITY_DATA = new PacketType(PROTOCOL, SENDER, 0x35, 132); - public static final PacketType OPEN_TILE_ENTITY = new PacketType(PROTOCOL, SENDER, 0x36, 133); + public static final PacketType OPEN_SIGN_ENTITY = new PacketType(PROTOCOL, SENDER, 0x36, 133); public static final PacketType STATISTICS = new PacketType(PROTOCOL, SENDER, 0x37, 200); public static final PacketType PLAYER_INFO = new PacketType(PROTOCOL, SENDER, 0x38, 201); public static final PacketType ABILITIES = new PacketType(PROTOCOL, SENDER, 0x39, 202); public static final PacketType TAB_COMPLETE = new PacketType(PROTOCOL, SENDER, 0x3A, 203); - public static final PacketType SET_SCOREBOARD_OBJECTIVE = new PacketType(PROTOCOL, SENDER, 0x3B, 206); - public static final PacketType SET_SCOREBOARD_SCORE = new PacketType(PROTOCOL, SENDER, 0x3C, 207); - public static final PacketType SET_SCOREBOARD_DISPLAY_OBJECTIVE = + public static final PacketType SCOREBOARD_OBJECTIVE = new PacketType(PROTOCOL, SENDER, 0x3B, 206); + public static final PacketType SCOREBOARD_SCORE = new PacketType(PROTOCOL, SENDER, 0x3C, 207); + public static final PacketType SCOREBOARD_DISPLAY_OBJECTIVE = new PacketType(PROTOCOL, SENDER, 0x3D, 208); - public static final PacketType SET_SCOREOARD_TEAM = new PacketType(PROTOCOL, SENDER, 0x3E, 209); + public static final PacketType SCOREOARD_TEAM = new PacketType(PROTOCOL, SENDER, 0x3E, 209); public static final PacketType CUSTOM_PAYLOAD = new PacketType(PROTOCOL, SENDER, 0x3F, 250); public static final PacketType KICK_DISCONNECT = new PacketType(PROTOCOL, SENDER, 0x40, 255); @@ -179,24 +188,24 @@ public class PacketType implements Serializable { public static final PacketType CHAT = new PacketType(PROTOCOL, SENDER, 0x01, 3); public static final PacketType USE_ENTITY = new PacketType(PROTOCOL, SENDER, 0x02, 7); public static final PacketType FLYING = new PacketType(PROTOCOL, SENDER, 0x03, 10); - public static final PacketType PLAYER_POSITION = new PacketType(PROTOCOL, SENDER, 0x04, 11); - public static final PacketType PLAYER_LOOK = new PacketType(PROTOCOL, SENDER, 0x05, 12); - public static final PacketType PLAYER_LOOK_MOVE = new PacketType(PROTOCOL, SENDER, 0x06, 13); + public static final PacketType POSITION = new PacketType(PROTOCOL, SENDER, 0x04, 11); + public static final PacketType LOOK = new PacketType(PROTOCOL, SENDER, 0x05, 12); + public static final PacketType POSITION_LOOK = new PacketType(PROTOCOL, SENDER, 0x06, 13); public static final PacketType BLOCK_DIG = new PacketType(PROTOCOL, SENDER, 0x07, 14); - public static final PacketType PLACE = new PacketType(PROTOCOL, SENDER, 0x08, 15); - public static final PacketType BLOCK_ITEM_SWITCH = new PacketType(PROTOCOL, SENDER, 0x09, 16); + public static final PacketType BLOCK_PLACE = new PacketType(PROTOCOL, SENDER, 0x08, 15); + public static final PacketType HELD_ITEM_SLOT = new PacketType(PROTOCOL, SENDER, 0x09, 16); public static final PacketType ARM_ANIMATION = new PacketType(PROTOCOL, SENDER, 0x0A, 18); public static final PacketType ENTITY_ACTION = new PacketType(PROTOCOL, SENDER, 0x0B, 19); - public static final PacketType PLAYER_INPUT = new PacketType(PROTOCOL, SENDER, 0x0C, 27); + public static final PacketType STEER_VECHICLE = new PacketType(PROTOCOL, SENDER, 0x0C, 27); public static final PacketType CLOSE_WINDOW = new PacketType(PROTOCOL, SENDER, 0x0D, 101); public static final PacketType WINDOW_CLICK = new PacketType(PROTOCOL, SENDER, 0x0E, 102); public static final PacketType TRANSACTION = new PacketType(PROTOCOL, SENDER, 0x0F, 106); - public static final PacketType CREATIVE_SLOT = new PacketType(PROTOCOL, SENDER, 0x10, 107); - public static final PacketType BUTTON_CLICK = new PacketType(PROTOCOL, SENDER, 0x11, 108); + public static final PacketType SET_CREATIVE_SLOT = new PacketType(PROTOCOL, SENDER, 0x10, 107); + public static final PacketType ENCHANT_ITEM = new PacketType(PROTOCOL, SENDER, 0x11, 108); public static final PacketType UPDATE_SIGN = new PacketType(PROTOCOL, SENDER, 0x12, 130); public static final PacketType ABILITIES = new PacketType(PROTOCOL, SENDER, 0x13, 202); public static final PacketType TAB_COMPLETE = new PacketType(PROTOCOL, SENDER, 0x14, 203); - public static final PacketType LOCALE_AND_VIEW_DISTANCE = new PacketType(PROTOCOL, SENDER, 0x15, 204); + public static final PacketType SETTINGS = new PacketType(PROTOCOL, SENDER, 0x15, 204); public static final PacketType CLIENT_COMMAND = new PacketType(PROTOCOL, SENDER, 0x16, 205); public static final PacketType CUSTOM_PAYLOAD = new PacketType(PROTOCOL, SENDER, 0x17, 250); @@ -228,9 +237,9 @@ public class PacketType implements Serializable { public static class Server extends ObjectEnum { private final static Sender SENDER = Sender.SERVER; - public static final PacketType KICK_DISCONNECT = new PacketType(PROTOCOL, SENDER, 0x00, 255); + public static final PacketType OUT_SERVER_INFO = new PacketType(PROTOCOL, SENDER, 0x00, 255); @SuppressWarnings("deprecation") - public static final PacketType PING_TIME = new PacketType(PROTOCOL, SENDER, 0x01, Packets.Server.PING_TIME); + public static final PacketType OUT_PING = new PacketType(PROTOCOL, SENDER, 0x01, Packets.Server.PING_TIME); private final static Server INSTANCE = new Server(); @@ -248,9 +257,9 @@ public class PacketType implements Serializable { public static class Client extends ObjectEnum { private final static Sender SENDER = Sender.CLIENT; - public static final PacketType STATUS_REQUEST = new PacketType(PROTOCOL, SENDER, 0x00, 254); + public static final PacketType IN_START = new PacketType(PROTOCOL, SENDER, 0x00, 254); @SuppressWarnings("deprecation") - public static final PacketType PING_TIME = new PacketType(PROTOCOL, SENDER, 0x01, Packets.Client.PING_TIME); + public static final PacketType IN_PING = new PacketType(PROTOCOL, SENDER, 0x01, Packets.Client.PING_TIME); private final static Client INSTANCE = new Client(); @@ -280,10 +289,10 @@ public class PacketType implements Serializable { public static class Server extends ObjectEnum { private final static Sender SENDER = Sender.SERVER; - public static final PacketType KICK_DISCONNECT = new PacketType(PROTOCOL, SENDER, 0x00, 255); - public static final PacketType KEY_REQUEST = new PacketType(PROTOCOL, SENDER, 0x01, 253); + public static final PacketType DISCONNECT = new PacketType(PROTOCOL, SENDER, 0x00, 255); + public static final PacketType ENCRYPTION_BEGIN = new PacketType(PROTOCOL, SENDER, 0x01, 253); @SuppressWarnings("deprecation") - public static final PacketType LOGIN_SUCCESS = new PacketType(PROTOCOL, SENDER, 0x02, Packets.Server.LOGIN_SUCCESS); + public static final PacketType SUCCESS = new PacketType(PROTOCOL, SENDER, 0x02, Packets.Server.LOGIN_SUCCESS); private final static Server INSTANCE = new Server(); @@ -302,8 +311,8 @@ public class PacketType implements Serializable { private final static Sender SENDER = Sender.CLIENT; @SuppressWarnings("deprecation") - public static final PacketType LOGIN_START = new PacketType(PROTOCOL, SENDER, 0x00, Packets.Client.LOGIN_START); - public static final PacketType KEY_RESPONSE = new PacketType(PROTOCOL, SENDER, 0x01, 252); + public static final PacketType START = new PacketType(PROTOCOL, SENDER, 0x00, Packets.Client.LOGIN_START); + public static final PacketType ENCRYPTION_BEGIN = new PacketType(PROTOCOL, SENDER, 0x01, 252); private final static Client INSTANCE = new Client(); diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java b/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java index 4c665a1c..3eca6415 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java @@ -118,7 +118,7 @@ public class PacketContainer implements Serializable { // Packets that cannot be cloned by our default deep cloner private static final Set CLONING_UNSUPPORTED = Sets.newHashSet( - PacketType.Play.Server.UPDATE_ATTRIBUTES, PacketType.Status.Server.KICK_DISCONNECT); + PacketType.Play.Server.UPDATE_ATTRIBUTES, PacketType.Status.Server.OUT_SERVER_INFO); /** * Creates a packet container for a new packet. diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/utility/MinecraftMethods.java b/ProtocolLib/src/main/java/com/comphenix/protocol/utility/MinecraftMethods.java index b1d7fef2..3141d7c5 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/utility/MinecraftMethods.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/utility/MinecraftMethods.java @@ -181,7 +181,7 @@ public class MinecraftMethods { new Object[] { UnpooledByteBufAllocator.DEFAULT.buffer() } ); - Object lookPacket = new PacketContainer(PacketType.Play.Client.PLACE).getHandle(); + Object lookPacket = new PacketContainer(PacketType.Play.Client.BLOCK_PLACE).getHandle(); List candidates = FuzzyReflection.fromClass(MinecraftReflection.getPacketClass()). getMethodListByParameters(Void.TYPE, new Class[] { MinecraftReflection.getPacketDataSerializerClass() }); diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/utility/MinecraftReflection.java b/ProtocolLib/src/main/java/com/comphenix/protocol/utility/MinecraftReflection.java index 1bd9770e..381803a0 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/utility/MinecraftReflection.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/utility/MinecraftReflection.java @@ -1237,7 +1237,7 @@ public class MinecraftReflection { return getMinecraftClass("MobEffect"); } catch (RuntimeException e) { // It is the second parameter in Packet41MobEffect - Class packet = PacketRegistry.getPacketClassFromType(PacketType.Play.Server.MOB_EFFECT); + Class packet = PacketRegistry.getPacketClassFromType(PacketType.Play.Server.ENTITY_EFFECT); Constructor constructor = FuzzyReflection.fromClass(packet).getConstructor( FuzzyMethodContract.newBuilder(). parameterCount(2). diff --git a/ProtocolLib/src/test/java/com/comphenix/protocol/events/PacketContainerTest.java b/ProtocolLib/src/test/java/com/comphenix/protocol/events/PacketContainerTest.java index ddfa422c..405d2d54 100644 --- a/ProtocolLib/src/test/java/com/comphenix/protocol/events/PacketContainerTest.java +++ b/ProtocolLib/src/test/java/com/comphenix/protocol/events/PacketContainerTest.java @@ -391,7 +391,7 @@ public class PacketContainerTest { StructureModifier firstMod = constructed.getModifier(), secondMod = cloned.getModifier(); assertEquals(firstMod.size(), secondMod.size()); - if (PacketType.Status.Server.KICK_DISCONNECT.equals(type)) { + if (PacketType.Status.Server.OUT_SERVER_INFO.equals(type)) { assertArrayEquals(SerializationUtils.serialize(constructed), SerializationUtils.serialize(cloned)); } else { diff --git a/ProtocolLib/src/test/java/com/comphenix/protocol/utility/MinecraftMethodsTest.java b/ProtocolLib/src/test/java/com/comphenix/protocol/utility/MinecraftMethodsTest.java new file mode 100644 index 00000000..52e33606 --- /dev/null +++ b/ProtocolLib/src/test/java/com/comphenix/protocol/utility/MinecraftMethodsTest.java @@ -0,0 +1,20 @@ +package com.comphenix.protocol.utility; + +import static org.junit.Assert.assertNotNull; + +import org.junit.BeforeClass; +import org.junit.Test; + +import com.comphenix.protocol.BukkitInitialization; + +public class MinecraftMethodsTest { + @BeforeClass + public static void initializeReflection() throws IllegalAccessException { + BukkitInitialization.initializePackage(); + } + + @Test + public void testSendPacketMethod() { + assertNotNull(MinecraftMethods.getSendPacketMethod()); + } +}