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<4, 4, ::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(
136 virtual void tearDown();
138 virtual ::Item& setDescriptionId(::std::string
const& description);
140 virtual ::std::string
const& getDescriptionId()
const;
142 virtual int getMaxUseDuration(
::ItemStack const* instance)
const;
144 virtual ::WeakPtr<::BlockType const>
const& getBlockTypeForRendering()
const;
146 virtual bool isMusicDisk()
const;
150 virtual bool isComponentBased()
const;
152 virtual bool isHumanoidArmor()
const;
154 virtual bool isBlockPlanterItem()
const;
156 virtual bool isBucket()
const;
158 virtual bool isCandle()
const;
160 virtual bool isDamageable()
const;
162 virtual bool isDyeable()
const;
164 virtual bool isDye()
const;
166 virtual ::ItemColor getItemColor()
const;
168 virtual bool isFertilizer()
const;
170 virtual bool isFood()
const;
172 virtual bool isThrowable()
const;
174 virtual bool isUseable()
const;
176 virtual bool isTrimAllowed()
const;
178 virtual bool isBodyArmor()
const;
180 virtual ::ItemComponent* getComponent(
::HashedString const&
id)
const;
182 virtual ::IFoodItemComponent* getFood()
const;
184 virtual ::Item& setMaxDamage(
int maxDamage);
186 virtual ::Item& setMaxUseDuration(
int maxUseDuration);
188 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag()
const;
190 virtual void initializeFromNetwork(
::CompoundTag const& tag);
192 virtual ::std::vector<::std::string> validateFromNetwork(
::CompoundTag const& tag);
194 virtual ::BlockShape getBlockShape()
const;
196 virtual bool canBeDepleted()
const;
198 virtual bool canDestroySpecial(
::Block const& block)
const;
200 virtual int getLevelDataForAuxValue(
int auxValue)
const;
202 virtual bool isStackedByData()
const;
204 virtual short getMaxDamage()
const;
206 virtual int getAttackDamage()
const;
208 virtual float getAttackDamageBonus(
::Actor const& attacker)
const;
210 virtual bool isHandEquipped()
const;
214 virtual bool isPattern()
const;
216 virtual int getPatternIndex()
const;
218 virtual ::Rarity getBaseRarity()
const;
222 virtual uint getSwingDuration()
const;
224 virtual bool showsDurabilityInCreative()
const;
226 virtual bool isWearableThroughLootTable(
::CompoundTag const* userData)
const;
228 virtual bool canDestroyInCreative()
const;
230 virtual bool isDestructive(
int auxValue)
const;
232 virtual bool isLiquidClipItem()
const;
234 virtual bool shouldInteractionWithBlockBypassLiquid(
::Block const& block)
const;
236 virtual bool requiresInteract()
const;
238 virtual ::std::string getHoverTextColor(
::ItemStackBase const& stack)
const;
240 virtual void appendFormattedHovertext(
247 virtual bool isValidRepairItem(
253 virtual int getEnchantSlot()
const;
255 virtual int getEnchantValue()
const;
257 virtual int getArmorValue()
const;
259 virtual int getToughnessValue()
const;
261 virtual float getKnockbackResistanceValue()
const;
263 virtual ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> getAttackMissSound()
const;
265 virtual ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> getAttackHitSound()
const;
267 virtual ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> getAttackCriticalHitSound()
const;
269 virtual ::SharedTypes::Legacy::LevelSoundEvent getBreakSound()
const;
271 virtual ::SharedTypes::Legacy::LevelSoundEvent getEquipSound()
const;
273 virtual bool isComplex()
const;
275 virtual bool isValidAuxValue(
int auxValue)
const;
277 virtual int getDamageChance(
int unbreaking)
const;
279 virtual float getViewDamping()
const;
281 virtual bool uniqueAuxValues()
const;
283 virtual bool isActorPlacerItem()
const;
285 virtual ::ItemTintStrategy getTintStrategy()
const;
291 virtual bool hasCustomColor(
::CompoundTag const* userData)
const;
297 virtual ::ActorDefinitionIdentifier getActorIdentifier(
::ItemStack const&)
const;
299 virtual int buildIdAux(
short auxValue,
::CompoundTag const* userData)
const;
301 virtual bool canUseOnSimTick()
const;
305 virtual bool canUseAsAttack()
const;
309 virtual ::Actor* createProjectileActor(
313 ::Vec3 const& aimDirection
330 virtual ::std::string buildDescriptionName(
::ItemStackBase const& stack)
const;
332 virtual ::Bedrock::Safety::RedactableString
const buildRedactedDescriptionName(
::ItemStackBase const& stack)
const;
334 virtual ::std::string
337 virtual ::Bedrock::Safety::RedactableString getRedactedCustomName(
::ItemStackBase const& stack)
const;
341 virtual ::std::string buildEffectDescriptionName(
::ItemStackBase const& stack,
bool playerIsCreative)
const;
354 virtual ::HashedString
const& getCooldownCategory()
const;
356 virtual int getCooldownDuration()
const;
358 virtual ::SharedTypes::ItemCooldownType getCooldownType()
const;
364 virtual ::InHandUpdateType getInHandUpdateType(
368 bool const isMainHand,
369 bool const slotChanged
372 virtual bool validFishInteraction(
int)
const;
376 virtual ::SharedTypes::Legacy::ActorLocation getEquipLocation()
const;
378 virtual bool shouldEmitInUseGameEvents()
const;
380 virtual bool useInterruptedByAttacking()
const;
384 virtual void initClient(
388 ::std::optional<::ItemIconInfo> (*)(::std::string
const&,
int)
391 virtual ::Item& setIconInfo(::std::string
const& name,
int index);
393 virtual ::ResolvedItemIconInfo
394 getIconInfo(
::ItemStackBase const& item,
int newAnimationFrame,
bool inInventoryPane)
const;
396 virtual ::std::string getInteractText(
::Player const& player)
const;
399 getAnimationFrameFor(
::Mob* holder,
bool asItemEntity,
::ItemStack const* item,
bool shouldAnimate)
const;
401 virtual bool isEmissive(
int auxValue)
const;
403 virtual ::Brightness getLightEmission(
int data)
const;
405 virtual bool canBeCharged()
const;
407 virtual void playSoundIncrementally(
::ItemStack const& item,
::Mob& mob)
const;
418 virtual bool _shouldAutoCalculatePlacePos()
const;
420 virtual ::InteractionResult
427 MCAPI Item(::std::string
const& nameId,
short id);
431 MCAPI
void _helpChangeInventoryItemInPlace(
435 ::ItemAcquisitionMethod acquisitionMethod
438 MCAPI ::CoordinatorResult _sendTryPlaceBlockEvent(
447 MCAPI
void addOnResetBAICallback(::std::function<
void()> callback);
449 MCAPI ::Item& addTag(
::ItemTag const& tag);
453 MCAPI ::Item& addTags(::std::initializer_list<::std::reference_wrapper<::ItemTag const>> tags);
455 MCAPI ::std::string buildCategoryDescriptionName()
const;
457 MCAPI ::ItemDescriptor buildDescriptor(
short auxValue,
::CompoundTag const*)
const;
465 MCAPI
void clearTags();
470 MCAPI
void executeOnResetBAICallbacks()
const;
473 MCFOLD ::WeakPtr<::BlockType const>
const& getBlockType()
const;
475 MCFOLD ::ICameraItemComponent* getCamera()
const;
477 MCAPI ::std::vector<::CommandName> getCommandNames()
const;
479 MCFOLD ::SharedTypes::CreativeItemCategory getCreativeCategory()
const;
481 MCAPI ::std::string
const& getCreativeGroup()
const;
483 MCAPI
short getDamageValue(
::CompoundTag const* userData)
const;
485 MCFOLD
int getFrameCount()
const;
487 MCAPI ::std::string
const& getFullItemName()
const;
489 MCFOLD ::HashedString
const& getFullNameHash()
const;
491 MCFOLD
float getFurnaceBurnIntervalMultipler()
const;
493 MCAPI
short getId()
const;
495 MCFOLD ::Interactions::Mining::MineBlockItemEffectType getMineBlockType()
const;
497 MCFOLD ::std::string
const& getNamespace()
const;
499 MCFOLD ::HashedString
const& getRawNameHash()
const;
501 MCAPI ::std::string
const& getRawNameId()
const;
503 MCFOLD ::BaseGameVersion
const& getRequiredBaseGameVersion()
const;
505 MCAPI ::std::string getSerializedName()
const;
507 MCAPI
bool hasTag(
::ItemTag const& tag)
const;
512 MCFOLD
bool isAnimatedInToolbar()
const;
514 MCFOLD
bool isCamera()
const;
517 MCAPI
bool isCommandOnly()
const;
519 MCAPI
bool isElytra()
const;
522 MCFOLD
bool isMirroredArt()
const;
525 MCAPI
bool isNameTag()
const;
527 MCAPI
bool isSeed()
const;
529 MCAPI
bool operator==(::Item
const& rhs)
const;
532 MCAPI
void reloadIcon();
534 MCAPI
void resetId(
short id);
537 MCAPI ::Item& setAllowOffhand(
bool offhand);
539 MCAPI ::Item& setBaseRarity(::Rarity baseRarity);
541 MCFOLD ::Item& setCategory(::SharedTypes::CreativeItemCategory creativeCategory);
543 MCAPI ::Item& setCreativeGroup(::std::string
const& group);
545 MCAPI
void setDamageValue(
::ItemStackBase& stack,
short newDamage)
const;
547 MCAPI ::Item& setExplodable(
bool boom);
549 MCAPI ::Item& setFireResistant(
bool resistant);
551 MCFOLD ::Item& setFurnaceBurnIntervalMultiplier(
float multiplier);
553 MCAPI ::Item& setFurnaceXPmultiplier(
float multiplier);
555 MCAPI ::Item& setHandEquipped();
557 MCAPI ::Item& setHoverTextColorFormat(::std::string_view hoverTextColorFormat);
559 MCAPI ::Item& setIsGlint(
bool glint);
561 MCAPI ::Item& setIsMirroredArt(
bool val);
563 MCAPI ::Item& setMaxStackSize(uchar max);
565 MCAPI ::Item& setMinRequiredBaseGameVersion(
::BaseGameVersion const& baseGameVersion);
567 MCAPI ::Item& setRequiresWorldBuilder(
bool value);
569 MCAPI ::Item& setShouldDespawn(
bool despawn);
571 MCAPI ::Item& setStackedByData(
bool isStackedByData);
573 MCAPI ::Item& setUseAnimation(::SharedTypes::Legacy::UseAnimation anim);
575 MCAPI
bool shouldDespawn()
const;
580 MCAPI ::InteractionResult useOn(
598 MCAPI
static bool isElytraBroken(
int value);
605 MCAPI static ::NewBlockID toBlockId(
short itemId);
611 MCAPI static ::SemVersionConstant
const& DATA_DRIVEN_NEXT_VERSION();
613 MCAPI static ::SemVersionConstant
const& DATA_DRIVEN_VERSION();
615 MCAPI static ::std::string
const& ICON_DESCRIPTION_PREFIX();
617 MCAPI static ::std::string
const& TAG_DAMAGE();
619 MCAPI
static bool const& mGenerateDenyParticleEffect();
625 MCAPI
void* $ctor(::std::string
const& nameId,
short id);
637 MCAPI
void $initServer(
643 MCFOLD
void $tearDown();
645 MCAPI ::Item& $setDescriptionId(::std::string
const& description);
647 MCFOLD ::std::string
const& $getDescriptionId()
const;
649 MCAPI
int $getMaxUseDuration(
::ItemStack const* instance)
const;
651 MCFOLD ::WeakPtr<::BlockType const>
const& $getBlockTypeForRendering()
const;
653 MCFOLD
bool $isMusicDisk()
const;
657 MCFOLD
bool $isComponentBased()
const;
659 MCFOLD
bool $isHumanoidArmor()
const;
661 MCFOLD
bool $isBlockPlanterItem()
const;
663 MCFOLD
bool $isBucket()
const;
665 MCFOLD
bool $isCandle()
const;
667 MCAPI
bool $isDamageable()
const;
669 MCFOLD
bool $isDyeable()
const;
671 MCFOLD
bool $isDye()
const;
673 MCFOLD ::ItemColor $getItemColor()
const;
675 MCFOLD
bool $isFertilizer()
const;
677 MCFOLD
bool $isFood()
const;
679 MCFOLD
bool $isThrowable()
const;
681 MCFOLD
bool $isUseable()
const;
683 MCFOLD
bool $isTrimAllowed()
const;
685 MCFOLD
bool $isBodyArmor()
const;
687 MCFOLD ::ItemComponent* $getComponent(
::HashedString const&
id)
const;
689 MCAPI ::IFoodItemComponent* $getFood()
const;
691 MCAPI ::Item& $setMaxDamage(
int maxDamage);
693 MCAPI ::Item& $setMaxUseDuration(
int maxUseDuration);
695 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag()
const;
699 MCFOLD ::std::vector<::std::string> $validateFromNetwork(
::CompoundTag const& tag);
701 MCFOLD ::BlockShape $getBlockShape()
const;
703 MCAPI
bool $canBeDepleted()
const;
705 MCFOLD
bool $canDestroySpecial(
::Block const& block)
const;
707 MCFOLD
int $getLevelDataForAuxValue(
int auxValue)
const;
709 MCAPI
bool $isStackedByData()
const;
711 MCFOLD
short $getMaxDamage()
const;
713 MCFOLD
int $getAttackDamage()
const;
715 MCFOLD
float $getAttackDamageBonus(
::Actor const& attacker)
const;
717 MCAPI
bool $isHandEquipped()
const;
721 MCFOLD
bool $isPattern()
const;
723 MCFOLD
int $getPatternIndex()
const;
725 MCFOLD ::Rarity $getBaseRarity()
const;
729 MCFOLD uint $getSwingDuration()
const;
731 MCFOLD
bool $showsDurabilityInCreative()
const;
733 MCFOLD
bool $isWearableThroughLootTable(
::CompoundTag const* userData)
const;
735 MCFOLD
bool $canDestroyInCreative()
const;
737 MCFOLD
bool $isDestructive(
int auxValue)
const;
739 MCFOLD
bool $isLiquidClipItem()
const;
741 MCFOLD
bool $shouldInteractionWithBlockBypassLiquid(
::Block const& block)
const;
743 MCFOLD
bool $requiresInteract()
const;
745 MCAPI ::std::string $getHoverTextColor(
::ItemStackBase const& stack)
const;
747 MCAPI
void $appendFormattedHovertext(
754 MCFOLD
bool $isValidRepairItem(
760 MCFOLD
int $getEnchantSlot()
const;
762 MCFOLD
int $getEnchantValue()
const;
764 MCFOLD
int $getArmorValue()
const;
766 MCFOLD
int $getToughnessValue()
const;
768 MCFOLD
float $getKnockbackResistanceValue()
const;
770 MCFOLD ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> $getAttackMissSound()
const;
772 MCFOLD ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> $getAttackHitSound()
const;
774 MCFOLD ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> $getAttackCriticalHitSound()
const;
776 MCFOLD ::SharedTypes::Legacy::LevelSoundEvent $getBreakSound()
const;
778 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getEquipSound()
const;
780 MCFOLD
bool $isComplex()
const;
782 MCFOLD
bool $isValidAuxValue(
int auxValue)
const;
784 MCAPI
int $getDamageChance(
int unbreaking)
const;
786 MCFOLD
float $getViewDamping()
const;
788 MCFOLD
bool $uniqueAuxValues()
const;
790 MCFOLD
bool $isActorPlacerItem()
const;
792 MCFOLD ::ItemTintStrategy $getTintStrategy()
const;
798 MCFOLD
bool $hasCustomColor(
::CompoundTag const* userData)
const;
804 MCAPI ::ActorDefinitionIdentifier $getActorIdentifier(
::ItemStack const&)
const;
806 MCAPI
int $buildIdAux(
short auxValue,
::CompoundTag const* userData)
const;
808 MCFOLD
bool $canUseOnSimTick()
const;
812 MCFOLD
bool $canUseAsAttack()
const;
816 MCFOLD ::Actor* $createProjectileActor(
820 ::Vec3 const& aimDirection
837 MCAPI ::std::string $buildDescriptionName(
::ItemStackBase const& stack)
const;
839 MCAPI ::Bedrock::Safety::RedactableString
const $buildRedactedDescriptionName(
::ItemStackBase const& stack)
const;
844 MCAPI ::Bedrock::Safety::RedactableString $getRedactedCustomName(
::ItemStackBase const& stack)
const;
848 MCAPI ::std::string $buildEffectDescriptionName(
::ItemStackBase const& stack,
bool playerIsCreative)
const;
861 MCAPI ::HashedString
const& $getCooldownCategory()
const;
863 MCAPI
int $getCooldownDuration()
const;
865 MCFOLD ::SharedTypes::ItemCooldownType $getCooldownType()
const;
871 MCAPI ::InHandUpdateType $getInHandUpdateType(
875 bool const isMainHand,
876 bool const slotChanged
879 MCFOLD
bool $validFishInteraction(
int)
const;
883 MCFOLD ::SharedTypes::Legacy::ActorLocation $getEquipLocation()
const;
885 MCFOLD
bool $shouldEmitInUseGameEvents()
const;
887 MCFOLD
bool $useInterruptedByAttacking()
const;
891 MCAPI
void $initClient(
895 ::std::optional<::ItemIconInfo> (*)(::std::string
const&,
int)
898 MCAPI ::Item& $setIconInfo(::std::string
const& name,
int index);
900 MCAPI ::ResolvedItemIconInfo
901 $getIconInfo(
::ItemStackBase const& item,
int newAnimationFrame,
bool inInventoryPane)
const;
903 MCAPI ::std::string $getInteractText(
::Player const& player)
const;
906 $getAnimationFrameFor(
::Mob* holder,
bool asItemEntity,
::ItemStack const* item,
bool shouldAnimate)
const;
908 MCAPI
bool $isEmissive(
int auxValue)
const;
910 MCFOLD ::Brightness $getLightEmission(
int data)
const;
912 MCFOLD
bool $canBeCharged()
const;
914 MCFOLD
void $playSoundIncrementally(
::ItemStack const& item,
::Mob& mob)
const;
925 MCFOLD
bool $_shouldAutoCalculatePlacePos()
const;
927 MCAPI ::InteractionResult
936 MCAPI
static void** $vftable();