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/container/small_vector_base.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/entity/factory/DefinitionInstanceGroup.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;
39struct HideDescription;
66struct TrailDescription;
69struct TrustDescription;
71namespace SharedTypes::v1_21_100 { struct TickWorldDefinition; }
72// clang-format on
73
74class ActorDefinitionDescriptor {
75public:
76 // member variables
77 // NOLINTBEGIN
78 ::ll::TypedStorage<8, 64, ::std::unordered_set<::HashedString>> mComponentNames;
79 ::ll::TypedStorage<8, 40, ::IdentifierDescription> mIdentifier;
80 ::ll::TypedStorage<8, 40, ::RuntimeIdentifierDescription> mRuntimeIdentifier;
81 ::ll::TypedStorage<8, 16, ::IsSpawnableDescription> mIsSpawnable;
82 ::ll::TypedStorage<8, 16, ::IsSummonableDescription> mIsSummonable;
83 ::ll::TypedStorage<8, 72, ::AnimationsDescription> mAnimationsDescription;
84 ::ll::TypedStorage<8, 32, ::AnimationScriptsDescription> mAnimationScriptsDescription;
85 ::ll::TypedStorage<8, 24, ::ActorPropertiesDescription> mActorPropertiesDescription;
86 ::ll::TypedStorage<8, 32, ::ActorAliasDescription> mActorAliasDescription;
87 ::ll::TypedStorage<8, 16, ::SpawnCategoryDescription> mSpawnCategoryDescription;
88 ::ll::TypedStorage<8, 24, ::std::vector<::LegacyGoalDefinition>> mGoalDefinitions;
89 ::ll::TypedStorage<8, 24, ::std::vector<::ActorDefinitionAttribute>> mAttributes;
90 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::ActorDefinitionEvent>> mEventHandlers;
91 ::ll::TypedStorage<8, 72, ::DefinitionInstanceGroup> mDefinitionGroup;
92 ::ll::TypedStorage<8, 72, ::DefinitionInstanceGroup> mGoalDefinitionGroup;
93 ::ll::TypedStorage<8, 8, ::AttackDescription const*> mAttack;
94 ::ll::TypedStorage<8, 8, ::MobEffectChangeDescription const*> mMobEffects;
95 ::ll::TypedStorage<8, 8, ::AmphibiousMoveControlDescription const*> mAmphibiousMoveControl;
96 ::ll::TypedStorage<8, 8, ::BehaviorTreeDescription const*> mBehavior;
97 ::ll::TypedStorage<8, 8, ::BreakBlocksDescription const*> mBreakBlocks;
98 ::ll::TypedStorage<8, 8, ::BreakDoorAnnotationDescription const*> mBreakDoorAnnotation;
99 ::ll::TypedStorage<8, 8, ::BucketableDescription const*> mBucketable;
100 ::ll::TypedStorage<8, 8, ::CommandBlockDescription const*> mCommandBlock;
101 ::ll::TypedStorage<8, 8, ::ContainerDescription const*> mContainer;
102 ::ll::TypedStorage<8, 8, ::DwellerDescription const*> mDweller;
103 ::ll::TypedStorage<8, 8, ::GenericMoveControlDescription const*> mGenericMoveControl;
104 ::ll::TypedStorage<8, 8, ::GlideMoveControlDescription const*> mGlideMoveControl;
105 ::ll::TypedStorage<8, 8, ::HideDescription const*> mHide;
106 ::ll::TypedStorage<8, 8, ::IllagerBeastBlockedDescription const*> mIllagerBeastBlocked;
107 ::ll::TypedStorage<8, 8, ::ManagedWanderingTraderDescription const*> mManagedWanderingTrader;
108 ::ll::TypedStorage<8, 8, ::MoveControlBasicDescription const*> mMoveControl;
109 ::ll::TypedStorage<8, 8, ::MoveControlDolphinDescription const*> mDolphinSwimControl;
110 ::ll::TypedStorage<8, 8, ::MoveControlFlyDescription const*> mFlyControl;
111 ::ll::TypedStorage<8, 8, ::MoveControlSkipDescription const*> mHopControl;
112 ::ll::TypedStorage<8, 8, ::MoveControlHoverDescription const*> mHoverControl;
113 ::ll::TypedStorage<8, 8, ::MoveControlSwayDescription 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, ::PersistentDescription const*> mPersistent;
122 ::ll::TypedStorage<8, 8, ::PreferredPathDescription const*> mPreferredPath;
123 ::ll::TypedStorage<8, 8, ::ProjectileDescription const*> mProjectile;
124 ::ll::TypedStorage<8, 8, ::SlimeMoveControlDescription const*> mSlimeMoveControl;
125 ::ll::TypedStorage<8, 8, ::StrengthDescription const*> mStrength;
126 ::ll::TypedStorage<8, 8, ::TrailDescription const*> mTrail;
127 ::ll::TypedStorage<8, 8, ::TeleportDescription const*> mTeleport;
128 ::ll::TypedStorage<8, 8, ::SharedTypes::v1_21_100::TickWorldDefinition const*> mTickWorld;
129 ::ll::TypedStorage<8, 8, ::TradeResupplyDescription const*> mTradeResupply;
130 ::ll::TypedStorage<8, 8, ::TrustDescription const*> mTrust;
131 ::ll::TypedStorage<8, 8, ::EconomyTradeableDescription const*> mEconomyTradeable;
132 ::ll::TypedStorage<8, 8, ::TransformationDescription const*> mTransformation;
133 ::ll::TypedStorage<8, 8, ::DynamicJumpControlDescription const*> mDynamicJumpControl;
134 ::ll::TypedStorage<8, 8, ::JumpControlDescription const*> mJumpControl;
135 ::ll::TypedStorage<8, 8, ::OpenDoorAnnotationDescription const*> mOpenDoorAnnotation;
136 ::ll::TypedStorage<8, 8, ::TripodCameraDescription const*> mTripodCamera;
137 // NOLINTEND
138
139public:
140 // prevent constructor by default
141 ActorDefinitionDescriptor(ActorDefinitionDescriptor const&);
142
143public:
144 // member functions
145 // NOLINTBEGIN
146 MCAPI ActorDefinitionDescriptor();
147
148 MCAPI ActorDefinitionDescriptor(::ActorDefinitionDescriptor&&);
149
150 MCAPI ::ActorDefinitionDescriptor& combine(::ActorDefinitionDescriptor const& rhs);
151
152 MCAPI bool contains(::ActorDefinitionDescriptor const& rhs) const;
153
154 MCAPI ::std::optional<::ActorDefinitionAttribute> findAttributeByName(::std::string const& attributeName) const;
155
156 MCAPI bool hasJumpSubComponent();
157
158 MCAPI bool hasMovementSubComponent();
159
160 MCAPI bool hasNavigationSubComponent();
161
162 MCAPI ::ActorDefinitionDescriptor& operator=(::ActorDefinitionDescriptor&&);
163
164 MCAPI ::ActorDefinitionDescriptor& operator=(::ActorDefinitionDescriptor const&);
165
166 MCAPI bool overlaps(::ActorDefinitionDescriptor const& rhs) const;
167
168 MCAPI ::ActorDefinitionDescriptor& subtract(::ActorDefinitionDescriptor const& rhs);
169
170 MCAPI ~ActorDefinitionDescriptor();
171 // NOLINTEND
172
173public:
174 // static functions
175 // NOLINTBEGIN
176 MCAPI static bool executeEvent(::Actor& entity, ::std::string const& name, ::VariantParameterList const& list);
177
178 MCAPI static bool
179 executeTrigger(::Actor& entity, ::ActorDefinitionTrigger const& trigger, ::VariantParameterList const& list);
180
181 MCAPI static void
182 forceExecuteTrigger(::Actor& entity, ::ActorDefinitionTrigger const& trigger, ::VariantParameterList const& list);
183
184 MCAPI static void forceExecuteTriggerChain(
185 ::Actor& entity,
186 ::ActorDefinitionTrigger const& trigger,
188 ::VariantParameterList const& list
189 );
190
191 MCAPI static bool hasEvent(::Actor const& entity, ::std::string const& name);
192 // NOLINTEND
193
194public:
195 // constructor thunks
196 // NOLINTBEGIN
197 MCAPI void* $ctor();
198
199 MCAPI void* $ctor(::ActorDefinitionDescriptor&&);
200 // NOLINTEND
201
202public:
203 // destructor thunk
204 // NOLINTBEGIN
205 MCAPI void $dtor();
206 // NOLINTEND
207};
Definition ActorDefinitionEvent.h:18
Definition ActorDefinitionTrigger.h:16
Definition Actor.h:125
Definition small_vector_base.h:8
Definition ActorDefinitionAttribute.h:8
Definition ActorDefinitionEventStackEntry.h:5
Definition AmphibiousMoveControlDescription.h:8
Definition AttackDescription.h:15
Definition BehaviorTreeDescription.h:8
Definition BreakBlocksDescription.h:14
Definition BreakDoorAnnotationDescription.h:14
Definition BucketableDescription.h:8
Definition CommandBlockDescription.h:13
Definition ContainerDescription.h:14
Definition DwellerDescription.h:13
Definition DynamicJumpControlDescription.h:13
Definition EconomyTradeableDescription.h:14
Definition GenericMoveControlDescription.h:8
Definition GlideMoveControlDescription.h:13
Definition HideDescription.h:8
Definition IllagerBeastBlockedDescription.h:15
Definition JumpControlDescription.h:14
Definition LegacyGoalDefinition.h:33
Definition ManagedWanderingTraderDescription.h:8
Definition MobEffectChangeDescription.h:14
Definition MoveControlBasicDescription.h:8
Definition MoveControlDolphinDescription.h:8
Definition MoveControlFlyDescription.h:8
Definition MoveControlHoverDescription.h:8
Definition MoveControlSkipDescription.h:8
Definition MoveControlSwayDescription.h:13
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 OpenDoorAnnotationDescription.h:8
Definition PersistentDescription.h:8
Definition PreferredPathDescription.h:14
Definition ProjectileDescription.h:20
Definition TickWorldDefinition.h:12
Definition SlimeMoveControlDescription.h:14
Definition StrengthDescription.h:13
Definition TeleportDescription.h:14
Definition TradeResupplyDescription.h:8
Definition TrailDescription.h:16
Definition TransformationDescription.h:15
Definition TripodCameraDescription.h:8
Definition TrustDescription.h:8
Definition VariantParameterList.h:14