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/deps/shared_types/v1_26_40/actor/BucketableComponentDefinition.h"
9#include "mc/deps/shared_types/v1_26_40/actor/DynamicJumpControlComponentDefinition.h"
10#include "mc/deps/shared_types/v1_26_40/actor/HideComponentDefinition.h"
11#include "mc/deps/shared_types/v1_26_40/actor/JumpControlComponentDefinition.h"
12#include "mc/deps/shared_types/v1_26_40/actor/ManagedWanderingTraderComponentDefinition.h"
13#include "mc/deps/shared_types/v1_26_40/actor/OpenDoorAnnotationComponentDefinition.h"
14#include "mc/deps/shared_types/v1_26_40/actor/PersistentComponentDefinition.h"
15#include "mc/deps/shared_types/v1_26_40/actor/TradeResupplyComponentDefinition.h"
16#include "mc/deps/shared_types/v1_26_40/actor/TrustComponentDefinition.h"
17#include "mc/deps/shared_types/v1_26_50/actor/PreferredPathComponentDefinition.h"
18#include "mc/deps/shared_types/v1_26_50/actor/ProjectileComponentDefinition.h"
19#include "mc/entity/components/BehaviorTreeDescription.h"
20#include "mc/entity/components/BreakDoorAnnotationDescription.h"
21#include "mc/entity/components/CommandBlockDescription.h"
22#include "mc/entity/components_json_legacy/BreakBlocksDescription.h"
23#include "mc/entity/components_json_legacy/ContainerDescription.h"
24#include "mc/entity/components_json_legacy/DwellerDescription.h"
25#include "mc/entity/components_json_legacy/EconomyTradeableDescription.h"
26#include "mc/entity/components_json_legacy/IllagerBeastBlockedDescription.h"
27#include "mc/entity/components_json_legacy/TeleportDescription.h"
28#include "mc/entity/components_json_legacy/TransformationDescription.h"
29#include "mc/entity/definitions/AmphibiousMoveControlDescription.h"
30#include "mc/entity/definitions/AttackDescription.h"
31#include "mc/entity/definitions/GenericMoveControlDescription.h"
32#include "mc/entity/definitions/GlideMoveControlDescription.h"
33#include "mc/entity/definitions/MobEffectChangeDescription.h"
34#include "mc/entity/definitions/MoveControlBasicDescription.h"
35#include "mc/entity/definitions/MoveControlDolphinDescription.h"
36#include "mc/entity/definitions/MoveControlFlyDescription.h"
37#include "mc/entity/definitions/MoveControlHoverDescription.h"
38#include "mc/entity/definitions/MoveControlSkipDescription.h"
39#include "mc/entity/definitions/MoveControlSwayDescription.h"
40#include "mc/entity/definitions/NavigationClimbDescription.h"
41#include "mc/entity/definitions/NavigationFloatDescription.h"
42#include "mc/entity/definitions/NavigationFlyDescription.h"
43#include "mc/entity/definitions/NavigationGenericDescription.h"
44#include "mc/entity/definitions/NavigationHoverDescription.h"
45#include "mc/entity/definitions/NavigationSwimDescription.h"
46#include "mc/entity/definitions/NavigationWalkDescription.h"
47#include "mc/entity/definitions/SlimeMoveControlDescription.h"
48#include "mc/entity/definitions/StrengthDescription.h"
49#include "mc/entity/definitions/TrailDescription.h"
50#include "mc/server/commands/CurrentCmdVersion.h"
51#include "mc/world/actor/ActorAliasDescription.h"
52#include "mc/world/actor/ActorDefinitionDescriptor.h"
53#include "mc/world/actor/ActorDefinitionParseStatus.h"
54#include "mc/world/actor/ActorPropertiesDescription.h"
55#include "mc/world/actor/ActorVersionDescription.h"
56#include "mc/world/actor/AnimationScriptsDescription.h"
57#include "mc/world/actor/AnimationsDescription.h"
58#include "mc/world/actor/IdentifierDescription.h"
59#include "mc/world/actor/IsSpawnableDescription.h"
60#include "mc/world/actor/IsSummonableDescription.h"
61#include "mc/world/actor/RuntimeIdentifierDescription.h"
62#include "mc/world/actor/SpawnCategoryDescription.h"
63#include "mc/world/persistence/DynamicPropertiesDefinition.h"
64
65// auto generated forward declare list
66// clang-format off
69class ActorFactory;
71class Experiments;
73class PackLoadContext;
74class SemVersion;
77namespace cereal { class DynamicValue; }
78// clang-format on
79
80class ActorDefinition {
81public:
82 // member variables
83 // NOLINTBEGIN
84 ::ll::TypedStorage<8, 1024, ::ActorDefinitionDescriptor> mDescription;
85 ::ll::TypedStorage<8, 40, ::IdentifierDescription> mIdentifier;
86 ::ll::TypedStorage<8, 40, ::RuntimeIdentifierDescription> mRuntimeIdentifier;
87 ::ll::TypedStorage<8, 16, ::IsSpawnableDescription> mIsSpawnable;
88 ::ll::TypedStorage<8, 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<8, 16, ::SpawnCategoryDescription> mSpawnCategoryDescription;
94 ::ll::TypedStorage<8, 32, ::ActorVersionDescription> mActorVersionDescription;
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, 64, ::std::unordered_map<::std::string, ::ActorDefinitionEvent>> mUpgradeHandlers;
98 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::CommonResourceDefinitionMap>> mCommonResourceDefinitionMap;
99 ::ll::TypedStorage<8, 32, ::std::string> mRelativeResourceFilepath;
100 ::ll::TypedStorage<4, 4, ::CurrentCmdVersion> mCommandVersion;
101 ::ll::TypedStorage<8, 72, ::DynamicPropertiesDefinition> mDynamicPropertiesDefinition;
102 ::ll::TypedStorage<8, 56, ::AttackDescription> mAttack;
103 ::ll::TypedStorage<8, 56, ::MobEffectChangeDescription> mMobEffects;
104 ::ll::TypedStorage<8, 16, ::AmphibiousMoveControlDescription> mAmphibiousMoveControl;
105 ::ll::TypedStorage<8, 40, ::BehaviorTreeDescription> mBehavior;
106 ::ll::TypedStorage<8, 72, ::BreakBlocksDescription> mBreakBlocks;
107 ::ll::TypedStorage<8, 16, ::BreakDoorAnnotationDescription> mBreakDoorAnnotation;
108 ::ll::TypedStorage<1, 1, ::SharedTypes::v1_26_40::BucketableComponentDefinition> mBucketable;
109 ::ll::TypedStorage<8, 24, ::CommandBlockDescription> mCommandBlock;
110 ::ll::TypedStorage<8, 24, ::ContainerDescription> mContainer;
111 ::ll::TypedStorage<8, 128, ::DwellerDescription> mDweller;
112 ::ll::TypedStorage<8, 16, ::GenericMoveControlDescription> mGenericMoveControl;
113 ::ll::TypedStorage<8, 24, ::GlideMoveControlDescription> mGlideMoveControl;
114 ::ll::TypedStorage<1, 1, ::SharedTypes::v1_26_40::HideComponentDefinition> mHide;
115 ::ll::TypedStorage<8, 40, ::IllagerBeastBlockedDescription> mIllagerBeastBlocked;
116 ::ll::TypedStorage<1, 1, ::SharedTypes::v1_26_40::ManagedWanderingTraderComponentDefinition>
117 mManagedWanderingTrader;
118 ::ll::TypedStorage<8, 16, ::MoveControlBasicDescription> mMoveControl;
119 ::ll::TypedStorage<8, 16, ::MoveControlDolphinDescription> mDolphinSwimControl;
120 ::ll::TypedStorage<8, 16, ::MoveControlFlyDescription> mFlyControl;
121 ::ll::TypedStorage<8, 16, ::MoveControlSkipDescription> mHopControl;
122 ::ll::TypedStorage<8, 16, ::MoveControlHoverDescription> mHoverControl;
123 ::ll::TypedStorage<8, 24, ::MoveControlSwayDescription> mSwimControl;
124 ::ll::TypedStorage<8, 88, ::NavigationClimbDescription> mWallClimberNavigation;
125 ::ll::TypedStorage<8, 88, ::NavigationFloatDescription> mFloatNavigation;
126 ::ll::TypedStorage<8, 88, ::NavigationFlyDescription> mFlyingNavigation;
127 ::ll::TypedStorage<8, 88, ::NavigationHoverDescription> mHoverNavigation;
128 ::ll::TypedStorage<8, 88, ::NavigationGenericDescription> mGenericNavigation;
129 ::ll::TypedStorage<8, 120, ::NavigationSwimDescription> mWaterboundNavigation;
130 ::ll::TypedStorage<8, 88, ::NavigationWalkDescription> mNavigation;
131 ::ll::TypedStorage<1, 1, ::SharedTypes::v1_26_40::PersistentComponentDefinition> mPersistent;
132 ::ll::TypedStorage<8, 40, ::SharedTypes::v1_26_50::PreferredPathComponentDefinition> mPreferredPath;
133 ::ll::TypedStorage<8, 536, ::SharedTypes::v1_26_50::ProjectileComponentDefinition> mProjectile;
134 ::ll::TypedStorage<8, 24, ::SlimeMoveControlDescription> mSlimeMoveControl;
135 ::ll::TypedStorage<8, 24, ::StrengthDescription> mStrength;
136 ::ll::TypedStorage<8, 136, ::TrailDescription> mTrail;
137 ::ll::TypedStorage<8, 120, ::TeleportDescription> mTeleport;
138 ::ll::TypedStorage<4, 12, ::SharedTypes::v1_21_100::TickWorldDefinition> mTickWorld;
139 ::ll::TypedStorage<1, 1, ::SharedTypes::v1_26_40::TradeResupplyComponentDefinition> mTradeResupply;
140 ::ll::TypedStorage<1, 1, ::SharedTypes::v1_26_40::TrustComponentDefinition> mTrust;
141 ::ll::TypedStorage<8, 112, ::EconomyTradeableDescription> mEconomyTradeable;
142 ::ll::TypedStorage<8, 320, ::TransformationDescription> mTransformation;
143 ::ll::TypedStorage<4, 36, ::SharedTypes::v1_26_40::DynamicJumpControlComponentDefinition> mDynamicJumpControl;
144 ::ll::TypedStorage<4, 36, ::SharedTypes::v1_26_40::JumpControlComponentDefinition> mJumpControl;
145 ::ll::TypedStorage<1, 1, ::SharedTypes::v1_26_40::OpenDoorAnnotationComponentDefinition> mOpenDoorAnnotation;
146 // NOLINTEND
147
148public:
149 // prevent constructor by default
150 ActorDefinition();
151
152public:
153 // member functions
154 // NOLINTBEGIN
155 MCAPI explicit ActorDefinition(::std::string const& id);
156
157 MCAPI ::ActorDefinitionParseStatus parse(
158 ::ActorDocumentDataParams deserializeDataParams,
160 ::ActorFactory& actorFactory,
161 ::Experiments const& experiments,
162 ::LogArea logArea
163 );
164
165 MCAPI bool parseEntityDescription(
166 ::cereal::DynamicValue const& description,
167 ::SemVersion const& formatVersion,
168 ::PackLoadContext const& packLoadContext
169 );
170 // NOLINTEND
171
172public:
173 // static functions
174 // NOLINTBEGIN
175 MCAPI static void parseEvents(
176 ::std::unordered_map<::std::string, ::ActorDefinitionEvent>& eventHandlers,
177 ::cereal::DynamicValue const& root,
178 ::MinEngineVersion const& minEngineVersion,
179 ::SemVersion const& formatVersion,
180 ::ActorEventResponseFactory* responseFactory,
181 ::Experiments const& experiments
182 );
183 // NOLINTEND
184
185public:
186 // constructor thunks
187 // NOLINTBEGIN
188 MCAPI void* $ctor(::std::string const& id);
189 // NOLINTEND
190};
Definition ActorDefinitionDescriptor.h:72
Definition ActorDefinitionEvent.h:18
Definition ActorEventResponseFactory.h:18
Definition ActorFactory.h:33
Definition CommonResourceDefinitionMap.h:16
Definition Experiments.h:14
Definition MinEngineVersion.h:15
Definition PackLoadContext.h:20
Definition SemVersion.h:15
Definition DynamicValue.h:14
Definition ActorDefinitionAttribute.h:8
Definition ActorDocumentDataParams.h:16