Botcraft 1.21.4
Loading...
Searching...
No Matches
MobEffectInstanceDetails.hpp
Go to the documentation of this file.
1#if PROTOCOL_VERSION > 765 /* > 1.20.4 */
2#pragma once
5
6#include <memory>
7
8namespace ProtocolCraft
9{
10 namespace Components
11 {
13 {
14 private:
15 std::shared_ptr<MobEffectInstanceDetails> ReadHiddenEffect(ReadIterator& iter, size_t& length) const
16 {
17 std::shared_ptr<MobEffectInstanceDetails> hidden_effect = nullptr;
18 if (ReadData<bool>(iter, length))
19 {
20 hidden_effect = std::make_shared<MobEffectInstanceDetails>();
21 hidden_effect->Read(iter, length);
22 }
23 return hidden_effect;
24 }
25
26 void WriteHiddenEffect(const std::shared_ptr<MobEffectInstanceDetails>& hidden_effect, WriteContainer& container) const
27 {
28 WriteData<bool>(hidden_effect != nullptr, container);
29 if (hidden_effect != nullptr)
30 {
31 WriteData<MobEffectInstanceDetails>(*hidden_effect, container);
32 }
33 }
34
37 SERIALIZED_FIELD(Ambient, bool);
38 SERIALIZED_FIELD(ShowParticles, bool);
39 SERIALIZED_FIELD(ShowIcon, bool);
41
43 };
44 }
45}
46#endif
void WriteHiddenEffect(const std::shared_ptr< MobEffectInstanceDetails > &hidden_effect, WriteContainer &container) const
std::shared_ptr< MobEffectInstanceDetails > ReadHiddenEffect(ReadIterator &iter, size_t &length) const
SERIALIZED_FIELD(HiddenEffect, Internal::CustomType< std::shared_ptr< MobEffectInstanceDetails >, &MobEffectInstanceDetails::ReadHiddenEffect, &MobEffectInstanceDetails::WriteHiddenEffect >)
std::vector< unsigned char > WriteContainer
std::vector< unsigned char >::const_iterator ReadIterator