34 enum class InternalType : uchar {
47 ::ll::TypedStorage<8, 8, ::Item const*> mItem;
48 ::ll::TypedStorage<2, 2, short> mAuxValue;
56 virtual ::std::unique_ptr<::ItemDescriptor::BaseDescriptor> clone()
const = 0;
62 virtual ::std::string getFullName()
const;
64 virtual ::std::string toString()
const;
66 virtual ::ItemDescriptor::ItemEntry getItem()
const;
70 virtual ::std::map<::std::string, ::std::string> toMap()
const = 0;
72 virtual ::std::optional<::CompoundTag> save()
const = 0;
78 virtual ::ItemDescriptor::InternalType getType()
const = 0;
80 virtual bool isValid()
const;
82 virtual uint64 getHash()
const = 0;
84 virtual bool shouldResolve()
const;
86 virtual ::std::unique_ptr<::ItemDescriptor::BaseDescriptor> resolve()
const;
96 MCAPI ::std::string $toString()
const;
98 MCFOLD ::ItemDescriptor::ItemEntry $getItem()
const;
104 MCFOLD
bool $isValid()
const;
106 MCFOLD
bool $shouldResolve()
const;
108 MCFOLD ::std::unique_ptr<::ItemDescriptor::BaseDescriptor> $resolve()
const;
117 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemDescriptor::BaseDescriptor>> mImpl;
123 virtual ~ItemDescriptor() =
default;
133 MCAPI ItemDescriptor();
135 MCAPI
explicit ItemDescriptor(
::Block const& block);
137 MCAPI
explicit ItemDescriptor(
::BlockType const& block);
141 MCAPI
explicit ItemDescriptor(
::ItemTag const& itemTag);
143 MCAPI ItemDescriptor(::ItemDescriptor&& rhs);
145 MCAPI ItemDescriptor(::ItemDescriptor
const& rhs);
149 MCAPI ItemDescriptor(::std::string_view fullName,
int itemAux);
151 MCAPI ItemDescriptor(
::Item const& item,
int auxValue);
153 MCAPI ItemDescriptor(
::Json::Value const& val, ::MolangVersion molangVersion);
157 MCAPI
short getAuxValue()
const;
159 MCAPI ::Block
const* getBlock()
const;
161 MCAPI ::WeakPtr<::BlockType const>
const& getBlockType()
const;
163 MCAPI ::std::string getFullName()
const;
165 MCAPI uint64 getHash()
const;
167 MCAPI
short getId()
const;
169 MCAPI
int getIdAux()
const;
171 MCAPI ::Item
const* getItem()
const;
173 MCAPI ::std::string getRawNameId()
const;
175 MCAPI ::std::string getSerializedNameAndAux(
bool removeInvalidAux)
const;
177 MCAPI
bool isDefinedAsItemName()
const;
179 MCAPI
bool isNull()
const;
181 MCAPI
bool isValid(
bool shouldResolve)
const;
183 MCAPI
bool operator!=(::ItemDescriptor
const& rhs)
const;
185 MCAPI
void operator=(::ItemDescriptor&& rhs);
187 MCAPI
void operator=(::ItemDescriptor
const& rhs);
189 MCAPI
bool operator==(::ItemDescriptor
const& rhs)
const;
191 MCAPI
bool sameItem(
::ItemStack const& item,
bool compareAux)
const;
193 MCAPI
bool sameItem(::ItemDescriptor
const& otherItemDescriptor,
bool compareAux)
const;
195 MCAPI ::std::optional<::CompoundTag> save()
const;
197 MCAPI ::std::string toString()
const;
207 MCAPI static ::std::optional<::ItemDescriptor> fromTag(
::CompoundTag const* tag);
209 MCAPI static ::SharedTypes::Legacy::ItemDescriptor toSharedTypes(::ItemDescriptor
const&
id);
217 MCAPI
void* $ctor(
::Block const& block);
223 MCAPI
void* $ctor(
::ItemTag const& itemTag);
225 MCAPI
void* $ctor(::ItemDescriptor&& rhs);
227 MCAPI
void* $ctor(::ItemDescriptor
const& rhs);
231 MCAPI
void* $ctor(::std::string_view fullName,
int itemAux);
233 MCAPI
void* $ctor(
::Item const& item,
int auxValue);
235 MCAPI
void* $ctor(
::Json::Value const& val, ::MolangVersion molangVersion);
251 MCAPI
static void** $vftable();
Definition ItemDescriptor.h:43