Botcraft 26.1.2
Loading...
Searching...
No Matches
CatEntity.hpp
Go to the documentation of this file.
1#if PROTOCOL_VERSION > 404 /* > 1.13.2 */
2#pragma once
3
5
6namespace Botcraft
7{
9 {
10 protected:
11#if PROTOCOL_VERSION < 775 /* < 26.1 */
12 static constexpr int metadata_count = 4;
13#else
14 static constexpr int metadata_count = 5;
15#endif
16 static const std::array<std::string, metadata_count> metadata_names;
18
19 public:
20 CatEntity();
21 virtual ~CatEntity();
22
23 // Object related stuff
24 virtual std::string GetName() const override;
25 virtual EntityType GetType() const override;
26
27 // Static stuff, for easier comparison
28 static std::string GetClassName();
29 static EntityType GetClassType();
30
31
32 virtual ProtocolCraft::Json::Value Serialize() const override;
33
34 // Metadata stuff
35 virtual void SetMetadataValue(const int index, const std::any& value) override;
36
37 int GetDataTypeId() const;
38 bool GetIsLying() const;
39 bool GetRelaxStateOne() const;
40 int GetDataCollarColor() const;
41#if PROTOCOL_VERSION > 774 /* > 1.21.11 */
42 int GetDataSoundVariantId() const;
43#endif
44
45 void SetDataTypeId(const int data_type_id);
46 void SetIsLying(const bool is_lying);
47 void SetRelaxStateOne(const bool relax_state_one);
48 void SetDataCollarColor(const int data_collar_color);
49#if PROTOCOL_VERSION > 774 /* > 1.21.11 */
50 void SetDataSoundVariantId(const int data_sound_variant_id);
51#endif
52
53 // Attribute stuff
54 double GetAttributeAttackDamageValue() const;
55
56 protected:
57 virtual double GetWidthImpl() const override;
58 virtual double GetHeightImpl() const override;
59
60 };
61}
62#endif
static const std::array< std::string, metadata_count > metadata_names
Definition CatEntity.hpp:16
void SetDataSoundVariantId(const int data_sound_variant_id)
int GetDataCollarColor() const
virtual void SetMetadataValue(const int index, const std::any &value) override
Definition CatEntity.cpp:82
int GetDataTypeId() const
Definition CatEntity.cpp:95
bool GetRelaxStateOne() const
virtual double GetWidthImpl() const override
int GetDataSoundVariantId() const
virtual ProtocolCraft::Json::Value Serialize() const override
Definition CatEntity.cpp:63
virtual std::string GetName() const override
Definition CatEntity.cpp:41
static EntityType GetClassType()
Definition CatEntity.cpp:57
void SetDataTypeId(const int data_type_id)
void SetRelaxStateOne(const bool relax_state_one)
virtual double GetHeightImpl() const override
bool GetIsLying() const
virtual EntityType GetType() const override
Definition CatEntity.cpp:46
static constexpr int hierarchy_metadata_count
Definition CatEntity.hpp:17
void SetDataCollarColor(const int data_collar_color)
double GetAttributeAttackDamageValue() const
void SetIsLying(const bool is_lying)
static constexpr int metadata_count
Definition CatEntity.hpp:14
static std::string GetClassName()
Definition CatEntity.cpp:52
static constexpr int hierarchy_metadata_count
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...
Definition Json.hpp:45