LeviLamina
Loading...
Searching...
No Matches
ComponentItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/WeakPtr.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/core/utility/pub_sub/Connector.h"
10#include "mc/deps/shared_types/item/EnchantSlot.h"
11#include "mc/deps/shared_types/item/ItemCooldownType.h"
12#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
13#include "mc/deps/shared_types/legacy/actor/ActorLocation.h"
14#include "mc/world/item/Item.h"
15#include "mc/world/item/ItemUseMethod.h"
16#include "mc/world/level/block/BlockShape.h"
17
18// auto generated forward declare list
19// clang-format off
20class Actor;
21class BaseGameVersion;
22class Block;
23class BlockPos;
24class BlockSource;
25class BlockType;
26class CompoundTag;
27class Container;
28class Experiments;
32class ItemComponent;
33class ItemDescriptor;
34class ItemStack;
35class ItemStackBase;
36class Level;
37class ListTag;
38class Mob;
39class PackLoadContext;
40class Player;
41class SemVersion;
42class Vec3;
45struct ItemIconInfo;
48namespace Bedrock::Safety { class RedactableString; }
49namespace Core { class Path; }
50namespace SharedTypes::Legacy { struct ComponentItemData; }
51namespace cereal { struct ReflectionCtx; }
52namespace mce { class Color; }
53// clang-format on
54
55class ComponentItem : public ::Item {
56public:
57 // member variables
58 // NOLINTBEGIN
59 bool mExcludeUserDataDiffCheck : 1;
60 bool mCanDestroyInCreative : 1;
61 bool mRequiresInteract : 1;
62 bool mIsLiquidClipped : 1;
63 ::ll::TypedStorage<4, 4, float> mSpeed;
64 ::ll::TypedStorage<4, 4, int> mDamage;
65 ::ll::TypedStorage<4, 4, ::SharedTypes::EnchantSlot> mEnchantSlot;
66 ::ll::TypedStorage<4, 4, int> mEnchantValue;
67 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mAlias;
68 ::ll::TypedStorage<1, 1, bool> mIsAttachable;
69 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::std::shared_ptr<::ItemComponent>>> mItemComponents;
70 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::IconItemComponent>> mIcon;
71 ::ll::TypedStorage<8, 8, ::WeakPtr<::BlockType const>> mBlockTypeForRendering;
72 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::std::shared_ptr<::ItemComponent>>>
73 mRegisteredCerealComponents;
74 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::cereal::ReflectionCtx const>> mCtx;
75 // NOLINTEND
76
77public:
78 // prevent constructor by default
79 ComponentItem();
80
81public:
82 // virtual functions
83 // NOLINTBEGIN
84 virtual ~ComponentItem() /*override*/;
85
86 virtual void initServer(
88 ::SemVersion const& documentVersion,
89 ::PackLoadContext& packLoadContext
90 ) /*override*/;
91
92 virtual void tearDown() /*override*/;
93
94 virtual bool isComponentBased() const /*override*/;
95
96 virtual bool isHumanoidArmor() const /*override*/;
97
98 virtual bool isBlockPlanterItem() const /*override*/;
99
100 virtual bool isDamageable() const /*override*/;
101
102 virtual bool isDyeable() const /*override*/;
103
104 virtual bool isFood() const /*override*/;
105
106 virtual bool isThrowable() const /*override*/;
107
108 virtual bool isUseable() const /*override*/;
109
110 virtual bool isMusicDisk() const /*override*/;
111
112 virtual bool isTrimAllowed() const /*override*/;
113
114 virtual ::WeakPtr<::BlockType const> const& getBlockTypeForRendering() const /*override*/;
115
116 virtual ::ItemComponent* getComponent(::HashedString const& id) const /*override*/;
117
118 virtual ::IFoodItemComponent* getFood() const /*override*/;
119
120 virtual ::Item& setMaxDamage(int maxDamage) /*override*/;
121
122 virtual ::std::string const& getDescriptionId() const /*override*/;
123
124 virtual ::BlockShape getBlockShape() const /*override*/;
125
126 virtual bool canBeDepleted() const /*override*/;
127
128 virtual bool canDestroySpecial(::Block const& block) const /*override*/;
129
130 virtual int getLevelDataForAuxValue(int) const /*override*/;
131
132 virtual short getMaxDamage() const /*override*/;
133
134 virtual int getAttackDamage() const /*override*/;
135
136 virtual bool isGlint(::ItemStackBase const& stack) const /*override*/;
137
138 virtual bool canDestroyInCreative() const /*override*/;
139
140 virtual bool isDestructive(int) const /*override*/;
141
142 virtual bool isLiquidClipItem() const /*override*/;
143
144 virtual bool requiresInteract() const /*override*/;
145
146 virtual void appendFormattedHovertext(
147 ::ItemStackBase const& stack,
148 ::Level& level,
150 bool const showCategory
151 ) const /*override*/;
152
153 virtual bool
154 isValidRepairItem(::ItemStackBase const& repairItem, ::ItemStackBase const&, ::BaseGameVersion const&) const
155 /*override*/;
156
157 virtual int getEnchantSlot() const /*override*/;
158
159 virtual int getEnchantValue() const /*override*/;
160
161 virtual int getArmorValue() const /*override*/;
162
163 virtual int getDamageChance(int unbreaking) const /*override*/;
164
165 virtual uint getSwingDuration() const /*override*/;
166
167 virtual bool shouldEmitInUseGameEvents() const /*override*/;
168
169 virtual ::mce::Color getColor(::CompoundTag const* userData, ::ItemDescriptor const& instance) const /*override*/;
170
171 virtual bool hasCustomColor(::ItemStackBase const& instance) const /*override*/;
172
173 virtual void clearColor(::ItemStackBase& instance) const /*override*/;
174
175 virtual void setColor(::ItemStackBase& instance, ::mce::Color const& color) const /*override*/;
176
177 virtual ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> getAttackMissSound() const /*override*/;
178
179 virtual ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> getAttackHitSound() const /*override*/;
180
181 virtual ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> getAttackCriticalHitSound() const /*override*/;
182
183 virtual ::SharedTypes::Legacy::LevelSoundEvent getEquipSound() const /*override*/;
184
185 virtual ::ItemStack& use(::ItemStack& item, ::Player& player) const /*override*/;
186
187 virtual bool canUseAsAttack() const /*override*/;
188
189 virtual ::ItemStack& useAsAttack(::ItemStack& item, ::Player& player, ::Vec3 const& aimDirection) const
190 /*override*/;
191
192 virtual ::Actor* createProjectileActor(
193 ::BlockSource& region,
194 ::ItemStack const& stack,
195 ::Vec3 const& pos,
196 ::Vec3 const& aimDirection
197 ) const /*override*/;
198
199 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
200 /*override*/;
201
202 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const
203 /*override*/;
204
205 virtual void releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const /*override*/;
206
207 virtual float getDestroySpeed(::ItemStackBase const& item, ::Block const& block) const /*override*/;
208
209 virtual void hurtActor(::ItemStack& item, ::Actor& actor, ::Mob& attacker) const /*override*/;
210
211 virtual void hitActor(::ItemStack& item, ::Actor& actor, ::Mob& attacker) const /*override*/;
212
213 virtual void hitBlock(::ItemStack& item, ::Block const& block, ::BlockPos const& blockPos, ::Mob& attacker) const
214 /*override*/;
215
216 virtual ::std::string
217 buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const* userData) const /*override*/;
218
219 virtual ::std::string buildEffectDescriptionName(::ItemStackBase const& stack, bool playerIsCreative) const
220 /*override*/;
221
222 virtual uchar getMaxStackSize(::ItemDescriptor const&) const /*override*/;
223
224 virtual ::HashedString const& getCooldownCategory() const /*override*/;
225
226 virtual int getCooldownDuration() const /*override*/;
227
228 virtual ::SharedTypes::ItemCooldownType getCooldownType() const /*override*/;
229
230 virtual ::SharedTypes::Legacy::ActorLocation getEquipLocation() const /*override*/;
231
232 virtual bool useVariant(int, int, bool) const;
233
234 virtual int getVariant(int, int, bool) const;
235
236 virtual void initClient(
238 ::SemVersion const& documentVersion,
239 ::PackLoadContext& packLoadContext,
240 ::std::optional<::ItemIconInfo> (*)(::std::string const&, int)
241 ) /*override*/;
242
243 virtual ::std::string getInteractText(::Player const& player) const /*override*/;
244
245 virtual int getAnimationFrameFor(::Mob*, bool, ::ItemStack const*, bool) const /*override*/;
246
247 virtual bool isEmissive(int auxValue) const /*override*/;
248
249 virtual ::ResolvedItemIconInfo
250 getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const /*override*/;
251
252 virtual ::Item& setIconInfo(::std::string const& name, int frame) /*override*/;
253
254 virtual bool canBeCharged() const /*override*/;
255
256 virtual ::ComponentItem& setDescriptionId(::std::string const& descriptionId) /*override*/;
257
258 virtual bool shouldUseJsonForRenderMatrix() const;
259
260 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag() const /*override*/;
261
262 virtual void initializeFromNetwork(::CompoundTag const& tag) /*override*/;
263
264 virtual ::std::vector<::std::string> validateFromNetwork(::CompoundTag const& tag) /*override*/;
265
266 virtual bool
267 _checkUseOnPermissions(::Actor& entity, ::ItemStackBase& item, uchar const& face, ::BlockPos const& pos) const
268 /*override*/;
269
270 virtual bool _calculatePlacePos(::ItemStackBase& instance, ::Actor& entity, uchar& face, ::BlockPos& pos) const
271 /*override*/;
272
273 virtual bool _shouldAutoCalculatePlacePos() const /*override*/;
274
275 virtual ::InteractionResult
276 _useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const
277 /*override*/;
278 // NOLINTEND
279
280public:
281 // member functions
282 // NOLINTBEGIN
283 MCAPI ComponentItem(::std::string const& nameId, short id, ::cereal::ReflectionCtx const& ctx);
284
285 MCAPI void _addRegisteredCerealComponent(
286 ::std::pair<::std::string const, ::std::shared_ptr<::ItemComponent>>& cerealComponent
287 );
288
289 MCAPI ::std::unique_ptr<::CompoundTag> _buildItemPropertiesNetworkTag(::cereal::ReflectionCtx const& ctx) const;
290
291 MCAPI ::std::unique_ptr<::ListTag> _buildItemTagsNetworkTag() const;
292
293 MCAPI bool _doesNotTakeDurabilityDamage() const;
294
295 MCAPI void _initializeLoadedComponents(
296 ::std::optional<::SemVersion> documentVersion,
297 ::std::optional<::Experiments> _experiments
298 );
299
300 MCAPI void _loadComponentsFromNetworkTag(
301 ::std::string const& componentName,
302 ::CompoundTag const& componentTag,
304 );
305
306 MCAPI void _loadItemPropertiesNetworkTag(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
307
308 MCAPI void _loadItemTagsNetworkTag(::ListTag const& listTag);
309
310 MCAPI ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
311
312 MCAPI bool checkComponentDataForContentErrors() const;
313
314 MCAPI ::IconItemComponent const* getIconComponent() const;
315
316 MCAPI float getMovementModifier() const;
317
318 MCAPI void init(
320 ::SemVersion const& documentVersion,
321 ::std::optional<::LegacyEventItemComponentData> legacyEventData,
322 ::Experiments const& experiments
323 );
324
325 MCAPI ::Bedrock::PubSub::Connector<void(int&, ::ItemStack&, ::Actor&, ::Mob&)>& onBeforeDurabilityDamage();
326
327 MCAPI ::Bedrock::PubSub::Connector<void(::ItemStack&, ::Actor&, ::Mob&)>& onHitActor();
328
329 MCAPI ::Bedrock::PubSub::Connector<void(::ItemStack&, ::Block const&, ::BlockPos const&, ::Mob&)>& onHitBlock();
330
331 MCAPI ::Bedrock::PubSub::Connector<void(::ItemStack&, ::Actor&, ::Mob&)>& onHurtActor();
332
333 MCAPI ::Bedrock::PubSub::Connector<void(bool&, ::ItemStack&, ::Block const&, int, int, int, ::Actor&)>&
334 onMiningBlock();
335
336 MCAPI ::Bedrock::PubSub::Connector<void(bool&, ::ItemStack&, ::Player&)>& onUse();
337
338 MCAPI ::Bedrock::PubSub::Connector<void(::ItemStack&, ::Player&, ::Vec3 const&)>& onUseAsAttack();
339
340 MCAPI ::Bedrock::PubSub::Connector<
341 void(bool&, ::ItemStack const&, ::ItemStack&, ::Actor&, ::BlockPos, uchar, ::Vec3 const&)>&
342 onUseOn();
343
344 MCAPI ::Bedrock::PubSub::Connector<void(::ItemUseMethod&, ::ItemStack const&, ::ItemStack&, ::Player&, ::Level&)>&
345 onUseTimeDepleted();
346
347 MCAPI void setBlockTypeForRendering(::WeakPtr<::BlockType const> const& block);
348
349 MCAPI void setEnchantSlot(::SharedTypes::EnchantSlot enchantSlot);
350
351 MCAPI void setEnchantValue(int enchantValue);
352
353#ifdef LL_PLAT_C
354 MCAPI void setIsAttachable(bool value);
355#endif
356
357 MCAPI void setIsLiquidClipped(bool isLiquidClipped);
358
359 MCAPI void setRequiresInteract(bool requiresInteract);
360 // NOLINTEND
361
362public:
363 // static functions
364 // NOLINTBEGIN
365 MCAPI static void _moveDataToComponentItem(::ComponentItem& item, ::SharedTypes::Legacy::ComponentItemData& data);
366
367 MCAPI static ::std::optional<::LegacyEventItemComponentData>
368 makeLegacyEvents(::PackLoadContext& packLoadContext, ::ComponentItemDataAll_Latest const& data);
369
370 MCAPI static void registerItemComponentTypes(::cereal::ReflectionCtx& ctx);
371
372 MCAPI static ::std::tuple<
374 ::rapidjson::GenericDocument<
375 ::rapidjson::UTF8<char>,
376 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
377 ::rapidjson::CrtAllocator>,
378 bool>
379 upgradeJson(
381 ::std::string_view document,
382 bool isBaseGamePack,
383 ::Core::Path const& resourceName,
384 bool betaApis,
385 ::std::optional<::SemVersion> minVersion
386 );
387 // NOLINTEND
388
389public:
390 // constructor thunks
391 // NOLINTBEGIN
392 MCAPI void* $ctor(::std::string const& nameId, short id, ::cereal::ReflectionCtx const& ctx);
393 // NOLINTEND
394
395public:
396 // destructor thunk
397 // NOLINTBEGIN
398 MCAPI void $dtor();
399 // NOLINTEND
400
401public:
402 // virtual function thunks
403 // NOLINTBEGIN
404 MCAPI void $initServer(
406 ::SemVersion const& documentVersion,
407 ::PackLoadContext& packLoadContext
408 );
409
410 MCFOLD void $tearDown();
411
412 MCFOLD bool $isComponentBased() const;
413
414 MCAPI bool $isHumanoidArmor() const;
415
416 MCAPI bool $isBlockPlanterItem() const;
417
418 MCAPI bool $isDamageable() const;
419
420 MCAPI bool $isDyeable() const;
421
422 MCFOLD bool $isFood() const;
423
424 MCAPI bool $isThrowable() const;
425
426 MCAPI bool $isUseable() const;
427
428 MCAPI bool $isMusicDisk() const;
429
430 MCAPI bool $isTrimAllowed() const;
431
432 MCAPI ::WeakPtr<::BlockType const> const& $getBlockTypeForRendering() const;
433
434 MCAPI ::ItemComponent* $getComponent(::HashedString const& id) const;
435
436 MCAPI ::IFoodItemComponent* $getFood() const;
437
438 MCAPI ::Item& $setMaxDamage(int maxDamage);
439
440 MCAPI ::std::string const& $getDescriptionId() const;
441
442 MCFOLD ::BlockShape $getBlockShape() const;
443
444 MCAPI bool $canBeDepleted() const;
445
446 MCAPI bool $canDestroySpecial(::Block const& block) const;
447
448 MCFOLD int $getLevelDataForAuxValue(int) const;
449
450 MCAPI short $getMaxDamage() const;
451
452 MCAPI int $getAttackDamage() const;
453
454 MCAPI bool $isGlint(::ItemStackBase const& stack) const;
455
456 MCAPI bool $canDestroyInCreative() const;
457
458 MCFOLD bool $isDestructive(int) const;
459
460 MCAPI bool $isLiquidClipItem() const;
461
462 MCAPI bool $requiresInteract() const;
463
464 MCAPI void $appendFormattedHovertext(
465 ::ItemStackBase const& stack,
466 ::Level& level,
468 bool const showCategory
469 ) const;
470
471 MCAPI bool
472 $isValidRepairItem(::ItemStackBase const& repairItem, ::ItemStackBase const&, ::BaseGameVersion const&) const;
473
474 MCAPI int $getEnchantSlot() const;
475
476 MCFOLD int $getEnchantValue() const;
477
478 MCAPI int $getArmorValue() const;
479
480 MCAPI int $getDamageChance(int unbreaking) const;
481
482 MCAPI uint $getSwingDuration() const;
483
484 MCAPI bool $shouldEmitInUseGameEvents() const;
485
486 MCAPI ::mce::Color $getColor(::CompoundTag const* userData, ::ItemDescriptor const& instance) const;
487
488 MCAPI bool $hasCustomColor(::ItemStackBase const& instance) const;
489
490 MCAPI void $clearColor(::ItemStackBase& instance) const;
491
492 MCAPI void $setColor(::ItemStackBase& instance, ::mce::Color const& color) const;
493
494 MCAPI ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> $getAttackMissSound() const;
495
496 MCAPI ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> $getAttackHitSound() const;
497
498 MCAPI ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> $getAttackCriticalHitSound() const;
499
500 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getEquipSound() const;
501
502 MCAPI ::ItemStack& $use(::ItemStack& item, ::Player& player) const;
503
504 MCAPI bool $canUseAsAttack() const;
505
506 MCAPI ::ItemStack& $useAsAttack(::ItemStack& item, ::Player& player, ::Vec3 const& aimDirection) const;
507
508 MCAPI ::Actor* $createProjectileActor(
509 ::BlockSource& region,
510 ::ItemStack const& stack,
511 ::Vec3 const& pos,
512 ::Vec3 const& aimDirection
513 ) const;
514
515 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
516
517 MCAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const;
518
519 MCAPI void $releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const;
520
521 MCAPI float $getDestroySpeed(::ItemStackBase const& item, ::Block const& block) const;
522
523 MCAPI void $hurtActor(::ItemStack& item, ::Actor& actor, ::Mob& attacker) const;
524
525 MCAPI void $hitActor(::ItemStack& item, ::Actor& actor, ::Mob& attacker) const;
526
527 MCAPI void $hitBlock(::ItemStack& item, ::Block const& block, ::BlockPos const& blockPos, ::Mob& attacker) const;
528
529 MCAPI ::std::string
530 $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const* userData) const;
531
532 MCAPI ::std::string $buildEffectDescriptionName(::ItemStackBase const& stack, bool playerIsCreative) const;
533
534 MCFOLD uchar $getMaxStackSize(::ItemDescriptor const&) const;
535
536 MCAPI ::HashedString const& $getCooldownCategory() const;
537
538 MCAPI int $getCooldownDuration() const;
539
540 MCAPI ::SharedTypes::ItemCooldownType $getCooldownType() const;
541
542 MCAPI ::SharedTypes::Legacy::ActorLocation $getEquipLocation() const;
543
544 MCFOLD bool $useVariant(int, int, bool) const;
545
546 MCFOLD int $getVariant(int, int, bool) const;
547
548 MCAPI void $initClient(
550 ::SemVersion const& documentVersion,
551 ::PackLoadContext& packLoadContext,
552 ::std::optional<::ItemIconInfo> (*)(::std::string const&, int)
553 );
554
555 MCAPI ::std::string $getInteractText(::Player const& player) const;
556
557 MCFOLD int $getAnimationFrameFor(::Mob*, bool, ::ItemStack const*, bool) const;
558
559 MCFOLD bool $isEmissive(int auxValue) const;
560
561 MCAPI ::ResolvedItemIconInfo
562 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
563
564 MCAPI ::Item& $setIconInfo(::std::string const& name, int frame);
565
566 MCAPI bool $canBeCharged() const;
567
568 MCAPI ::ComponentItem& $setDescriptionId(::std::string const& descriptionId);
569
570 MCAPI bool $shouldUseJsonForRenderMatrix() const;
571
572 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag() const;
573
574 MCAPI void $initializeFromNetwork(::CompoundTag const& tag);
575
576 MCAPI ::std::vector<::std::string> $validateFromNetwork(::CompoundTag const& tag);
577
578 MCAPI bool
579 $_checkUseOnPermissions(::Actor& entity, ::ItemStackBase& item, uchar const& face, ::BlockPos const& pos) const;
580
581 MCAPI bool $_calculatePlacePos(::ItemStackBase& instance, ::Actor& entity, uchar& face, ::BlockPos& pos) const;
582
583 MCAPI bool $_shouldAutoCalculatePlacePos() const;
584
585 MCAPI ::InteractionResult
586 $_useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
587
588
589 // NOLINTEND
590
591public:
592 // vftables
593 // NOLINTBEGIN
594 MCAPI static void** $vftable();
595 // NOLINTEND
596};
Definition Actor.h:123
Definition BaseGameVersion.h:13
Definition RedactableString.h:10
Definition BlockPos.h:21
Definition BlockSource.h:72
Definition BlockType.h:84
Definition Block.h:69
Definition CompoundTag.h:23
Definition Container.h:34
Definition Path.h:12
Definition Experiments.h:14
Definition HashedString.h:5
Definition IFoodItemComponent.h:17
Definition IconItemComponent.h:19
Definition InteractionResult.h:5
Definition ItemComponent.h:17
Definition ItemDescriptor.h:25
Definition ItemStackBase.h:52
Definition ItemStack.h:35
Definition Level.h:254
Definition ListTag.h:21
Definition Mob.h:56
Definition PackLoadContext.h:20
Definition Player.h:136
Definition SemVersion.h:15
Definition Vec3.h:10
Definition WeakPtr.h:10
Definition Color.h:13
Definition ComponentItemDataAll_Latest.h:10
Definition ItemComprehensiveLoadResult.h:9
Definition ItemIconInfo.h:5
Definition LegacyEventItemComponentData.h:10
Definition ResolvedItemIconInfo.h:8
Definition ComponentItemData.h:17
Definition ReflectionCtx.h:11
Definition ctx.h:5