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