LeviLamina
Loading...
Searching...
No Matches
SynchedActorData.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Actor;
8class CompoundTag;
9class DataItem;
10class EntityContext;
11class Vec3;
12// clang-format on
13
14class SynchedActorData {
15public:
16 // SynchedActorData inner types declare
17 // clang-format off
18 struct CopyableDataList;
19 // clang-format on
20
21 // SynchedActorData inner types define
22 struct CopyableDataList {
23 public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::DataItem>>> mData;
27 // NOLINTEND
28
29 public:
30 // prevent constructor by default
31 CopyableDataList(CopyableDataList const&);
32 CopyableDataList();
33
34 public:
35 // member functions
36 // NOLINTBEGIN
37 MCAPI ::SynchedActorData::CopyableDataList& operator=(::SynchedActorData::CopyableDataList const& other);
38
39 MCAPI ~CopyableDataList();
40 // NOLINTEND
41
42 public:
43 // destructor thunk
44 // NOLINTBEGIN
45 MCFOLD void $dtor();
46 // NOLINTEND
47 };
48
49 using DataList = ::std::vector<::std::unique_ptr<::DataItem>>;
50
51 using ID = ushort;
52
53 using TypeFloat = float;
54
55 using TypeInt = int;
56
57 using TypeInt64 = int64;
58
59 using TypeInt8 = schar;
60
61 using TypeShort = short;
62
63 using TypeString = ::std::string;
64
65 using TypeVec3 = ::Vec3;
66
67public:
68 template <class T>
69 MCAPI void set(ushort id, T const& value);
70
71public:
72 // member variables
73 // NOLINTBEGIN
74 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::DataItem>>> mItemsArray;
75 ::ll::TypedStorage<8, 24, ::std::bitset<141>> mDirtyFlags;
76 ::ll::TypedStorage<8, 24, ::std::bitset<141>> mHasComponentData;
77 // NOLINTEND
78
79public:
80 // prevent constructor by default
81 SynchedActorData& operator=(SynchedActorData const&);
82 SynchedActorData(SynchedActorData const&);
83 SynchedActorData();
84
85public:
86 // member functions
87 // NOLINTBEGIN
88 MCAPI ::SynchedActorData _clone() const;
89
90#ifdef LL_PLAT_C
91 MCAPI bool assignValue(::DataItem const& newItem);
92
93 MCAPI void assignValues(
94 ::std::vector<::std::unique_ptr<::DataItem>> const& items,
95 ::Actor& actor,
96 ::std::optional<uint64> targetFrame
97 );
98#endif
99
100 MCAPI ::CompoundTag const& getCompoundTag(ushort id) const;
101
102 MCAPI ::SynchedActorData& operator=(::SynchedActorData&& rhs);
103
104 MCAPI ::std::vector<::std::unique_ptr<::DataItem>> packAll(::EntityContext const& entity) const;
105
106 MCAPI ::std::vector<::std::unique_ptr<::DataItem>> packDirty(::EntityContext& entity);
107
108#ifdef LL_PLAT_C
109 MCAPI void queueAssignment(
110 ::std::vector<::std::unique_ptr<::DataItem>> const& items,
111 ::Actor& actor,
112 ::std::optional<uint64> targetFrame
113 );
114#endif
115
116 MCAPI ~SynchedActorData();
117 // NOLINTEND
118
119public:
120 // static functions
121 // NOLINTBEGIN
122 MCAPI static ::std::vector<::std::unique_ptr<::DataItem>>
123 cloneDataList(::std::vector<::std::unique_ptr<::DataItem>> const& list);
124 // NOLINTEND
125
126public:
127 // static variables
128 // NOLINTBEGIN
129 MCAPI static ::std::string const& DIFF_ITEM_NULL();
130 // NOLINTEND
131
132public:
133 // destructor thunk
134 // NOLINTBEGIN
135 MCFOLD void $dtor();
136 // NOLINTEND
137};
Definition Actor.h:113
Definition CompoundTag.h:18
Definition DataItem.h:14
Definition EntityContext.h:15
Definition Vec3.h:10
Definition SynchedActorData.h:22