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