75 ::ll::TypedStorage<4, 4, ::ItemVersion> mItemParseVersion;
76 ::ll::TypedStorage<8, 32, ::std::string> mTextureAtlasFile;
77 ::ll::TypedStorage<4, 4, int> mFrameCount;
78 ::ll::TypedStorage<1, 1, bool> mAnimatesInToolbar;
79 ::ll::TypedStorage<1, 1, bool> mIsMirroredArt;
80 ::ll::TypedStorage<1, 1, ::SharedTypes::Legacy::UseAnimation> mUseAnim;
81 ::ll::TypedStorage<8, 32, ::std::string> mHoverTextColorFormat;
82 ::ll::TypedStorage<4, 4, int> mIconFrame;
83 ::ll::TypedStorage<4, 4, int> mAtlasFrame;
84 ::ll::TypedStorage<4, 4, int> mAtlasTotalFrames;
85 ::ll::TypedStorage<8, 32, ::std::string> mIconName;
86 ::ll::TypedStorage<8, 32, ::std::string> mAtlasName;
87 ::ll::TypedStorage<1, 1, uchar> mMaxStackSize;
88 ::ll::TypedStorage<2, 2, short> mId;
89 ::ll::TypedStorage<8, 32, ::std::string> mDescriptionId;
90 ::ll::TypedStorage<8, 48, ::HashedString> mRawNameId;
91 ::ll::TypedStorage<8, 32, ::std::string> mNamespace;
92 ::ll::TypedStorage<8, 48, ::HashedString> mFullName;
93 ::ll::TypedStorage<2, 2, short> mMaxDamage;
95 bool mHandEquipped : 1;
96 bool mIsStackedByData : 1;
97 bool mRequiresWorldBuilder : 1;
99 bool mFireResistant : 1;
100 bool mShouldDespawn : 1;
101 bool mAllowOffhand : 1;
102 bool mIgnoresPermissions : 1;
103 ::ll::TypedStorage<4, 4, int> mMaxUseDuration;
104 ::ll::TypedStorage<8, 32, ::BaseGameVersion> mMinRequiredBaseGameVersion;
105 ::ll::TypedStorage<8, 8, ::WeakPtr<::BlockType const>> mBlockType;
106 ::ll::TypedStorage<1, 1, ::SharedTypes::CreativeItemCategory> mCreativeCategory;
107 ::ll::TypedStorage<8, 8, ::Item*> mCraftingRemainingItem;
108 ::ll::TypedStorage<8, 32, ::std::string> mCreativeGroup;
109 ::ll::TypedStorage<4, 4, float> mFurnaceBurnIntervalModifier;
110 ::ll::TypedStorage<4, 4, float> mFurnaceXPmultiplier;
111 ::ll::TypedStorage<1, 1, ::ItemCommandVisibility> mIsHiddenInCommands;
112 ::ll::TypedStorage<4, 4, ::Rarity> mBaseRarity;
113 ::ll::TypedStorage<4, 4, ::Interactions::Mining::MineBlockItemEffectType> mMineBlockType;
114 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FoodItemComponentLegacy>> mFoodComponentLegacy;
115 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SeedItemComponentLegacy>> mSeedComponent;
116 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CameraItemComponentLegacy>> mCameraComponentLegacy;
117 ::ll::TypedStorage<8, 24, ::std::vector<::std::function<void()>>> mOnResetBAICallbacks;
118 ::ll::TypedStorage<8, 24, ::std::vector<::ItemTag>> mTags;
130 virtual void initServer(
134 ::std::optional<::LegacyEventItemComponentData> legacyEventData
137 virtual void tearDown();
139 virtual ::Item& setDescriptionId(::std::string
const& description);
141 virtual ::std::string
const& getDescriptionId()
const;
143 virtual int getMaxUseDuration(
::ItemStack const* instance)
const;
145 virtual ::WeakPtr<::BlockType const>
const& getBlockTypeForRendering()
const;
147 virtual bool isMusicDisk()
const;
151 virtual bool isComponentBased()
const;
153 virtual bool isHumanoidArmor()
const;
155 virtual bool isBlockPlanterItem()
const;
157 virtual bool isBucket()
const;
159 virtual bool isCandle()
const;
161 virtual bool isDamageable()
const;
163 virtual bool isDyeable()
const;
165 virtual bool isDye()
const;
167 virtual ::ItemColor getItemColor()
const;
169 virtual bool isFertilizer()
const;
171 virtual bool isFood()
const;
173 virtual bool isThrowable()
const;
175 virtual bool isUseable()
const;
177 virtual bool isTrimAllowed()
const;
179 virtual bool isBodyArmor()
const;
181 virtual ::ItemComponent* getComponent(
::HashedString const&
id)
const;
183 virtual ::IFoodItemComponent* getFood()
const;
185 virtual ::Item& setMaxDamage(
int maxDamage);
187 virtual ::Item& setMaxUseDuration(
int maxUseDuration);
189 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag()
const;
191 virtual void initializeFromNetwork(
::CompoundTag const& tag);
193 virtual ::std::vector<::std::string> validateFromNetwork(
::CompoundTag const& tag);
195 virtual ::BlockShape getBlockShape()
const;
197 virtual bool canBeDepleted()
const;
199 virtual bool canDestroySpecial(
::Block const& block)
const;
201 virtual int getLevelDataForAuxValue(
int auxValue)
const;
203 virtual bool isStackedByData()
const;
205 virtual short getMaxDamage()
const;
207 virtual int getAttackDamage()
const;
209 virtual float getAttackDamageBonus(
::Actor const& attacker)
const;
211 virtual bool isHandEquipped()
const;
215 virtual bool isPattern()
const;
217 virtual int getPatternIndex()
const;
219 virtual ::Rarity getBaseRarity()
const;
223 virtual uint getSwingDuration()
const;
225 virtual bool showsDurabilityInCreative()
const;
227 virtual bool isWearableThroughLootTable(
::CompoundTag const* userData)
const;
229 virtual bool canDestroyInCreative()
const;
231 virtual bool isDestructive(
int auxValue)
const;
233 virtual bool isLiquidClipItem()
const;
235 virtual bool shouldInteractionWithBlockBypassLiquid(
::Block const& block)
const;
237 virtual bool requiresInteract()
const;
239 virtual ::std::string getHoverTextColor(
::ItemStackBase const& stack)
const;
241 virtual void appendFormattedHovertext(
248 virtual bool isValidRepairItem(
254 virtual int getEnchantSlot()
const;
256 virtual int getEnchantValue()
const;
258 virtual int getArmorValue()
const;
260 virtual int getToughnessValue()
const;
262 virtual float getKnockbackResistanceValue()
const;
264 virtual ::std::optional<::SoundEventIdentifier> getAttackMissSound()
const;
266 virtual ::std::optional<::SoundEventIdentifier> getAttackHitSound()
const;
268 virtual ::std::optional<::SoundEventIdentifier> getAttackCriticalHitSound()
const;
270 virtual ::SharedTypes::Legacy::LevelSoundEvent getBreakSound()
const;
272 virtual ::SharedTypes::Legacy::LevelSoundEvent getEquipSound()
const;
274 virtual bool isComplex()
const;
276 virtual bool isValidAuxValue(
int auxValue)
const;
278 virtual int getDamageChance(
int unbreaking)
const;
280 virtual float getViewDamping()
const;
282 virtual bool uniqueAuxValues()
const;
284 virtual bool isActorPlacerItem()
const;
286 virtual ::ItemTintStrategy getTintStrategy()
const;
292 virtual bool hasCustomColor(
::CompoundTag const* userData)
const;
298 virtual ::ActorDefinitionIdentifier getActorIdentifier(
::ItemStack const&)
const;
300 virtual int buildIdAux(
short auxValue,
::CompoundTag const* userData)
const;
302 virtual bool canUseOnSimTick()
const;
306 virtual bool canUseAsAttack()
const;
310 virtual ::Actor* createProjectileActor(
314 ::Vec3 const& aimDirection
331 virtual ::std::string buildDescriptionName(
::ItemStackBase const& stack)
const;
333 virtual ::Bedrock::Safety::RedactableString
const buildRedactedDescriptionName(
::ItemStackBase const& stack)
const;
335 virtual ::std::string
338 virtual ::Bedrock::Safety::RedactableString getRedactedCustomName(
::ItemStackBase const& stack)
const;
342 virtual ::std::string buildEffectDescriptionName(
::ItemStackBase const& stack,
bool playerIsCreative)
const;
355 virtual ::HashedString
const& getCooldownCategory()
const;
357 virtual int getCooldownDuration()
const;
359 virtual ::SharedTypes::ItemCooldownType getCooldownType()
const;
365 virtual ::InHandUpdateType getInHandUpdateType(
369 bool const isMainHand,
370 bool const slotChanged
373 virtual bool validFishInteraction(
int)
const;
377 virtual ::SharedTypes::Legacy::ActorLocation getEquipLocation()
const;
379 virtual bool shouldEmitInUseGameEvents()
const;
381 virtual bool useInterruptedByAttacking()
const;
385 virtual void initClient(
389 ::std::optional<::ItemIconInfo> (*iconFactory)(::std::string
const&,
int)
392 virtual ::Item& setIconInfo(::std::string
const& name,
int index);
394 virtual ::ResolvedItemIconInfo
395 getIconInfo(
::ItemStackBase const& item,
int newAnimationFrame,
bool inInventoryPane)
const;
397 virtual ::std::string getInteractText(
::Player const& player)
const;
400 getAnimationFrameFor(
::Mob* holder,
bool asItemEntity,
::ItemStack const* item,
bool shouldAnimate)
const;
402 virtual bool isEmissive(
int auxValue)
const;
404 virtual ::Brightness getLightEmission(
int data)
const;
406 virtual bool canBeCharged()
const;
408 virtual void playSoundIncrementally(
::ItemStack const& item,
::Mob& mob)
const;
410 virtual float getFurnaceXPmultiplier(
::ItemStackBase const& instance)
const;
419 virtual bool _shouldAutoCalculatePlacePos()
const;
421 virtual ::InteractionResult
428 MCAPI Item(::std::string
const& nameId,
short id);
432 MCAPI
void _helpChangeInventoryItemInPlace(
436 ::ItemAcquisitionMethod acquisitionMethod
439 MCAPI ::CoordinatorResult _sendTryPlaceBlockEvent(
448 MCAPI
void addOnResetBAICallback(::std::function<
void()> callback);
450 MCAPI ::Item& addTag(
::ItemTag const& tag);
454 MCAPI ::std::string buildCategoryDescriptionName()
const;
456 MCAPI
void clearTags();
458 MCAPI ::std::vector<::CommandName> getCommandNames()
const;
460 MCAPI
short getDamageValue(
::CompoundTag const* userData)
const;
462 MCAPI ::std::string getSerializedName()
const;
464 MCAPI
bool hasTag(
::ItemTag const& tag)
const;
468 MCAPI
void setDamageValue(
::ItemStackBase& stack,
short newDamage)
const;
470 MCAPI ::Item& setMinRequiredBaseGameVersion(
::BaseGameVersion const& baseGameVersion);
475 MCAPI ::InteractionResult useOn(
498 MCAPI static ::SemVersionConstant
const& DATA_DRIVEN_NEXT_VERSION();
500 MCAPI static ::SemVersionConstant
const& DATA_DRIVEN_VERSION();
502 MCAPI static ::std::string
const& ICON_DESCRIPTION_PREFIX();
504 MCAPI static ::std::string
const& TAG_DAMAGE();
510 MCAPI
void* $ctor(::std::string
const& nameId,
short id);
522 MCAPI
void $initServer(
526 ::std::optional<::LegacyEventItemComponentData> legacyEventData
529 MCFOLD
void $tearDown();
531 MCAPI ::Item& $setDescriptionId(::std::string
const& description);
533 MCAPI ::std::string
const& $getDescriptionId()
const;
535 MCAPI
int $getMaxUseDuration(
::ItemStack const* instance)
const;
537 MCAPI ::WeakPtr<::BlockType const>
const& $getBlockTypeForRendering()
const;
539 MCFOLD
bool $isMusicDisk()
const;
543 MCFOLD
bool $isComponentBased()
const;
545 MCFOLD
bool $isHumanoidArmor()
const;
547 MCFOLD
bool $isBlockPlanterItem()
const;
549 MCFOLD
bool $isBucket()
const;
551 MCFOLD
bool $isCandle()
const;
553 MCAPI
bool $isDamageable()
const;
555 MCFOLD
bool $isDyeable()
const;
557 MCFOLD
bool $isDye()
const;
559 MCAPI ::ItemColor $getItemColor()
const;
561 MCFOLD
bool $isFertilizer()
const;
563 MCFOLD
bool $isFood()
const;
565 MCFOLD
bool $isThrowable()
const;
567 MCFOLD
bool $isUseable()
const;
569 MCFOLD
bool $isTrimAllowed()
const;
571 MCFOLD
bool $isBodyArmor()
const;
573 MCFOLD ::ItemComponent* $getComponent(
::HashedString const&
id)
const;
575 MCAPI ::IFoodItemComponent* $getFood()
const;
577 MCAPI ::Item& $setMaxDamage(
int maxDamage);
579 MCAPI ::Item& $setMaxUseDuration(
int maxUseDuration);
581 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag()
const;
585 MCFOLD ::std::vector<::std::string> $validateFromNetwork(
::CompoundTag const& tag);
587 MCFOLD ::BlockShape $getBlockShape()
const;
589 MCAPI
bool $canBeDepleted()
const;
591 MCFOLD
bool $canDestroySpecial(
::Block const& block)
const;
593 MCFOLD
int $getLevelDataForAuxValue(
int auxValue)
const;
595 MCAPI
bool $isStackedByData()
const;
597 MCFOLD
short $getMaxDamage()
const;
599 MCFOLD
int $getAttackDamage()
const;
601 MCFOLD
float $getAttackDamageBonus(
::Actor const& attacker)
const;
603 MCAPI
bool $isHandEquipped()
const;
607 MCFOLD
bool $isPattern()
const;
609 MCFOLD
int $getPatternIndex()
const;
611 MCAPI ::Rarity $getBaseRarity()
const;
615 MCFOLD uint $getSwingDuration()
const;
617 MCFOLD
bool $showsDurabilityInCreative()
const;
619 MCFOLD
bool $isWearableThroughLootTable(
::CompoundTag const* userData)
const;
621 MCFOLD
bool $canDestroyInCreative()
const;
623 MCFOLD
bool $isDestructive(
int auxValue)
const;
625 MCFOLD
bool $isLiquidClipItem()
const;
627 MCFOLD
bool $shouldInteractionWithBlockBypassLiquid(
::Block const& block)
const;
629 MCFOLD
bool $requiresInteract()
const;
631 MCAPI ::std::string $getHoverTextColor(
::ItemStackBase const& stack)
const;
633 MCAPI
void $appendFormattedHovertext(
640 MCFOLD
bool $isValidRepairItem(
646 MCFOLD
int $getEnchantSlot()
const;
648 MCFOLD
int $getEnchantValue()
const;
650 MCFOLD
int $getArmorValue()
const;
652 MCFOLD
int $getToughnessValue()
const;
654 MCFOLD
float $getKnockbackResistanceValue()
const;
656 MCFOLD ::std::optional<::SoundEventIdentifier> $getAttackMissSound()
const;
658 MCFOLD ::std::optional<::SoundEventIdentifier> $getAttackHitSound()
const;
660 MCFOLD ::std::optional<::SoundEventIdentifier> $getAttackCriticalHitSound()
const;
662 MCFOLD ::SharedTypes::Legacy::LevelSoundEvent $getBreakSound()
const;
664 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getEquipSound()
const;
666 MCFOLD
bool $isComplex()
const;
668 MCFOLD
bool $isValidAuxValue(
int auxValue)
const;
670 MCAPI
int $getDamageChance(
int unbreaking)
const;
672 MCFOLD
float $getViewDamping()
const;
674 MCFOLD
bool $uniqueAuxValues()
const;
676 MCFOLD
bool $isActorPlacerItem()
const;
678 MCFOLD ::ItemTintStrategy $getTintStrategy()
const;
684 MCFOLD
bool $hasCustomColor(
::CompoundTag const* userData)
const;
690 MCAPI ::ActorDefinitionIdentifier $getActorIdentifier(
::ItemStack const&)
const;
692 MCAPI
int $buildIdAux(
short auxValue,
::CompoundTag const* userData)
const;
694 MCFOLD
bool $canUseOnSimTick()
const;
698 MCFOLD
bool $canUseAsAttack()
const;
702 MCFOLD ::Actor* $createProjectileActor(
706 ::Vec3 const& aimDirection
723 MCAPI ::std::string $buildDescriptionName(
::ItemStackBase const& stack)
const;
725 MCAPI ::Bedrock::Safety::RedactableString
const $buildRedactedDescriptionName(
::ItemStackBase const& stack)
const;
730 MCAPI ::Bedrock::Safety::RedactableString $getRedactedCustomName(
::ItemStackBase const& stack)
const;
734 MCAPI ::std::string $buildEffectDescriptionName(
::ItemStackBase const& stack,
bool playerIsCreative)
const;
747 MCAPI ::HashedString
const& $getCooldownCategory()
const;
749 MCAPI
int $getCooldownDuration()
const;
751 MCFOLD ::SharedTypes::ItemCooldownType $getCooldownType()
const;
757 MCAPI ::InHandUpdateType $getInHandUpdateType(
761 bool const isMainHand,
762 bool const slotChanged
765 MCFOLD
bool $validFishInteraction(
int)
const;
769 MCFOLD ::SharedTypes::Legacy::ActorLocation $getEquipLocation()
const;
771 MCFOLD
bool $shouldEmitInUseGameEvents()
const;
773 MCFOLD
bool $useInterruptedByAttacking()
const;
777 MCAPI
void $initClient(
781 ::std::optional<::ItemIconInfo> (*iconFactory)(::std::string
const&,
int)
784 MCFOLD ::Item& $setIconInfo(::std::string
const& name,
int index);
786 MCAPI ::ResolvedItemIconInfo
787 $getIconInfo(
::ItemStackBase const& item,
int newAnimationFrame,
bool inInventoryPane)
const;
789 MCAPI ::std::string $getInteractText(
::Player const& player)
const;
792 $getAnimationFrameFor(
::Mob* holder,
bool asItemEntity,
::ItemStack const* item,
bool shouldAnimate)
const;
794 MCAPI
bool $isEmissive(
int auxValue)
const;
796 MCFOLD ::Brightness $getLightEmission(
int data)
const;
798 MCFOLD
bool $canBeCharged()
const;
800 MCFOLD
void $playSoundIncrementally(
::ItemStack const& item,
::Mob& mob)
const;
802 MCAPI
float $getFurnaceXPmultiplier(
::ItemStackBase const& instance)
const;
811 MCFOLD
bool $_shouldAutoCalculatePlacePos()
const;
813 MCAPI ::InteractionResult