Botcraft 1.21.4
Loading...
Searching...
No Matches
ClientboundLevelParticlesPacket.hpp
Go to the documentation of this file.
1#pragma once
2
5
7
8namespace ProtocolCraft
9{
10 class ClientboundLevelParticlesPacket : public BaseMessage<ClientboundLevelParticlesPacket>
11 {
12 public:
13 static constexpr std::string_view packet_name = "Level Particles";
14
15#if PROTOCOL_VERSION < 766 /* < 1.20.5 */
16 private:
17 Particle ReadParticle(ReadIterator& iter, size_t& length) const
18 {
20 particle.SetParticleType(GetParticleType());
21 particle.ReadOptions(iter, length);
22 return particle;
23 }
24
25 void WriteParticle(const Particle& particle, WriteContainer& container) const
26 {
27 particle.WriteOptions(container);
28 }
29#endif
30
31#if PROTOCOL_VERSION < 759 /* < 1.19 */
32 SERIALIZED_FIELD(ParticleType, Internal::DiffType<ProtocolCraft::ParticleType, int>);
33#elif PROTOCOL_VERSION < 766 /* < 1.20.5 */
34 SERIALIZED_FIELD(ParticleType, Internal::DiffType<ProtocolCraft::ParticleType, VarInt>);
35#endif
36 SERIALIZED_FIELD(OverrideLimiter, bool);
37#if PROTOCOL_VERSION > 768 /* > 1.21.3 */
38 SERIALIZED_FIELD(AlwaysShow, bool);
39#endif
40 SERIALIZED_FIELD(X, double);
41 SERIALIZED_FIELD(Y, double);
42 SERIALIZED_FIELD(Z, double);
43 SERIALIZED_FIELD(XDist, float);
44 SERIALIZED_FIELD(YDist, float);
45 SERIALIZED_FIELD(ZDist, float);
46 SERIALIZED_FIELD(MaxSpeed, float);
47 SERIALIZED_FIELD(Count, int);
48#if PROTOCOL_VERSION < 766 /* < 1.20.5 */
50#else
52#endif
53
55 };
56} //ProtocolCraft
#define SERIALIZED_FIELD(Name,...)
SERIALIZED_FIELD(Particle, ProtocolCraft::Particle)
Particle & SetParticleType(const ProtocolCraft::ParticleType particle_type_)
Definition Particle.cpp:332
std::vector< unsigned char > WriteContainer
std::vector< unsigned char >::const_iterator ReadIterator