LeviLamina
Loading...
Searching...
No Matches
ActorDefinition.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/debug/log/LogArea.h"
7#include "mc/deps/shared_types/v1_21_100/actor/TickWorldDefinition.h"
8#include "mc/entity/components/BehaviorTreeDescription.h"
9#include "mc/entity/components/BreakDoorAnnotationDescription.h"
10#include "mc/entity/components/CommandBlockDescription.h"
11#include "mc/entity/components/TripodCameraDescription.h"
12#include "mc/entity/components_json_legacy/BreakBlocksDescription.h"
13#include "mc/entity/components_json_legacy/BucketableDescription.h"
14#include "mc/entity/components_json_legacy/ContainerDescription.h"
15#include "mc/entity/components_json_legacy/DwellerDescription.h"
16#include "mc/entity/components_json_legacy/EconomyTradeableDescription.h"
17#include "mc/entity/components_json_legacy/HideDescription.h"
18#include "mc/entity/components_json_legacy/IllagerBeastBlockedDescription.h"
19#include "mc/entity/components_json_legacy/ManagedWanderingTraderDescription.h"
20#include "mc/entity/components_json_legacy/OpenDoorAnnotationDescription.h"
21#include "mc/entity/components_json_legacy/ProjectileDescription.h"
22#include "mc/entity/components_json_legacy/PushableDescription.h"
23#include "mc/entity/components_json_legacy/TeleportDescription.h"
24#include "mc/entity/components_json_legacy/TransformationDescription.h"
25#include "mc/entity/definitions/AmphibiousMoveControlDescription.h"
26#include "mc/entity/definitions/AttackDescription.h"
27#include "mc/entity/definitions/DynamicJumpControlDescription.h"
28#include "mc/entity/definitions/GenericMoveControlDescription.h"
29#include "mc/entity/definitions/GlideMoveControlDescription.h"
30#include "mc/entity/definitions/JumpControlDescription.h"
31#include "mc/entity/definitions/MobEffectChangeDescription.h"
32#include "mc/entity/definitions/MoveControlBasicDescription.h"
33#include "mc/entity/definitions/MoveControlDolphinDescription.h"
34#include "mc/entity/definitions/MoveControlFlyDescription.h"
35#include "mc/entity/definitions/MoveControlHoverDescription.h"
36#include "mc/entity/definitions/MoveControlSkipDescription.h"
37#include "mc/entity/definitions/MoveControlSwayDescription.h"
38#include "mc/entity/definitions/NavigationClimbDescription.h"
39#include "mc/entity/definitions/NavigationFloatDescription.h"
40#include "mc/entity/definitions/NavigationFlyDescription.h"
41#include "mc/entity/definitions/NavigationGenericDescription.h"
42#include "mc/entity/definitions/NavigationHoverDescription.h"
43#include "mc/entity/definitions/NavigationSwimDescription.h"
44#include "mc/entity/definitions/NavigationWalkDescription.h"
45#include "mc/entity/definitions/PersistentDescription.h"
46#include "mc/entity/definitions/PreferredPathDescription.h"
47#include "mc/entity/definitions/SlimeMoveControlDescription.h"
48#include "mc/entity/definitions/StrengthDescription.h"
49#include "mc/entity/definitions/TradeResupplyDescription.h"
50#include "mc/entity/definitions/TrailDescription.h"
51#include "mc/entity/definitions/TrustDescription.h"
52#include "mc/resources/JsonBetaState.h"
53#include "mc/server/commands/CurrentCmdVersion.h"
54#include "mc/world/actor/ActorAliasDescription.h"
55#include "mc/world/actor/ActorDefinitionDescriptor.h"
56#include "mc/world/actor/ActorDefinitionParseStatus.h"
57#include "mc/world/actor/ActorPropertiesDescription.h"
58#include "mc/world/actor/AnimationScriptsDescription.h"
59#include "mc/world/actor/AnimationsDescription.h"
60#include "mc/world/actor/IdentifierDescription.h"
61#include "mc/world/actor/IsSpawnableDescription.h"
62#include "mc/world/actor/IsSummonableDescription.h"
63#include "mc/world/actor/RuntimeIdentifierDescription.h"
64#include "mc/world/actor/SpawnCategoryDescription.h"
65#include "mc/world/persistence/DynamicPropertiesDefinition.h"
66
67// auto generated forward declare list
68// clang-format off
71class ActorFactory;
74class SemVersion;
77namespace cereal { class DynamicValue; }
78// clang-format on
79
81public:
82 // member variables
83 // NOLINTBEGIN
84 ::ll::TypedStorage<8, 968, ::ActorDefinitionDescriptor> mDescription;
85 ::ll::TypedStorage<8, 40, ::IdentifierDescription> mIdentifier;
86 ::ll::TypedStorage<8, 40, ::RuntimeIdentifierDescription> mRuntimeIdentifier;
87 ::ll::TypedStorage<1, 16, ::IsSpawnableDescription> mIsSpawnable;
88 ::ll::TypedStorage<1, 16, ::IsSummonableDescription> mIsSummonable;
89 ::ll::TypedStorage<8, 72, ::AnimationsDescription> mAnimationsDescription;
90 ::ll::TypedStorage<8, 32, ::AnimationScriptsDescription> mAnimationScriptsDescription;
91 ::ll::TypedStorage<8, 24, ::ActorPropertiesDescription> mActorPropertiesDescription;
92 ::ll::TypedStorage<8, 32, ::ActorAliasDescription> mActorAliasDescription;
93 ::ll::TypedStorage<4, 16, ::SpawnCategoryDescription> mSpawnCategoryDescription;
94 ::ll::TypedStorage<8, 24, ::std::vector<::ActorDefinitionAttribute>> mAttributes;
95 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::ActorDefinitionEvent>> mEventHandlers;
96 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::CommonResourceDefinitionMap>> mCommonResourceDefinitionMap;
97 ::ll::TypedStorage<8, 32, ::std::string> mRelativeResourceFilepath;
98 ::ll::TypedStorage<4, 4, ::CurrentCmdVersion> mCommandVersion;
99 ::ll::TypedStorage<8, 72, ::DynamicPropertiesDefinition> mDynamicPropertiesDefinition;
100 ::ll::TypedStorage<8, 56, ::AttackDescription> mAttack;
101 ::ll::TypedStorage<8, 56, ::MobEffectChangeDescription> mMobEffects;
102 ::ll::TypedStorage<4, 16, ::AmphibiousMoveControlDescription> mAmphibiousMoveControl;
103 ::ll::TypedStorage<8, 40, ::BehaviorTreeDescription> mBehavior;
104 ::ll::TypedStorage<8, 72, ::BreakBlocksDescription> mBreakBlocks;
105 ::ll::TypedStorage<4, 16, ::BreakDoorAnnotationDescription> mBreakDoorAnnotation;
106 ::ll::TypedStorage<1, 8, ::BucketableDescription> mBucketable;
107 ::ll::TypedStorage<4, 24, ::CommandBlockDescription> mCommandBlock;
108 ::ll::TypedStorage<4, 24, ::ContainerDescription> mContainer;
109 ::ll::TypedStorage<8, 128, ::DwellerDescription> mDweller;
110 ::ll::TypedStorage<4, 16, ::GenericMoveControlDescription> mGenericMoveControl;
111 ::ll::TypedStorage<4, 24, ::GlideMoveControlDescription> mGlideMoveControl;
112 ::ll::TypedStorage<1, 8, ::HideDescription> mHide;
113 ::ll::TypedStorage<8, 40, ::IllagerBeastBlockedDescription> mIllagerBeastBlocked;
114 ::ll::TypedStorage<1, 8, ::ManagedWanderingTraderDescription> mManagedWanderingTrader;
115 ::ll::TypedStorage<4, 16, ::MoveControlBasicDescription> mMoveControl;
116 ::ll::TypedStorage<4, 16, ::MoveControlDolphinDescription> mDolphinSwimControl;
117 ::ll::TypedStorage<4, 16, ::MoveControlFlyDescription> mFlyControl;
118 ::ll::TypedStorage<4, 16, ::MoveControlSkipDescription> mHopControl;
119 ::ll::TypedStorage<4, 16, ::MoveControlHoverDescription> mHoverControl;
120 ::ll::TypedStorage<4, 24, ::MoveControlSwayDescription> mSwimControl;
121 ::ll::TypedStorage<8, 88, ::NavigationClimbDescription> mWallClimberNavigation;
122 ::ll::TypedStorage<8, 88, ::NavigationFloatDescription> mFloatNavigation;
123 ::ll::TypedStorage<8, 88, ::NavigationFlyDescription> mFlyingNavigation;
124 ::ll::TypedStorage<8, 88, ::NavigationHoverDescription> mHoverNavigation;
125 ::ll::TypedStorage<8, 88, ::NavigationGenericDescription> mGenericNavigation;
126 ::ll::TypedStorage<8, 120, ::NavigationSwimDescription> mWaterboundNavigation;
127 ::ll::TypedStorage<8, 88, ::NavigationWalkDescription> mNavigation;
128 ::ll::TypedStorage<1, 8, ::PersistentDescription> mPersistent;
129 ::ll::TypedStorage<8, 48, ::PreferredPathDescription> mPreferredPath;
130 ::ll::TypedStorage<8, 360, ::ProjectileDescription> mProjectile;
131 ::ll::TypedStorage<1, 16, ::PushableDescription> mPushable;
132 ::ll::TypedStorage<4, 24, ::SlimeMoveControlDescription> mSlimeMoveControl;
133 ::ll::TypedStorage<4, 24, ::StrengthDescription> mStrength;
134 ::ll::TypedStorage<8, 136, ::TrailDescription> mTrail;
135 ::ll::TypedStorage<4, 48, ::TeleportDescription> mTeleport;
136 ::ll::TypedStorage<4, 12, ::SharedTypes::v1_21_100::TickWorldDefinition> mTickWorld;
137 ::ll::TypedStorage<1, 8, ::TradeResupplyDescription> mTradeResupply;
138 ::ll::TypedStorage<1, 8, ::TrustDescription> mTrust;
139 ::ll::TypedStorage<8, 112, ::EconomyTradeableDescription> mEconomyTradeable;
140 ::ll::TypedStorage<8, 320, ::TransformationDescription> mTransformation;
141 ::ll::TypedStorage<4, 16, ::DynamicJumpControlDescription> mDynamicJumpControl;
142 ::ll::TypedStorage<4, 16, ::JumpControlDescription> mJumpControl;
143 ::ll::TypedStorage<1, 8, ::OpenDoorAnnotationDescription> mOpenDoorAnnotation;
144 ::ll::TypedStorage<1, 8, ::TripodCameraDescription> mTripodCamera;
145 // NOLINTEND
146
147public:
148 // prevent constructor by default
150
151public:
152 // member functions
153 // NOLINTBEGIN
154 MCAPI explicit ActorDefinition(::std::string const& id);
155
156 MCAPI ::ActorDefinitionParseStatus parse(
157 ::ActorDocumentDataParams deserializeDataParams,
159 ::ActorFactory& actorFactory,
160 ::LogArea logArea
161 );
162
163 MCAPI void parseAttributes(::ActorDocumentDataParams deserializeDataParams, ::ActorDefinitionDescriptor& desc);
164
165 MCAPI void parseEntityDescription(
166 ::cereal::DynamicValue const& description,
167 ::SemVersion const& formatVersion,
168 ::MinEngineVersion const& minEngineVersion
169 );
170
171 MCAPI void parseEvents(
172 ::cereal::DynamicValue const& root,
173 ::MinEngineVersion const& minEngineVersion,
174 ::SemVersion const& formatVersion,
175 ::ActorEventResponseFactory* responseFactory,
176 ::JsonBetaState useBetaFeatures
177 );
178
179 MCAPI ~ActorDefinition();
180 // NOLINTEND
181
182public:
183 // constructor thunks
184 // NOLINTBEGIN
185 MCAPI void* $ctor(::std::string const& id);
186 // NOLINTEND
187
188public:
189 // destructor thunk
190 // NOLINTBEGIN
191 MCAPI void $dtor();
192 // NOLINTEND
193};
Definition ActorDefinitionDescriptor.h:30
Definition ActorDefinitionEvent.h:18
Definition ActorDefinition.h:80
Definition ActorEventResponseFactory.h:18
Definition ActorFactory.h:33
Definition CommonResourceDefinitionMap.h:13
Definition MinEngineVersion.h:10
Definition SemVersion.h:16
Definition DynamicValue.h:12
Definition ActorDefinitionAttribute.h:8
Definition ActorDocumentDataParams.h:15