76 enum class OffhandAllowed : uchar {
85 ::ll::TypedStorage<4, 4, ::ItemVersion> mItemParseVersion;
86 ::ll::TypedStorage<8, 32, ::std::string> mTextureAtlasFile;
87 ::ll::TypedStorage<4, 4, int> mFrameCount;
88 ::ll::TypedStorage<1, 1, bool> mAnimatesInToolbar;
89 ::ll::TypedStorage<1, 1, bool> mIsMirroredArt;
90 ::ll::TypedStorage<1, 1, ::SharedTypes::Legacy::UseAnimation> mUseAnim;
91 ::ll::TypedStorage<8, 32, ::std::string> mHoverTextColorFormat;
92 ::ll::TypedStorage<4, 4, int> mIconFrame;
93 ::ll::TypedStorage<4, 4, int> mAtlasFrame;
94 ::ll::TypedStorage<4, 4, int> mAtlasTotalFrames;
95 ::ll::TypedStorage<8, 32, ::std::string> mIconName;
96 ::ll::TypedStorage<8, 32, ::std::string> mAtlasName;
97 ::ll::TypedStorage<1, 1, uchar> mMaxStackSize;
98 ::ll::TypedStorage<2, 2, short> mId;
99 ::ll::TypedStorage<8, 32, ::std::string> mDescriptionId;
100 ::ll::TypedStorage<8, 48, ::HashedString> mRawNameId;
101 ::ll::TypedStorage<8, 32, ::std::string> mNamespace;
102 ::ll::TypedStorage<8, 48, ::HashedString> mFullName;
103 ::ll::TypedStorage<2, 2, short> mMaxDamage;
105 bool mHandEquipped : 1;
106 bool mIsStackedByData : 1;
107 bool mRequiresWorldBuilder : 1;
108 bool mExplodable : 1;
109 bool mFireResistant : 1;
110 bool mShouldDespawn : 1;
111 bool mIgnoresPermissions : 1;
112 ::ll::TypedStorage<4, 4, int> mMaxUseDuration;
113 ::ll::TypedStorage<8, 32, ::BaseGameVersion> mMinRequiredBaseGameVersion;
114 ::ll::TypedStorage<8, 8, ::BlockType const*> mBlockType;
115 ::ll::TypedStorage<1, 1, ::SharedTypes::CreativeItemCategory> mCreativeCategory;
116 ::ll::TypedStorage<8, 8, ::Item*> mCraftingRemainingItem;
117 ::ll::TypedStorage<8, 32, ::std::string> mCreativeGroup;
118 ::ll::TypedStorage<4, 4, float> mFurnaceBurnIntervalModifier;
119 ::ll::TypedStorage<4, 4, float> mFurnaceXPmultiplier;
120 ::ll::TypedStorage<1, 1, ::ItemCommandVisibility> mIsHiddenInCommands;
121 ::ll::TypedStorage<4, 4, ::Rarity> mBaseRarity;
122 ::ll::TypedStorage<4, 4, ::Interactions::Mining::MineBlockItemEffectType> mMineBlockType;
123 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FoodItemComponentLegacy>> mFoodComponentLegacy;
124 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SeedItemComponentLegacy>> mSeedComponent;
125 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CameraItemComponentLegacy>> mCameraComponentLegacy;
126 ::ll::TypedStorage<8, 24, ::std::vector<::std::function<void()>>> mOnResetBAICallbacks;
127 ::ll::TypedStorage<8, 24, ::std::vector<::ItemTag>> mTags;
128 ::Item::OffhandAllowed mAllowOffhand : 2;
140 virtual void initServer(
144 ::std::optional<::LegacyEventItemComponentData> legacyEventData
147 virtual void tearDown();
149 virtual ::Item& setDescriptionId(::std::string
const& description);
151 virtual ::std::string
const& getDescriptionId()
const;
153 virtual int getMaxUseDuration(
::ItemStack const* instance)
const;
155 virtual ::BlockType
const* getBlockTypeForRendering()
const;
157 virtual bool isMusicDisk()
const;
162 virtual bool isComponentBased()
const;
164 virtual bool isHumanoidArmor()
const;
166 virtual bool isBlockPlanterItem()
const;
168 virtual bool isBucket()
const;
170 virtual bool isCandle()
const;
172 virtual bool isDamageable()
const;
174 virtual bool isDyeable()
const;
176 virtual bool isDye()
const;
178 virtual ::ItemColor getItemColor()
const;
180 virtual bool isFertilizer()
const;
182 virtual bool isFood()
const;
184 virtual bool isThrowable()
const;
186 virtual bool isUseable()
const;
188 virtual bool isTrimAllowed()
const;
190 virtual bool isBodyArmor()
const;
192 virtual ::ItemComponent* getComponent(
::HashedString const&
id)
const;
194 virtual ::IFoodItemComponent* getFood()
const;
196 virtual ::Item& setMaxDamage(
int maxDamage);
198 virtual ::Item& setMaxUseDuration(
int maxUseDuration);
200 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag()
const;
202 virtual void initializeFromNetwork(
::CompoundTag const& tag);
204 virtual ::std::vector<::std::string> validateFromNetwork(
::CompoundTag const& tag);
206 virtual ::BlockShape getBlockShape()
const;
208 virtual bool canBeDepleted()
const;
210 virtual bool canDestroySpecial(
::Block const& block)
const;
212 virtual int getLevelDataForAuxValue(
int auxValue)
const;
214 virtual bool isStackedByData()
const;
216 virtual short getMaxDamage()
const;
218 virtual int getAttackDamage()
const;
220 virtual float getAttackDamageBonus(
::Actor const& attacker)
const;
222 virtual bool isHandEquipped()
const;
226 virtual bool isPattern()
const;
228 virtual int getPatternIndex()
const;
230 virtual ::Rarity getBaseRarity()
const;
234 virtual uint getSwingDuration()
const;
236 virtual bool showsDurabilityInCreative()
const;
238 virtual bool isWearableThroughLootTable(
::CompoundTag const* userData)
const;
240 virtual bool canDestroyInCreative()
const;
242 virtual bool isDestructive(
int auxValue)
const;
244 virtual bool isLiquidClipItem()
const;
246 virtual bool shouldInteractionWithBlockBypassLiquid(
::Block const& block)
const;
248 virtual bool requiresInteract()
const;
250 virtual ::std::string getHoverTextColor(
::ItemStackBase const& stack)
const;
252 virtual void appendFormattedHovertext(
259 virtual bool isValidRepairItem(
265 virtual int getEnchantSlot()
const;
267 virtual int getEnchantValue()
const;
269 virtual int getArmorValue()
const;
271 virtual int getToughnessValue()
const;
273 virtual float getKnockbackResistanceValue()
const;
275 virtual ::std::optional<::SoundEventIdentifier> getAttackMissSound()
const;
277 virtual ::std::optional<::SoundEventIdentifier> getAttackHitSound()
const;
279 virtual ::std::optional<::SoundEventIdentifier> getAttackCriticalHitSound()
const;
281 virtual ::SharedTypes::Legacy::LevelSoundEvent getBreakSound()
const;
283 virtual ::SharedTypes::Legacy::LevelSoundEvent getEquipSound()
const;
285 virtual bool isComplex()
const;
288 virtual bool isValidAuxValue(
int value)
const;
290 virtual bool isValidAuxValue(
int auxValue)
const;
293 virtual int getDamageChance(
int unbreaking)
const;
295 virtual float getViewDamping()
const;
297 virtual bool uniqueAuxValues()
const;
299 virtual bool isActorPlacerItem()
const;
301 virtual ::ItemTintStrategy getTintStrategy()
const;
307 virtual bool hasCustomColor(
::CompoundTag const* userData)
const;
313 virtual ::ActorDefinitionIdentifier getActorIdentifier(
::ItemStack const&)
const;
315 virtual int buildIdAux(
short auxValue,
::CompoundTag const* userData)
const;
317 virtual bool canUseOnSimTick()
const;
321 virtual bool canUseAsAttack()
const;
326 virtual ::Actor* createProjectileActor(
330 ::Vec3 const& aimDirection
347 virtual ::std::string buildDescriptionName(
::ItemStackBase const& stack)
const;
349 virtual ::Bedrock::Safety::RedactableString
const buildRedactedDescriptionName(
::ItemStackBase const& stack)
const;
351 virtual ::std::string
354 virtual ::Bedrock::Safety::RedactableString getRedactedCustomName(
::ItemStackBase const& stack)
const;
358 virtual ::std::string buildEffectDescriptionName(
::ItemStackBase const& stack,
bool playerIsCreative)
const;
371 virtual ::HashedString
const& getCooldownCategory()
const;
373 virtual int getCooldownDuration()
const;
375 virtual ::SharedTypes::ItemCooldownType getCooldownType()
const;
381 virtual ::InHandUpdateType getInHandUpdateType(
386 bool const slotChanged
389 virtual bool validFishInteraction(
int)
const;
393 virtual ::SharedTypes::Legacy::ActorLocation getEquipLocation()
const;
395 virtual bool shouldEmitInUseGameEvents()
const;
397 virtual bool useInterruptedByAttacking()
const;
401 virtual void initClient(
405 ::std::optional<::ItemIconInfo> (*iconFactory)(::std::string
const&,
int)
408 virtual ::Item& setIconInfo(::std::string
const& name,
int index);
410 virtual ::ResolvedItemIconInfo
411 getIconInfo(
::ItemStackBase const& item,
int newAnimationFrame,
bool inInventoryPane)
const;
413 virtual ::std::string getInteractText(
::Player const& player)
const;
416 getAnimationFrameFor(
::Mob* holder,
bool asItemEntity,
::ItemStack const* item,
bool shouldAnimate)
const;
418 virtual bool isEmissive(
int auxValue)
const;
420 virtual ::Brightness getLightEmission(
int data)
const;
422 virtual bool canBeCharged()
const;
424 virtual void playSoundIncrementally(
::ItemStack const& item,
::Mob& mob)
const;
426 virtual float getFurnaceXPmultiplier(
::ItemStackBase const& instance)
const;
428 virtual ::Matrix getItemTransform(::ItemTransformType type,
float normalizedUnitScale)
const;
433 virtual ::std::string _getHoverTextDescription()
const;
441 virtual bool _shouldAutoCalculatePlacePos()
const;
443 virtual ::InteractionResult _useOn(
456 MCAPI Item(::std::string
const& nameId,
short id);
465 ::ItemAcquisitionMethod acquisitionMethod
479 MCAPI ::Item& addTag(
::ItemTag const& tag);
488 MCNAPI
short getDamageValue(
::CompoundTag const* userData)
const;
491 MCAPI ::std::string getSerializedName()
const;
493 MCAPI
bool hasTag(
::ItemTag const& tag)
const;
497 MCAPI
void setDamageValue(
::ItemStackBase& stack,
short newDamage)
const;
502 MCAPI ::InteractionResult useOn(
536 MCAPI
void* $ctor(::std::string
const& nameId,
short id);
548 MCAPI
void $initServer(
552 ::std::optional<::LegacyEventItemComponentData> legacyEventData
555 MCFOLD
void $tearDown();
557 MCAPI ::Item& $setDescriptionId(::std::string
const& description);
559 MCAPI ::std::string
const& $getDescriptionId()
const;
561 MCAPI
int $getMaxUseDuration(
::ItemStack const* instance)
const;
563 MCFOLD ::BlockType
const* $getBlockTypeForRendering()
const;
565 MCFOLD
bool $isMusicDisk()
const;
570 MCFOLD
bool $isComponentBased()
const;
572 MCFOLD
bool $isHumanoidArmor()
const;
574 MCFOLD
bool $isBlockPlanterItem()
const;
576 MCFOLD
bool $isBucket()
const;
578 MCFOLD
bool $isCandle()
const;
580 MCAPI
bool $isDamageable()
const;
582 MCFOLD
bool $isDyeable()
const;
584 MCFOLD
bool $isDye()
const;
586 MCFOLD ::ItemColor $getItemColor()
const;
588 MCFOLD
bool $isFertilizer()
const;
590 MCFOLD
bool $isFood()
const;
592 MCFOLD
bool $isThrowable()
const;
594 MCFOLD
bool $isUseable()
const;
596 MCFOLD
bool $isTrimAllowed()
const;
598 MCFOLD
bool $isBodyArmor()
const;
600 MCFOLD ::ItemComponent* $getComponent(
::HashedString const&
id)
const;
602 MCAPI ::IFoodItemComponent* $getFood()
const;
604 MCAPI ::Item& $setMaxDamage(
int maxDamage);
606 MCAPI ::Item& $setMaxUseDuration(
int maxUseDuration);
608 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag()
const;
612 MCFOLD ::std::vector<::std::string> $validateFromNetwork(
::CompoundTag const& tag);
614 MCFOLD ::BlockShape $getBlockShape()
const;
616 MCAPI
bool $canBeDepleted()
const;
618 MCFOLD
bool $canDestroySpecial(
::Block const& block)
const;
620 MCFOLD
int $getLevelDataForAuxValue(
int auxValue)
const;
622 MCAPI
bool $isStackedByData()
const;
624 MCAPI
short $getMaxDamage()
const;
626 MCFOLD
int $getAttackDamage()
const;
628 MCFOLD
float $getAttackDamageBonus(
::Actor const& attacker)
const;
630 MCAPI
bool $isHandEquipped()
const;
634 MCFOLD
bool $isPattern()
const;
636 MCFOLD
int $getPatternIndex()
const;
638 MCAPI ::Rarity $getBaseRarity()
const;
642 MCFOLD uint $getSwingDuration()
const;
644 MCFOLD
bool $showsDurabilityInCreative()
const;
646 MCFOLD
bool $isWearableThroughLootTable(
::CompoundTag const* userData)
const;
648 MCFOLD
bool $canDestroyInCreative()
const;
650 MCFOLD
bool $isDestructive(
int auxValue)
const;
652 MCFOLD
bool $isLiquidClipItem()
const;
654 MCFOLD
bool $shouldInteractionWithBlockBypassLiquid(
::Block const& block)
const;
656 MCFOLD
bool $requiresInteract()
const;
658 MCAPI ::std::string $getHoverTextColor(
::ItemStackBase const& stack)
const;
660 MCAPI
void $appendFormattedHovertext(
667 MCFOLD
bool $isValidRepairItem(
673 MCFOLD
int $getEnchantSlot()
const;
675 MCFOLD
int $getEnchantValue()
const;
677 MCFOLD
int $getArmorValue()
const;
679 MCFOLD
int $getToughnessValue()
const;
681 MCFOLD
float $getKnockbackResistanceValue()
const;
683 MCFOLD ::std::optional<::SoundEventIdentifier> $getAttackMissSound()
const;
685 MCFOLD ::std::optional<::SoundEventIdentifier> $getAttackHitSound()
const;
687 MCFOLD ::std::optional<::SoundEventIdentifier> $getAttackCriticalHitSound()
const;
689 MCFOLD ::SharedTypes::Legacy::LevelSoundEvent $getBreakSound()
const;
691 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getEquipSound()
const;
693 MCFOLD
bool $isComplex()
const;
696 MCFOLD
bool $isValidAuxValue(
int value)
const;
698 MCFOLD
bool $isValidAuxValue(
int auxValue)
const;
701 MCAPI
int $getDamageChance(
int unbreaking)
const;
703 MCFOLD
float $getViewDamping()
const;
705 MCFOLD
bool $uniqueAuxValues()
const;
707 MCFOLD
bool $isActorPlacerItem()
const;
709 MCFOLD ::ItemTintStrategy $getTintStrategy()
const;
715 MCFOLD
bool $hasCustomColor(
::CompoundTag const* userData)
const;
721 MCAPI ::ActorDefinitionIdentifier $getActorIdentifier(
::ItemStack const&)
const;
723 MCAPI
int $buildIdAux(
short auxValue,
::CompoundTag const* userData)
const;
725 MCFOLD
bool $canUseOnSimTick()
const;
729 MCFOLD
bool $canUseAsAttack()
const;
734 MCFOLD ::Actor* $createProjectileActor(
738 ::Vec3 const& aimDirection
755 MCAPI ::std::string $buildDescriptionName(
::ItemStackBase const& stack)
const;
757 MCAPI ::Bedrock::Safety::RedactableString
const $buildRedactedDescriptionName(
::ItemStackBase const& stack)
const;
762 MCAPI ::Bedrock::Safety::RedactableString $getRedactedCustomName(
::ItemStackBase const& stack)
const;
766 MCAPI ::std::string $buildEffectDescriptionName(
::ItemStackBase const& stack,
bool playerIsCreative)
const;
779 MCAPI ::HashedString
const& $getCooldownCategory()
const;
781 MCAPI
int $getCooldownDuration()
const;
783 MCFOLD ::SharedTypes::ItemCooldownType $getCooldownType()
const;
789 MCAPI ::InHandUpdateType $getInHandUpdateType(
794 bool const slotChanged
797 MCFOLD
bool $validFishInteraction(
int)
const;
801 MCFOLD ::SharedTypes::Legacy::ActorLocation $getEquipLocation()
const;
803 MCFOLD
bool $shouldEmitInUseGameEvents()
const;
805 MCFOLD
bool $useInterruptedByAttacking()
const;
809 MCAPI
void $initClient(
813 ::std::optional<::ItemIconInfo> (*iconFactory)(::std::string
const&,
int)
816 MCFOLD ::Item& $setIconInfo(::std::string
const& name,
int index);
818 MCAPI ::ResolvedItemIconInfo
819 $getIconInfo(
::ItemStackBase const& item,
int newAnimationFrame,
bool inInventoryPane)
const;
821 MCAPI ::std::string $getInteractText(
::Player const& player)
const;
824 $getAnimationFrameFor(
::Mob* holder,
bool asItemEntity,
::ItemStack const* item,
bool shouldAnimate)
const;
826 MCAPI
bool $isEmissive(
int auxValue)
const;
828 MCFOLD ::Brightness $getLightEmission(
int data)
const;
830 MCFOLD
bool $canBeCharged()
const;
832 MCFOLD
void $playSoundIncrementally(
::ItemStack const& item,
::Mob& mob)
const;
834 MCAPI
float $getFurnaceXPmultiplier(
::ItemStackBase const& instance)
const;
836 MCAPI ::Matrix $getItemTransform(::ItemTransformType type,
float normalizedUnitScale)
const;
841 MCAPI ::std::string $_getHoverTextDescription()
const;
849 MCFOLD
bool $_shouldAutoCalculatePlacePos()
const;
851 MCAPI ::InteractionResult $_useOn(