Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ActorDefinitionDescriptor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/entity/factory/DefinitionInstanceGroup.h"
8#include "mc/entity/factory/GoalDefinitionInstanceGroup.h"
9#include "mc/world/actor/ActorAliasDescription.h"
10#include "mc/world/actor/ActorPropertiesDescription.h"
11#include "mc/world/actor/AnimationScriptsDescription.h"
12#include "mc/world/actor/AnimationsDescription.h"
13#include "mc/world/actor/IdentifierDescription.h"
14#include "mc/world/actor/IsSpawnableDescription.h"
15#include "mc/world/actor/IsSummonableDescription.h"
16#include "mc/world/actor/RuntimeIdentifierDescription.h"
17#include "mc/world/actor/SpawnCategoryDescription.h"
18
19// auto generated forward declare list
20// clang-format off
21class Actor;
43namespace SharedTypes::v1_21_100 { struct TickWorldDefinition; }
44namespace SharedTypes::v1_26_40 { struct BucketableComponentDefinition; }
45namespace SharedTypes::v1_26_40 { struct DynamicJumpControlComponentDefinition; }
46namespace SharedTypes::v1_26_40 { struct HideComponentDefinition; }
47namespace SharedTypes::v1_26_40 { struct JumpControlComponentDefinition; }
48namespace SharedTypes::v1_26_40 { struct ManagedWanderingTraderComponentDefinition; }
49namespace SharedTypes::v1_26_40 { struct OpenDoorAnnotationComponentDefinition; }
50namespace SharedTypes::v1_26_40 { struct PersistentComponentDefinition; }
51namespace SharedTypes::v1_26_40 { struct TradeResupplyComponentDefinition; }
52namespace SharedTypes::v1_26_40 { struct TrustComponentDefinition; }
53namespace SharedTypes::v1_26_50 { struct PreferredPathComponentDefinition; }
54namespace SharedTypes::v1_26_50 { struct ProjectileComponentDefinition; }
55namespace SharedTypes::v1_26_60 { struct AmphibiousMoveControlComponentDefinition; }
56namespace SharedTypes::v1_26_60 { struct EconomyTradeableComponentDefinition; }
57namespace SharedTypes::v1_26_60 { struct GenericMoveControlComponentDefinition; }
58namespace SharedTypes::v1_26_60 { struct GlideMoveControlComponentDefinition; }
59namespace SharedTypes::v1_26_60 { struct MoveControlBasicComponentDefinition; }
60namespace SharedTypes::v1_26_60 { struct MoveControlDolphinComponentDefinition; }
61namespace SharedTypes::v1_26_60 { struct MoveControlFlyComponentDefinition; }
62namespace SharedTypes::v1_26_60 { struct MoveControlHoverComponentDefinition; }
63namespace SharedTypes::v1_26_60 { struct MoveControlSkipComponentDefinition; }
64namespace SharedTypes::v1_26_60 { struct MoveControlSwayComponentDefinition; }
65namespace SharedTypes::v1_26_60 { struct SlimeMoveControlComponentDefinition; }
66namespace SharedTypes::v1_26_60 { struct StrengthComponentDefinition; }
67namespace SharedTypes::v1_26_60 { struct TeleportComponentDefinition; }
68namespace SharedTypes::v1_26_60 { struct TrailComponentDefinition; }
69namespace SharedTypes::v1_26_60 { struct TransformationComponentDefinition; }
70// clang-format on
71
72class ActorDefinitionDescriptor {
73public:
74 // member variables
75 // NOLINTBEGIN
76 ::ll::TypedStorage<8, 64, ::std::unordered_set<::HashedString>> mComponentNames;
77 ::ll::TypedStorage<8, 40, ::IdentifierDescription> mIdentifier;
78 ::ll::TypedStorage<8, 40, ::RuntimeIdentifierDescription> mRuntimeIdentifier;
79 ::ll::TypedStorage<8, 16, ::IsSpawnableDescription> mIsSpawnable;
80 ::ll::TypedStorage<8, 16, ::IsSummonableDescription> mIsSummonable;
81 ::ll::TypedStorage<8, 72, ::AnimationsDescription> mAnimationsDescription;
82 ::ll::TypedStorage<8, 32, ::AnimationScriptsDescription> mAnimationScriptsDescription;
83 ::ll::TypedStorage<8, 24, ::ActorPropertiesDescription> mActorPropertiesDescription;
84 ::ll::TypedStorage<8, 32, ::ActorAliasDescription> mActorAliasDescription;
85 ::ll::TypedStorage<8, 16, ::SpawnCategoryDescription> mSpawnCategoryDescription;
86 ::ll::TypedStorage<8, 24, ::std::vector<::LegacyGoalDefinition>> mGoalDefinitions;
87 ::ll::TypedStorage<8, 24, ::std::vector<::ActorDefinitionAttribute>> mAttributes;
88 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::ActorDefinitionEvent>> mEventHandlers;
89 ::ll::TypedStorage<8, 72, ::DefinitionInstanceGroup> mDefinitionGroup;
90 ::ll::TypedStorage<8, 144, ::GoalDefinitionInstanceGroup> mGoalDefinitionGroup;
91 ::ll::TypedStorage<8, 8, ::AttackDescription const*> mAttack;
92 ::ll::TypedStorage<8, 8, ::MobEffectChangeDescription const*> mMobEffects;
93 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::AmphibiousMoveControlComponentDefinition const*>
94 mAmphibiousMoveControl;
95 ::ll::TypedStorage<8, 8, ::BehaviorTreeDescription const*> mBehavior;
96 ::ll::TypedStorage<8, 8, ::BreakBlocksDescription const*> mBreakBlocks;
97 ::ll::TypedStorage<8, 8, ::BreakDoorAnnotationDescription const*> mBreakDoorAnnotation;
98 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_40::BucketableComponentDefinition const*> mBucketable;
99 ::ll::TypedStorage<8, 8, ::CommandBlockDescription const*> mCommandBlock;
100 ::ll::TypedStorage<8, 8, ::ContainerDescription const*> mContainer;
101 ::ll::TypedStorage<8, 8, ::DwellerDescription const*> mDweller;
102 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::GenericMoveControlComponentDefinition const*> mGenericMoveControl;
103 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::GlideMoveControlComponentDefinition const*> mGlideMoveControl;
104 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_40::HideComponentDefinition const*> mHide;
105 ::ll::TypedStorage<8, 8, ::IllagerBeastBlockedDescription const*> mIllagerBeastBlocked;
106 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_40::ManagedWanderingTraderComponentDefinition const*>
107 mManagedWanderingTrader;
108 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::MoveControlBasicComponentDefinition const*> mMoveControl;
109 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::MoveControlDolphinComponentDefinition const*> mDolphinSwimControl;
110 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::MoveControlFlyComponentDefinition const*> mFlyControl;
111 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::MoveControlSkipComponentDefinition const*> mHopControl;
112 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::MoveControlHoverComponentDefinition const*> mHoverControl;
113 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::MoveControlSwayComponentDefinition const*> mSwimControl;
114 ::ll::TypedStorage<8, 8, ::NavigationClimbDescription const*> mWallClimberNavigation;
115 ::ll::TypedStorage<8, 8, ::NavigationFloatDescription const*> mFloatNavigation;
116 ::ll::TypedStorage<8, 8, ::NavigationFlyDescription const*> mFlyingNavigation;
117 ::ll::TypedStorage<8, 8, ::NavigationHoverDescription const*> mHoverNavigation;
118 ::ll::TypedStorage<8, 8, ::NavigationGenericDescription const*> mGenericNavigation;
119 ::ll::TypedStorage<8, 8, ::NavigationSwimDescription const*> mWaterboundNavigation;
120 ::ll::TypedStorage<8, 8, ::NavigationWalkDescription const*> mNavigation;
121 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_40::PersistentComponentDefinition const*> mPersistent;
122 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_50::PreferredPathComponentDefinition const*> mPreferredPath;
123 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_50::ProjectileComponentDefinition const*> mProjectile;
124 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::SlimeMoveControlComponentDefinition const*> mSlimeMoveControl;
125 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::StrengthComponentDefinition const*> mStrength;
126 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::TrailComponentDefinition const*> mTrail;
127 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::TeleportComponentDefinition const*> mTeleport;
128 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_21_100::TickWorldDefinition const*> mTickWorld;
129 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_40::TradeResupplyComponentDefinition const*> mTradeResupply;
130 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_40::TrustComponentDefinition const*> mTrust;
131 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::EconomyTradeableComponentDefinition const*> mEconomyTradeable;
132 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_60::TransformationComponentDefinition const*> mTransformation;
133 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_40::DynamicJumpControlComponentDefinition const*> mDynamicJumpControl;
134 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_40::JumpControlComponentDefinition const*> mJumpControl;
135 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_26_40::OpenDoorAnnotationComponentDefinition const*> mOpenDoorAnnotation;
136 // NOLINTEND
137
138public:
139 // prevent constructor by default
140 ActorDefinitionDescriptor& operator=(ActorDefinitionDescriptor const&);
141 ActorDefinitionDescriptor(ActorDefinitionDescriptor const&);
142
143public:
144 // member functions
145 // NOLINTBEGIN
147
148 MCNAPI ActorDefinitionDescriptor(::ActorDefinitionDescriptor&&);
149
150 MCNAPI ::ActorDefinitionDescriptor& combine(::ActorDefinitionDescriptor const& rhs);
151
152 MCNAPI ::std::optional<::ActorDefinitionAttribute> findAttributeByName(::std::string const& attributeName) const;
153
154#ifdef LL_PLAT_C
155 MCNAPI bool hasComponent(::HashedString const& name) const;
156
157 MCNAPI ::ActorDefinitionDescriptor& operator=(::ActorDefinitionDescriptor&&);
158#endif
159
160 MCNAPI ::ActorDefinitionDescriptor& subtract(::ActorDefinitionDescriptor const& rhs);
161
163 // NOLINTEND
164
165public:
166 // static functions
167 // NOLINTBEGIN
168 MCAPI static bool executeEvent(::Actor& entity, ::std::string const& name, ::VariantParameterList const& list);
169
170 MCAPI static bool
171 executeTrigger(::Actor& entity, ::ActorDefinitionTrigger const& trigger, ::VariantParameterList const& list);
172
173#ifdef LL_PLAT_C
174 MCNAPI static bool executeUpgrade(::Actor& entity, ::std::string const& name, ::VariantParameterList const& list);
175#endif
176
177 MCNAPI static void
179 // NOLINTEND
180
181public:
182 // constructor thunks
183 // NOLINTBEGIN
184 MCNAPI void* $ctor();
185
186 MCNAPI void* $ctor(::ActorDefinitionDescriptor&&);
187 // NOLINTEND
188
189public:
190 // destructor thunk
191 // NOLINTBEGIN
192 MCNAPI void $dtor();
193 // NOLINTEND
194};
static MCAPI void forceExecuteTrigger(::Actor &entity, ::ActorDefinitionTrigger const &trigger, ::VariantParameterList const &list)
MCAPI void * $ctor(::ActorDefinitionDescriptor &&)
MCAPI::ActorDefinitionDescriptor & subtract(::ActorDefinitionDescriptor const &rhs)
MCAPI ActorDefinitionDescriptor(::ActorDefinitionDescriptor &&)
MCAPI ::std::optional<::ActorDefinitionAttribute > findAttributeByName(::std::string const &attributeName) const
MCAPI::ActorDefinitionDescriptor & combine(::ActorDefinitionDescriptor const &rhs)
Definition ActorDefinitionEvent.h:18
Definition ActorDefinitionTrigger.h:14
Definition Actor.h:116
Definition HashedString.h:5
Definition ActorDefinitionAttribute.h:8
Definition AttackDescription.h:15
Definition BehaviorTreeDescription.h:8
Definition BreakBlocksDescription.h:14
Definition BreakDoorAnnotationDescription.h:14
Definition CommandBlockDescription.h:13
Definition ContainerDescription.h:14
Definition DwellerDescription.h:13
Definition IllagerBeastBlockedDescription.h:15
Definition LegacyGoalDefinition.h:32
Definition MobEffectChangeDescription.h:14
Definition NavigationClimbDescription.h:8
Definition NavigationFloatDescription.h:8
Definition NavigationFlyDescription.h:8
Definition NavigationGenericDescription.h:8
Definition NavigationHoverDescription.h:8
Definition NavigationSwimDescription.h:8
Definition NavigationWalkDescription.h:8
Definition TickWorldDefinition.h:7
Definition BucketableComponentDefinition.h:7
Definition DynamicJumpControlComponentDefinition.h:10
Definition HideComponentDefinition.h:7
Definition JumpControlComponentDefinition.h:10
Definition ManagedWanderingTraderComponentDefinition.h:7
Definition OpenDoorAnnotationComponentDefinition.h:7
Definition PersistentComponentDefinition.h:7
Definition TradeResupplyComponentDefinition.h:7
Definition TrustComponentDefinition.h:7
Definition PreferredPathComponentDefinition.h:15
Definition ProjectileComponentDefinition.h:19
Definition AmphibiousMoveControlComponentDefinition.h:15
Definition EconomyTradeableComponentDefinition.h:15
Definition GenericMoveControlComponentDefinition.h:15
Definition GlideMoveControlComponentDefinition.h:15
Definition MoveControlBasicComponentDefinition.h:15
Definition MoveControlDolphinComponentDefinition.h:10
Definition MoveControlFlyComponentDefinition.h:15
Definition MoveControlHoverComponentDefinition.h:15
Definition MoveControlSkipComponentDefinition.h:15
Definition MoveControlSwayComponentDefinition.h:15
Definition SlimeMoveControlComponentDefinition.h:16
Definition StrengthComponentDefinition.h:12
Definition TeleportComponentDefinition.h:16
Definition TrailComponentDefinition.h:17
Definition TransformationComponentDefinition.h:16
Definition VariantParameterList.h:17