33 enum class InternalType : uchar {
46 ::ll::TypedStorage<8, 8, ::Item const*> mItem;
47 ::ll::TypedStorage<2, 2, short> mAuxValue;
53 MCAPI ::Block
const* getBlock()
const;
61 virtual ::std::unique_ptr<::ItemDescriptor::BaseDescriptor> clone()
const = 0;
67 virtual ::std::string getFullName()
const;
69 virtual ::std::string toString()
const;
71 virtual ::ItemDescriptor::ItemEntry getItem()
const;
75 virtual ::std::map<::std::string, ::std::string> toMap()
const = 0;
77 virtual ::std::optional<::CompoundTag> save()
const = 0;
83 virtual ::ItemDescriptor::InternalType getType()
const = 0;
85 virtual bool isValid()
const;
87 virtual uint64 getHash()
const = 0;
89 virtual bool shouldResolve()
const;
91 virtual ::std::unique_ptr<::ItemDescriptor::BaseDescriptor> resolve()
const;
107 MCFOLD ::std::string $getFullName()
const;
109 MCAPI ::std::string $toString()
const;
111 MCFOLD ::ItemDescriptor::ItemEntry $getItem()
const;
117 MCFOLD
bool $isValid()
const;
119 MCFOLD
bool $shouldResolve()
const;
121 MCFOLD ::std::unique_ptr<::ItemDescriptor::BaseDescriptor> $resolve()
const;
136 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemDescriptor::BaseDescriptor>> mImpl;
141 ItemDescriptor(ItemDescriptor
const&);
147 virtual ~ItemDescriptor();
157 MCAPI
explicit ItemDescriptor(
::Block const& block);
159 MCAPI
explicit ItemDescriptor(
::BlockType const& block);
161 MCAPI
explicit ItemDescriptor(
::ItemTag const& itemTag);
165 MCAPI ItemDescriptor(::std::string_view fullName,
int itemAux);
167 MCAPI ItemDescriptor(
::Item const& item,
int auxValue);
169 MCAPI ItemDescriptor(
::Json::Value const& val, ::MolangVersion molangVersion);
171 MCAPI
void _resolve()
const;
175 MCAPI
short getAuxValue()
const;
177 MCAPI ::Block
const* getBlock()
const;
179 MCAPI ::WeakPtr<::BlockType const>
const& getBlockType()
const;
181 MCAPI ::std::string getFullName()
const;
183 MCAPI
short getId()
const;
185 MCAPI
int getIdAux()
const;
187 MCAPI ::Item
const* getItem()
const;
189 MCAPI ::std::string getRawNameId()
const;
191 MCAPI ::std::string getSerializedNameAndAux(
bool removeInvalidAux)
const;
193 MCAPI
bool isNull()
const;
195 MCAPI
bool isValid(
bool shouldResolve)
const;
197 MCAPI
void operator=(::ItemDescriptor&& rhs);
199 MCAPI
void operator=(::ItemDescriptor
const& rhs);
201 MCAPI
bool sameItem(::ItemDescriptor
const& otherItemDescriptor,
bool compareAux)
const;
203 MCAPI ::std::optional<::CompoundTag> save()
const;
213 MCAPI static ::std::optional<::ItemDescriptor> fromTag(
::CompoundTag const* tag);
215 MCAPI static ::SharedTypes::Legacy::ItemDescriptor toSharedTypes(::ItemDescriptor
const&
id);
221 MCAPI
void* $ctor(
::Block const& block);
225 MCAPI
void* $ctor(
::ItemTag const& itemTag);
229 MCAPI
void* $ctor(::std::string_view fullName,
int itemAux);
231 MCAPI
void* $ctor(
::Item const& item,
int auxValue);
233 MCAPI
void* $ctor(
::Json::Value const& val, ::MolangVersion molangVersion);
255 MCAPI
static void** $vftable();
Definition ItemDescriptor.h:42