57 ::ll::TypedStorage<1, 1, bool> mCompareAux;
58 ::ll::TypedStorage<1, 1, bool> mCompareRelevantUserData;
59 ::ll::TypedStorage<1, 1, bool> mCompareDamage;
64 LLNDAPI std::string getTypeName()
const;
65 LLNDAPI std::string getDescriptionName()
const;
66 LLNDAPI
bool isEnchanted()
const;
67 LLAPI
bool removeEnchants()
const;
68 LLAPI
void deserializeComponents(
IDataInput& input);
69 LLAPI
bool operator==(ItemStackBase
const& other)
const;
70 LLNDAPI
short getId()
const;
71 LLNDAPI
short getAuxValue()
const;
72 LLAPI
void setDamageValue(
short newDamage);
73 inline void add(
int count) { set(mCount + count); }
74 inline void remove(
int count) { set(mCount - count); }
80 ::WeakPtr<::Item> mItem;
81 ::std::unique_ptr<::CompoundTag> mUserData;
82 ::Block
const* mBlock;
85 bool mValid_DeprecatedSeeComment;
88 ::std::chrono::steady_clock::time_point mPickupTime;
89 ::std::vector<::BlockType const*> mCanPlaceOn;
90 uint64 mCanPlaceOnHash;
91 ::std::vector<::BlockType const*> mCanDestroy;
92 uint64 mCanDestroyHash;
94 ::std::unique_ptr<::ItemInstance> mChargedItem;
98 LLAPI ItemStackBase();
103 virtual ~ItemStackBase();
105 virtual void reinit(::Item
const& item,
int count,
int auxValue) = 0;
107 virtual void reinit(::Block
const& block,
int count) = 0;
109 virtual void reinit(::std::string_view
const name,
int count,
int auxValue) = 0;
111 virtual void setNull(::std::optional<::std::string> reason);
113 virtual explicit operator bool()
const;
115 virtual ::std::string toString()
const;
117 virtual ::std::string toDebugString()
const;
127 MCAPI ItemStackBase(
::Block const& block,
int count = 1,
::CompoundTag const* _userData =
nullptr);
132 ItemStackBase(::std::string_view name,
int count = 1,
int auxValue = 0,
::CompoundTag const* _userData =
nullptr);
143 MCNAPI
bool _hasFullOrPartialTag(
::HashedString const&
string)
const;
153 MCNAPI
bool _setItem(
int id,
bool doRemap);
157 MCAPI
bool _setItem(
int id,
bool doRemap);
160 MCAPI
void _updateCompareHashes();
162 MCAPI
bool addComponents(
::Json::Value const& root, ::std::string& errorMsg);
168 MCAPI
void clearCustomLore();
170 MCAPI ::ItemEnchants constructItemEnchantsFromUserData()
const;
172 MCAPI ::SharedTypes::Legacy::ArmorSlot getArmorSlot()
const;
174 MCAPI
int getBaseRepairCost()
const;
177 MCAPI ::Block
const* getBlockForRendering()
const;
180 MCAPI ::mce::Color getColor()
const;
182 MCAPI ::std::vector<::std::string> getCustomLore()
const;
184 MCAPI ::std::string getCustomName()
const;
186 MCAPI
short getDamageValue()
const;
188 MCAPI ::std::string getDescriptionId()
const;
190 MCAPI ::ItemDescriptor getDescriptor()
const;
192 MCAPI ::std::unique_ptr<::DynamicProperties> getDynamicProperties()
const;
194 MCAPI ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>>
195 getDynamicProperty(::std::string
const& key, ::std::string
const& collectionName)
const;
198 MCAPI ::Bedrock::Safety::RedactableString getFormattedHovertext(
::Level& level,
bool showCategory)
const;
200 MCAPI ::std::string getHoverName()
const;
203 MCAPI
int getIdAux()
const;
205 MCAPI uchar getMaxStackSize()
const;
207 MCAPI ::std::string getName()
const;
210 MCNAPI ::std::unique_ptr<::CompoundTag> getNetworkUserData()
const;
215 MCAPI ::std::string getRawNameId()
const;
219 MCAPI ::Bedrock::Safety::RedactableString getRedactedHoverName()
const;
221 MCAPI ::Bedrock::Safety::RedactableString getRedactedName()
const;
226 MCNAPI
bool hasComponent(::std::string
const& name)
const;
229 MCAPI
bool hasSameAuxValue(::ItemStackBase
const& other)
const;
231 MCAPI
bool hasSameUserData(::ItemStackBase
const& other)
const;
234 MCAPI
bool hasTag(
::ItemTag const&
string)
const;
237 MCAPI
bool hurtAndBreak(
int deltaDamage,
::Actor* owner);
242 MCNAPI
void init(
int id,
int count_,
int aux_,
bool doRemap);
247 MCAPI
bool isArmorItem()
const;
250 MCAPI
bool isAttachableEquipment()
const;
253 MCAPI
bool isDamageableItem()
const;
255 MCAPI
bool isDamaged()
const;
257 MCAPI
bool isEnchantingBook()
const;
259 MCAPI
bool isFullStack()
const;
261 MCAPI
bool isHorseArmorItem()
const;
263 MCAPI
bool isHumanoidWearableItem()
const;
265 MCAPI
bool isInstance(
::HashedString const& itemName,
bool useItemLookup)
const;
267 MCAPI
bool isNull()
const;
274 isOneOfBlockInstances(::std::initializer_list<::std::reference_wrapper<::HashedString const>> blocks)
const;
278 ::std::initializer_list<::std::reference_wrapper<::HashedString const>> items,
282 MCAPI
bool isPotionItem()
const;
284 MCAPI
bool isStackable()
const;
286 MCAPI
bool isStackable(::ItemStackBase
const& other)
const;
289 MCNAPI
bool isTransparentAttachable()
const;
294 MCAPI
bool matchesItem(::ItemStackBase
const& other)
const;
296 MCAPI ::ItemStackBase& operator=(::ItemStackBase
const& rhs);
298 MCAPI
void resetHoverName();
302 MCAPI ::std::unique_ptr<::CompoundTag> save(
::SaveContext const& saveContext)
const;
307 MCNAPI
bool sendEventTriggered(::std::string
const& event,
::RenderParams const& params);
312 MCAPI
void set(
int inCount);
316 MCAPI
void setCustomLore(::std::vector<::std::string>
const& lore);
320 MCAPI
void setDynamicProperty(
321 ::std::string
const& key,
322 ::std::variant<double, float, bool, ::std::string, ::Vec3>
const& value,
323 ::std::string
const& collectionName
328 MCAPI
void setRepairCost(
int cost);
330 MCAPI
void setUnbreakable(
bool isUnbreakable);
332 MCAPI
void setUserData(::std::unique_ptr<::CompoundTag> tag);
336 MCAPI
void startCooldown(
::Player& player, ::SharedTypes::ItemCooldownType type)
const;
343 _loadBlocksForCanPlaceOnCanDestroy(::std::vector<::BlockType const*>& blockList, ::std::string
const& blockName);
346 MCNAPI
static void loadItemStacksFromDescriptor(
347 ::std::vector<::ItemStack>& outItems,
348 ::std::vector<::NetworkItemStackDescriptor>
const& descriptors,
374 MCAPI static ::std::string
const& TAG_ENCHANTS();
391 MCNAPI
void*
$ctor();
396 MCNAPI
void*
$ctor(::ItemStackBase
const& rhs);
402 MCAPI
void*
$ctor(::std::string_view name,
int count,
int auxValue,
::CompoundTag const* _userData);
414 MCAPI
void $setNull(::std::optional<::std::string> reason);
416 MCAPI ::std::string $toString()
const;
418 MCAPI ::std::string $toDebugString()
const;
Definition SaveContext.h:5