Skip to main content

nurtex_protocol/packets/play/
union.rs

1use 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}