nurtex_protocol/packets/play/
union.rs1use nurtex_derive::PacketUnion;
2
3use crate::packets::play::{
4 ClientsideAddResourcePack, ClientsideBlockUpdate, ClientsideChunkBatchFinished, ClientsideChunkBatchStart, ClientsideChunkCacheCenter,
5 ClientsideChunkCacheRadius, ClientsideClearChat, ClientsideCloseContainer, ClientsideContainerSetContent, ClientsideContainerSetData,
6 ClientsideContainerSetSlot, ClientsideDamageEvent, ClientsideDisconnect, ClientsideEntityPositionSync, ClientsideExplosion,
7 ClientsideGameEvent, ClientsideLoadChunkWithLight, ClientsideLightUpdate, ClientsideLogin, ClientsideMoveVehicle, ClientsideOpenContainer,
8 ClientsidePing, ClientsidePingResponse, ClientsidePlayerChat, ClientsidePlayerCombatKill, ClientsidePlayerLookAt, ClientsidePlayerPosition,
9 ClientsidePlayerRotation, ClientsideRemoveEntities, ClientsideRemoveEntityEffect, ClientsideRemoveResourcePack, ClientsideRotateHead,
10 ClientsideSectionBlocksUpdate, ClientsideSetCamera, ClientsideSetEntityLink, ClientsideSetEntityVelocity,
11 ClientsideSetExperience, ClientsideSetHealth, ClientsideSetPassengers, ClientsideSpawnEntity, ClientsideSystemChat, ClientsideTransfer,
12 ClientsideUnloadChunk, ClientsideUpdateEntityPos, ClientsideUpdateEntityPosRot, ClientsideUpdateEntityRot, MultisideKeepAlive,
13 ServersideAcceptTeleportation, ServersideChatCommand, ServersideChatMessage, ServersideClientCommand, ServersideContainerClick,
14 ServersideContainerClose, ServersideEditBook, ServersideInteract, ServersideMovePlayerPos, ServersideMovePlayerPosRot,
15 ServersideMovePlayerRot, ServersideMovePlayerStatusOnly, ServersidePingRequest, ServersidePlayerAction, ServersidePlayerCommand,
16 ServersidePong, ServersideResourcePackResponse, ServersideSetHeldItem, ServersideSwingArm, ServersideUseItem
17};
18
19#[derive(Clone, Debug, PartialEq, PacketUnion)]
20pub enum ClientsidePlayPacket {
21 #[packet_id = 0x2B]
22 KeepAlive(MultisideKeepAlive),
23 #[packet_id = 0x3B]
24 Ping(ClientsidePing),
25 #[packet_id = 0x3C]
26 PingResponse(ClientsidePingResponse),
27 #[packet_id = 0x19]
28 DamageEvent(ClientsideDamageEvent),
29 #[packet_id = 0x33]
30 UpdateEntityPos(ClientsideUpdateEntityPos),
31 #[packet_id = 0x36]
32 UpdateEntityRot(ClientsideUpdateEntityRot),
33 #[packet_id = 0x34]
34 UpdateEntityPosRot(ClientsideUpdateEntityPosRot),
35 #[packet_id = 0x46]
36 PlayerPosition(ClientsidePlayerPosition),
37 #[packet_id = 0x47]
38 PlayerRotation(ClientsidePlayerRotation),
39 #[packet_id = 0x45]
40 PlayerLookAt(ClientsidePlayerLookAt),
41 #[packet_id = 0x42]
42 PlayerCombatKill(ClientsidePlayerCombatKill),
43 #[packet_id = 0x66]
44 SetHealth(ClientsideSetHealth),
45 #[packet_id = 0x65]
46 SetExperience(ClientsideSetExperience),
47 #[packet_id = 0x69]
48 SetPassengers(ClientsideSetPassengers),
49 #[packet_id = 0x63]
50 SetEntityVelocity(ClientsideSetEntityVelocity),
51 #[packet_id = 0x01]
52 SpawnEntity(ClientsideSpawnEntity),
53 #[packet_id = 0x4B]
54 RemoveEntities(ClientsideRemoveEntities),
55 #[packet_id = 0x20]
56 Disconnect(ClientsideDisconnect),
57 #[packet_id = 0x3F]
58 PlayerChat(ClientsidePlayerChat),
59 #[packet_id = 0x77]
60 SystemChat(ClientsideSystemChat),
61 #[packet_id = 0x7F]
62 Transfer(ClientsideTransfer),
63 #[packet_id = 0x62]
64 SetEntityLink(ClientsideSetEntityLink),
65 #[packet_id = 0x5D]
66 ChunkCacheRadius(ClientsideChunkCacheRadius),
67 #[packet_id = 0x5C]
68 ChunkCacheCenter(ClientsideChunkCacheCenter),
69 #[packet_id = 0x5B]
70 SetCamera(ClientsideSetCamera),
71 #[packet_id = 0x51]
72 RotateHead(ClientsideRotateHead),
73 #[packet_id = 0x52]
74 SectionBlocksUpdate(ClientsideSectionBlocksUpdate),
75 #[packet_id = 0x4F]
76 AddResourcePack(ClientsideAddResourcePack),
77 #[packet_id = 0x4E]
78 RemoveResourcePack(ClientsideRemoveResourcePack),
79 #[packet_id = 0x4C]
80 RemoveEntityEffect(ClientsideRemoveEntityEffect),
81 #[packet_id = 0x39]
82 OpenContainer(ClientsideOpenContainer),
83 #[packet_id = 0x37]
84 MoveVehicle(ClientsideMoveVehicle),
85 #[packet_id = 0x30]
86 Login(ClientsideLogin),
87 #[packet_id = 0x23]
88 EntityPositionSync(ClientsideEntityPositionSync),
89 #[packet_id = 0x24]
90 Explosion(ClientsideExplosion),
91 #[packet_id = 0x25]
92 UnloadChunk(ClientsideUnloadChunk),
93 #[packet_id = 0x26]
94 GameEvent(ClientsideGameEvent),
95 #[packet_id = 0x1F]
96 ClearChat(ClientsideClearChat),
97 #[packet_id = 0x0C]
98 ChunkBatchStart(ClientsideChunkBatchStart),
99 #[packet_id = 0x0B]
100 ChunkBatchFinished(ClientsideChunkBatchFinished),
101 #[packet_id = 0x2C]
102 LoadChunkWithLight(ClientsideLoadChunkWithLight),
103 #[packet_id = 0x08]
104 BlockUpdate(ClientsideBlockUpdate),
105 #[packet_id = 0x12]
106 ContainerSetContent(ClientsideContainerSetContent),
107 #[packet_id = 0x14]
108 ContainerSetSlot(ClientsideContainerSetSlot),
109 #[packet_id = 0x2F]
110 LightUpdate(ClientsideLightUpdate),
111 #[packet_id = 0x11]
112 CloseContainer(ClientsideCloseContainer),
113 #[packet_id = 0x13]
114 ContainerSetData(ClientsideContainerSetData),
115}
116
117#[derive(Clone, Debug, PartialEq, PacketUnion)]
118pub enum ServersidePlayPacket {
119 #[packet_id = 0x1B]
120 KeepAlive(MultisideKeepAlive),
121 #[packet_id = 0x2C]
122 Pong(ServersidePong),
123 #[packet_id = 0x25]
124 PingRequest(ServersidePingRequest),
125 #[packet_id = 0x00]
126 AcceptTeleportation(ServersideAcceptTeleportation),
127 #[packet_id = 0x3C]
128 SwingArm(ServersideSwingArm),
129 #[packet_id = 0x40]
130 UseItem(ServersideUseItem),
131 #[packet_id = 0x1D]
132 MovePlayerPos(ServersideMovePlayerPos),
133 #[packet_id = 0x1F]
134 MovePlayerRot(ServersideMovePlayerRot),
135 #[packet_id = 0x1E]
136 MovePlayerPosRot(ServersideMovePlayerPosRot),
137 #[packet_id = 0x20]
138 MovePlayerStatusOnly(ServersideMovePlayerStatusOnly),
139 #[packet_id = 0x0B]
140 ClientCommand(ServersideClientCommand),
141 #[packet_id = 0x06]
142 ChatCommand(ServersideChatCommand),
143 #[packet_id = 0x08]
144 ChatMessage(ServersideChatMessage),
145 #[packet_id = 0x34]
146 SetHeldItem(ServersideSetHeldItem),
147 #[packet_id = 0x19]
148 Interact(ServersideInteract),
149 #[packet_id = 0x28]
150 PlayerAction(ServersidePlayerAction),
151 #[packet_id = 0x29]
152 PlayerCommand(ServersidePlayerCommand),
153 #[packet_id = 0x30]
154 ResourcePackResponse(ServersideResourcePackResponse),
155 #[packet_id = 0x11]
156 ContainerClick(ServersideContainerClick),
157 #[packet_id = 0x12]
158 ContainerClose(ServersideContainerClose),
159 #[packet_id = 0x17]
160 EditBook(ServersideEditBook),
161}