27 ::ll::TypedStorage<4, 4, ::ItemContextType> mItemContextType;
28 ::ll::TypedStorage<8, 8, ::Container*> mContainer;
29 ::ll::TypedStorage<4, 4, int> mSlot;
30 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::EquipmentSlot> mEquipmentSlot;
31 ::ll::TypedStorage<8, 8, ::BlockSource*> mBlockSource;
32 ::ll::TypedStorage<4, 12, ::BlockPos> mBlockPos;
33 ::ll::TypedStorage<8, 24, ::WeakEntityRef> mEntityRef;
34 ::ll::TypedStorage<8, 160, ::std::optional<::ItemStack>> mItemStackContainer;
39 ItemContext(ItemContext
const&);
45 MCAPI ItemContext(
::WeakEntityRef const& entityRef, ::SharedTypes::Legacy::EquipmentSlot equipmentSlot);
49 MCAPI ItemContext(
::ItemStack const& item,
int slot);
53 MCAPI ::Container* _tryGetContainerFromEntity()
const;
55 MCAPI ::Container* _tryGetContainerFromItem()
const;
57 MCAPI
bool clearAllDynamicProperties(::std::string
const& collection);
59 MCAPI ::std::optional<int> getAmount()
const;
61 MCAPI ::std::optional<::std::vector<::std::string>> getCanDestroy()
const;
63 MCAPI ::std::optional<::std::vector<::std::string>> getCanPlaceOn()
const;
65 MCAPI ::Container
const* getContainer()
const;
67 MCAPI ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>>
68 getDynamicProperty(::std::string
const& collection, ::std::string
const& key)
const;
70 MCAPI ::std::optional<::std::vector<::std::string>> getDynamicPropertyIds(::std::string
const& collection)
const;
72 MCAPI ::std::optional<uint64> getDynamicPropertyTotalByteCount(::std::string
const& collection)
const;
74 MCAPI ::std::optional<::std::string> getId()
const;
76 MCAPI ::std::optional<::ItemStack> getItem()
const;
78 MCAPI ::std::optional<bool> getKeepOnDeath()
const;
80 MCAPI ::std::optional<::ItemLockMode> getLockMode()
const;
82 MCAPI ::std::optional<::std::vector<::std::string>> getLore()
const;
84 MCAPI ::std::optional<int> getMaxAmount()
const;
86 MCAPI ::std::optional<::std::string> getNameTag()
const;
88 MCAPI
int getSlot()
const;
90 MCAPI ::std::optional<::std::vector<::ItemTag>> getTags()
const;
92 MCAPI ::std::optional<bool> hasItem()
const;
94 MCAPI ::std::optional<bool> hasTag(
::ItemTag const& tag)
const;
96 MCAPI ::std::optional<bool> isStackable()
const;
98 MCAPI ::std::optional<bool> isStackableWith(
::ItemStackBase const& other)
const;
100 MCAPI
bool isValid()
const;
102 MCAPI ::ItemContext& operator=(::ItemContext&&);
104 MCAPI ::ItemContext& operator=(::ItemContext
const&);
106 MCAPI
bool setAmount(
int amount);
108 MCAPI ::std::optional<bool> setCanDestroy(::std::vector<::std::string>
const& blockIdentifiers);
110 MCAPI ::std::optional<bool> setCanPlaceOn(::std::vector<::std::string>
const& blockIdentifiers);
112 MCAPI
bool setDynamicProperty(
113 ::std::string
const& collection,
114 ::std::string
const& key,
115 ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>>
const& optionalValue
120 MCAPI
bool setKeepOnDeath(
bool value);
122 MCAPI
bool setLockMode(::ItemLockMode lockMode);
124 MCAPI
bool setLore(::std::optional<::std::vector<::std::string>>
const& loreList);
126 MCAPI
bool setNameTag(::std::optional<::std::string> nameTag);
128 MCAPI ~ItemContext();
135 _trySetEquippedSlot(
::ItemStack const& item, ::SharedTypes::Legacy::EquipmentSlot equipmentSlot,
::Mob& mob);
137 MCAPI static ::ItemContext createPlayerEnderInventoryContext(
::WeakEntityRef const& entityRef,
int slot);
140 setEquipment(
::ItemStack const& item, ::SharedTypes::Legacy::EquipmentSlot equipmentSlot,
::Mob& mob);
146 MCAPI
void* $ctor(
::WeakEntityRef const& entityRef, ::SharedTypes::Legacy::EquipmentSlot equipmentSlot);
150 MCAPI
void* $ctor(
::ItemStack const& item,
int slot);