LeviLamina
Loading...
Searching...
No Matches
BehaviorData.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class BlockPos;
8class Vec3;
9// clang-format on
10
12public:
13 // BehaviorData inner types declare
14 // clang-format off
15 struct DataProxy;
16 template<typename T0> struct Data;
17 // clang-format on
18
19 // BehaviorData inner types define
20 enum class DataType : uchar {
21 BlockPosition = 0,
22 Boolean = 1,
23 Float = 2,
24 Int = 3,
25 String = 4,
26 Vector3 = 5,
27 VoidPointer = 6,
28 };
29
30 struct DataProxy {
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 32, ::std::string> mId;
35 ::ll::TypedStorage<1, 1, ::BehaviorData::DataType> mType;
36 // NOLINTEND
37
38 public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ~DataProxy() = default;
42
43 virtual ::std::unique_ptr<::BehaviorData::DataProxy> copy() = 0;
44 // NOLINTEND
45
46 public:
47 // vftables
48 // NOLINTBEGIN
49 MCNAPI static void** $vftable();
50 // NOLINTEND
51 };
52
53 template <typename T0>
54 struct Data {};
55
57
58public:
59 // member variables
60 // NOLINTBEGIN
61 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::BehaviorData::DataProxy>>> mData;
62 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::BehaviorData::DataProxy>>> mDataStack;
63 // NOLINTEND
64
65public:
66 // member functions
67 // NOLINTBEGIN
68 MCAPI void copyData(::std::string const& from, ::std::string const& to, ::BehaviorData& other);
69
70 MCAPI bool hasData(::std::string const& strId) const;
71
72 MCAPI bool hasDataOfType(::std::string const& strId, ::BehaviorData::DataType type) const;
73
74 MCAPI ~BehaviorData();
75 // NOLINTEND
76
77public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCAPI void $dtor();
81 // NOLINTEND
82};
Definition BehaviorData.h:11
Definition BlockPos.h:17
Definition Vec3.h:10
Definition BehaviorData.h:30
static MCAPI void ** $vftable()
Definition BehaviorData.h:54