-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathprotocol.def
More file actions
65 lines (65 loc) · 8.33 KB
/
protocol.def
File metadata and controls
65 lines (65 loc) · 8.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
PACKET(0x00, KEEP_ALIVE, 1, FIELD(FIELD_INT, KEEP_ALIVE_ID))
PACKET(0x01, LOGIN_REQUEST, 8, FIELD(FIELD_INT, PROTOCOL_VERSION), FIELD(FIELD_STRING, USERNAME), FIELD(FIELD_LONG, NOT_USED), FIELD(FIELD_INT, NOT_USED), FIELD(FIELD_BYTE, NOT_USED), FIELD(FIELD_BYTE, NOT_USED), FIELD(FIELD_UBYTE, NOT_USED), FIELD(FIELD_UBYTE, NOT_USED))
PACKET(0x02, HANDSHAKE, 1, FIELD(FIELD_STRING, USERNAME))
PACKET(0x03, CHAT_MESSAGE, 1, FIELD(FIELD_STRING, MESSAGE))
PACKET(0x04, TIME_UPDATE, 1, FIELD(FIELD_LONG, TIME))
PACKET(0x05, ENTITY_EQUIPMENT, 4, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_SHORT, SLOT), FIELD(FIELD_SHORT, ITEM_ID), FIELD(FIELD_SHORT, DAMAGE))
PACKET(0x06, SPAWN_POSITION, 3, FIELD(FIELD_INT, X), FIELD(FIELD_INT, Y), FIELD(FIELD_INT, Z))
PACKET(0x07, USE_ENTITY, 3, FIELD(FIELD_INT, USER), FIELD(FIELD_INT, TARGET), FIELD(FIELD_BYTE, LEFT_CLICK))
PACKET(0x08, UPDATE_HEALTH, 3, FIELD(FIELD_SHORT, HEALTH), FIELD(FIELD_SHORT, FOOD), FIELD(FIELD_FLOAT, FOOD_SATURATION))
PACKET(0x09, RESPAWN, 5, FIELD(FIELD_BYTE, DIMENSION), FIELD(FIELD_BYTE, DIFFICULTY), FIELD(FIELD_BYTE, CREATIVE_MODE), FIELD(FIELD_SHORT, WORLD_HEIGHT), FIELD(FIELD_LONG, MAP_SEED))
PACKET(0x0A, PLAYER, 1, FIELD(FIELD_BYTE, ON_GROUND))
PACKET(0x0B, PLAYER_POSITION, 5, FIELD(FIELD_DOUBLE, X), FIELD(FIELD_DOUBLE, Y), FIELD(FIELD_DOUBLE, STANCE), FIELD(FIELD_DOUBLE, Z), FIELD(FIELD_BYTE, ON_GROUND))
PACKET(0x0C, PLAYER_LOOK, 3, FIELD(FIELD_FLOAT, YAW), FIELD(FIELD_FLOAT, PITCH), FIELD(FIELD_BYTE, ON_GROUND))
PACKET(0x0D, PLAYER_POSITION_AND_LOOK, 7, FIELD(FIELD_DOUBLE, X), FIELD(FIELD_DOUBLE, Y), FIELD(FIELD_DOUBLE, STANCE), FIELD(FIELD_DOUBLE, Z), FIELD(FIELD_FLOAT, YAW), FIELD(FIELD_FLOAT, PITCH), FIELD(FIELD_BYTE, ON_GROUND))
PACKET(0x0E, PLAYER_DIGGING, 5, FIELD(FIELD_BYTE, STATUS), FIELD(FIELD_INT, X), FIELD(FIELD_BYTE, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, FACE))
PACKET(0x0F, PLAYER_BLOCK_PLACEMENT, 5, FIELD(FIELD_INT, X), FIELD(FIELD_BYTE, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, DIRECTION), FIELD(FIELD_ITEM, HELD_ITEM))
PACKET(0x10, HOLDING_CHANGE, 1, FIELD(FIELD_SHORT, SLOT_ID))
PACKET(0x11, USE_BED, 5, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_BYTE, IN_BED), FIELD(FIELD_INT, X_COORDINATE), FIELD(FIELD_BYTE, Y_COORDINATE), FIELD(FIELD_INT, Z_COORDINATE))
PACKET(0x12, ANIMATION, 2, FIELD(FIELD_INT, EID), FIELD(FIELD_BYTE, ANIMATION))
PACKET(0x13, ENTITY_ACTION, 2, FIELD(FIELD_INT, EID), FIELD(FIELD_BYTE, ACTION_ID))
PACKET(0x14, NAMED_ENTITY_SPAWN, 8, FIELD(FIELD_INT, EID), FIELD(FIELD_STRING, PLAYER_NAME), FIELD(FIELD_INT, X), FIELD(FIELD_INT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, ROTATION), FIELD(FIELD_BYTE, PITCH), FIELD(FIELD_SHORT, CURRENT_ITEM))
PACKET(0x15, PICKUP_SPAWN, 10, FIELD(FIELD_INT, EID), FIELD(FIELD_SHORT, ITEM), FIELD(FIELD_BYTE, COUNT), FIELD(FIELD_SHORT, DAMAGE_OR_DATA), FIELD(FIELD_INT, X), FIELD(FIELD_INT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, ROTATION), FIELD(FIELD_BYTE, PITCH), FIELD(FIELD_BYTE, ROLL))
PACKET(0x16, COLLECT_ITEM, 2, FIELD(FIELD_INT, COLLECTED_EID), FIELD(FIELD_INT, COLLECTOR_EID))
PACKET(0x17, ADD_OBJECT_OR_VEHICLE, 6, FIELD(FIELD_INT, EID), FIELD(FIELD_BYTE, TYPE), FIELD(FIELD_INT, X), FIELD(FIELD_INT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_OBJECT_DATA, DATA))
PACKET(0x18, MOB_SPAWN, 8, FIELD(FIELD_INT, EID), FIELD(FIELD_BYTE, TYPE), FIELD(FIELD_INT, X), FIELD(FIELD_INT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, YAW), FIELD(FIELD_BYTE, PITCH), FIELD(FIELD_ENTITY_DATA, METADATA))
PACKET(0x19, ENTITY_PAINTING, 6, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_STRING, TITLE), FIELD(FIELD_INT, X), FIELD(FIELD_INT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_INT, DIRECTION))
PACKET(0x1A, EXPERIENCE_ORB, 5, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_INT, X), FIELD(FIELD_INT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_SHORT, COUNT))
PACKET(0x1B, STANCE_UPDATE, 6, FIELD(FIELD_FLOAT, UNKNOWN), FIELD(FIELD_FLOAT, UNKNOWN), FIELD(FIELD_FLOAT, UNKNOWN), FIELD(FIELD_FLOAT, UNKNOWN), FIELD(FIELD_BYTE, UNKNOWN), FIELD(FIELD_BYTE, UNKNOWN))
PACKET(0x1C, ENTITY_VELOCITY, 4, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_SHORT, VELOCITY_X), FIELD(FIELD_SHORT, VELOCITY_Y), FIELD(FIELD_SHORT, VELOCITY_Z))
PACKET(0x1D, DESTROY_ENTITY, 1, FIELD(FIELD_INT, EID))
PACKET(0x1E, ENTITY, 1, FIELD(FIELD_INT, EID))
PACKET(0x1F, ENTITY_RELATIVE_MOVE, 4, FIELD(FIELD_INT, EID), FIELD(FIELD_BYTE, DX), FIELD(FIELD_BYTE, DY), FIELD(FIELD_BYTE, DZ))
PACKET(0x20, ENTITY_LOOK, 3, FIELD(FIELD_INT, EID), FIELD(FIELD_BYTE, YAW), FIELD(FIELD_BYTE, PITCH))
PACKET(0x21, ENTITY_LOOK_AND_RELATIVE_MOVE, 6, FIELD(FIELD_INT, EID), FIELD(FIELD_BYTE, DX), FIELD(FIELD_BYTE, DY), FIELD(FIELD_BYTE, DZ), FIELD(FIELD_BYTE, YAW), FIELD(FIELD_BYTE, PITCH))
PACKET(0x22, ENTITY_TELEPORT, 6, FIELD(FIELD_INT, EID), FIELD(FIELD_INT, X), FIELD(FIELD_INT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, YAW), FIELD(FIELD_BYTE, PITCH))
PACKET(0x26, ENTITY_STATUS, 2, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_BYTE, ENTITY_STATUS))
PACKET(0x27, ATTACH_ENTITY, 2, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_INT, VEHICLE_ID))
PACKET(0x28, ENTITY_METADATA, 2, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_ENTITY_DATA, ENTITY_METADATA))
PACKET(0x29, ENTITY_EFFECT, 4, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_BYTE, EFFECT_ID), FIELD(FIELD_BYTE, AMPLIFIER), FIELD(FIELD_SHORT, DURATION))
PACKET(0x2A, REMOVE_ENTITY_EFFECT, 2, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_BYTE, EFFECT_ID))
PACKET(0x2B, EXPERIENCE, 3, FIELD(FIELD_FLOAT, EXPERIENCE_BAR), FIELD(FIELD_SHORT, LEVEL), FIELD(FIELD_SHORT, TOTAL_EXPERIENCE))
PACKET(0x32, PRE_CHUNK, 3, FIELD(FIELD_INT, X), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, MODE))
PACKET(0x33, MAP_CHUNK, 7, FIELD(FIELD_INT, X), FIELD(FIELD_SHORT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, SIZE_X), FIELD(FIELD_BYTE, SIZE_Y), FIELD(FIELD_BYTE, SIZE_Z), FIELD(FIELD_BYTE_ARRAY, DATA))
PACKET(0x34, MULTI_BLOCK_CHANGE, 3, FIELD(FIELD_INT, CHUNK_X), FIELD(FIELD_INT, CHUNK_Z), FIELD(FIELD_BLOCK_ARRAY, DATA))
PACKET(0x35, BLOCK_CHANGE, 5, FIELD(FIELD_INT, X), FIELD(FIELD_BYTE, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, BLOCK_TYPE), FIELD(FIELD_BYTE, BLOCK_METADATA))
PACKET(0x36, BLOCK_ACTION, 5, FIELD(FIELD_INT, X), FIELD(FIELD_SHORT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_BYTE, BYTE_1), FIELD(FIELD_BYTE, BYTE_2))
PACKET(0x3C, EXPLOSION, 5, FIELD(FIELD_DOUBLE, X), FIELD(FIELD_DOUBLE, Y), FIELD(FIELD_DOUBLE, Z), FIELD(FIELD_FLOAT, UNKNOWN), FIELD(FIELD_EXPLOSION_ARRAY, DATA))
PACKET(0x3D, SOUND_OR_PARTICLE_EFFECT, 5, FIELD(FIELD_INT, EFFECT_ID), FIELD(FIELD_INT, X), FIELD(FIELD_BYTE, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_INT, DATA))
PACKET(0x46, NEW_OR_INVALID_STATE, 2, FIELD(FIELD_BYTE, REASON), FIELD(FIELD_BYTE, GAME_MODE))
PACKET(0x47, THUNDERBOLT, 5, FIELD(FIELD_INT, ENTITY_ID), FIELD(FIELD_BYTE, UNKNOWN), FIELD(FIELD_INT, X), FIELD(FIELD_INT, Y), FIELD(FIELD_INT, Z))
PACKET(0x64, OPEN_WINDOW, 4, FIELD(FIELD_BYTE, WINDOW_ID), FIELD(FIELD_BYTE, INVENTORY_TYPE), FIELD(FIELD_STRING, WINDOW_TITLE), FIELD(FIELD_BYTE, NUMBER_OF_SLOTS))
PACKET(0x65, CLOSE_WINDOW, 1, FIELD(FIELD_BYTE, WINDOW_ID))
PACKET(0x66, WINDOW_CLICK, 6, FIELD(FIELD_BYTE, WINDOW_ID), FIELD(FIELD_SHORT, SLOT), FIELD(FIELD_BYTE, RIGHT_CLICK), FIELD(FIELD_SHORT, ACTION_NUMBER), FIELD(FIELD_BYTE, SHIFT), FIELD(FIELD_ITEM, CLICKED_ITEM))
PACKET(0x67, SET_SLOT, 3, FIELD(FIELD_BYTE, WINDOW_ID), FIELD(FIELD_SHORT, SLOT), FIELD(FIELD_ITEM, SLOT_DATA))
PACKET(0x68, WINDOW_ITEMS, 2, FIELD(FIELD_BYTE, WINDOW_ID), FIELD(FIELD_ITEM_ARRAY, DATA))
PACKET(0x69, UPDATE_WINDOW_PROPERTY, 3, FIELD(FIELD_BYTE, WINDOW_ID), FIELD(FIELD_SHORT, PROPERTY), FIELD(FIELD_SHORT, VALUE))
PACKET(0x6A, TRANSACTION, 3, FIELD(FIELD_BYTE, WINDOW_ID), FIELD(FIELD_SHORT, ACTION_NUMBER), FIELD(FIELD_BYTE, ACCEPTED))
PACKET(0x6B, CREATIVE_INVENTORY_ACTION, 2, FIELD(FIELD_SHORT, SLOT), FIELD(FIELD_ITEM, CLICKED_ITEM))
PACKET(0x6C, ENCHANT_ITEM, 2, FIELD(FIELD_BYTE, WINDOW_ID), FIELD(FIELD_BYTE, ENCHANTMENT))
PACKET(0x82, UPDATE_SIGN, 7, FIELD(FIELD_INT, X), FIELD(FIELD_SHORT, Y), FIELD(FIELD_INT, Z), FIELD(FIELD_STRING, TEXT1), FIELD(FIELD_STRING, TEXT2), FIELD(FIELD_STRING, TEXT3), FIELD(FIELD_STRING, TEXT4))
PACKET(0x83, ITEM_DATA, 3, FIELD(FIELD_SHORT, ITEM_TYPE), FIELD(FIELD_SHORT, ITEM_ID), FIELD(FIELD_MAP_ARRAY, DATA))
PACKET(0xC8, INCREMENT_STATISTIC, 2, FIELD(FIELD_INT, STATISTIC_ID), FIELD(FIELD_BYTE, AMOUNT))
PACKET(0xC9, PLAYER_LIST_ITEM, 3, FIELD(FIELD_STRING, PLAYER_NAME), FIELD(FIELD_BYTE, ONLINE), FIELD(FIELD_SHORT, PING))
PACKET(0xFE, SERVER_LIST_PING, 0, 0)
PACKET(0xFF, DISCONNECT_OR_KICK, 1, FIELD(FIELD_STRING, REASON))