Botcraft 1.21.5
Loading...
Searching...
No Matches
AbstractMinecartEntity.hpp
Go to the documentation of this file.
1#pragma once
2
3#if PROTOCOL_VERSION < 765 /* < 1.20.3 */
5#else
7#endif
8
9namespace Botcraft
10{
11#if PROTOCOL_VERSION < 765 /* < 1.20.3 */
12 class AbstractMinecartEntity : public Entity
13#else
15#endif
16 {
17 protected:
18#if PROTOCOL_VERSION < 765 /* < 1.20.3 */
19 static constexpr int metadata_count = 6;
20#elif PROTOCOL_VERSION < 770 /* < 1.21.5 */
21 static constexpr int metadata_count = 3;
22#else
23 static constexpr int metadata_count = 2;
24#endif
25 static const std::array<std::string, metadata_count> metadata_names;
26#if PROTOCOL_VERSION < 765 /* < 1.20.3 */
28#else
30#endif
31
32 public:
35
36 virtual bool IsAbstractMinecart() const override;
37
38 virtual ProtocolCraft::Json::Value Serialize() const override;
39
40 // Metadata stuff
41 virtual void SetMetadataValue(const int index, const std::any& value) override;
42
43#if PROTOCOL_VERSION < 765 /* < 1.20.3 */
44 int GetDataIdHurt() const;
45 int GetDataIdHurtdir() const;
46 float GetDataIdDamage() const;
47#endif
48#if PROTOCOL_VERSION < 770 /* < 1.21.5 */
49 int GetDataIdDisplayBlock() const;
50#else
52#endif
53 int GetDataIdDisplayOffset() const;
54#if PROTOCOL_VERSION < 770 /* < 1.21.5 */
55 bool GetDataIdCustomDisplay() const;
56#endif
57
58#if PROTOCOL_VERSION < 765 /* < 1.20.3 */
59 void SetDataIdHurt(const int data_id_hurt);
60 void SetDataIdHurtdir(const int data_id_hurtdir);
61 void SetDataIdDamage(const float data_id_damage);
62#endif
63#if PROTOCOL_VERSION < 770 /* < 1.21.5 */
64 void SetDataIdDisplayBlock(const int data_id_display_block);
65#else
66 void SetDataIdCustomDisplayBlock(const int data_id_display_block);
67#endif
68 void SetDataIdDisplayOffset(const int data_id_display_offset);
69#if PROTOCOL_VERSION < 770 /* < 1.21.5 */
70 void SetDataIdCustomDisplay(const bool data_id_custom_display);
71#endif
72
73 };
74}
virtual bool IsAbstractMinecart() const override
void SetDataIdDisplayOffset(const int data_id_display_offset)
void SetDataIdCustomDisplayBlock(const int data_id_display_block)
virtual ProtocolCraft::Json::Value Serialize() const override
virtual void SetMetadataValue(const int index, const std::any &value) override
static const std::array< std::string, metadata_count > metadata_names
static constexpr int hierarchy_metadata_count
Definition Entity.hpp:62
static constexpr int metadata_count
Definition Entity.hpp:55
void SetDataIdHurt(const int data_id_hurt)
static constexpr int metadata_count
void SetDataIdDamage(const float data_id_damage)
float GetDataIdDamage() const
static constexpr int hierarchy_metadata_count
void SetDataIdHurtdir(const int data_id_hurtdir)
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...
Definition Json.hpp:45