43class ItemRegistry :
public ::std::enable_shared_from_this<::ItemRegistry> {
59 ::ll::TypedStorage<8, 48, ::HashedString> currentName;
60 ::ll::TypedStorage<8, 32, ::BaseGameVersion> sinceVersion;
68 ::ll::TypedStorage<8, 8, uint64> aliasName;
69 ::ll::TypedStorage<8, 32, ::BaseGameVersion> sinceVersion;
77 ::ll::TypedStorage<8, 272, ::Bedrock::Resources::MinecraftDocumentInput> mDocumentInput;
78 ::ll::TypedStorage<1, 1, ::PackType> mPackType;
79 ::ll::TypedStorage<8, 96, ::PackLoadInfo> mPackLoadInfo;
80 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ItemEventResponseFactory>> mEventResponseFactory;
81 ::ll::TypedStorage<8, 32, ::std::string> mLoadedPackName;
82 ::ll::TypedStorage<1, 1, bool> mIsComponentBased;
90 ::ll::TypedStorage<8, 440, ::std::optional<::ItemRegistry::LoadedItemAsset>> mLoadedItemAsset;
91 ::ll::TypedStorage<8, 32, ::std::string> mError;
99 ::ll::TypedStorage<8, 32, ::std::string> mItemIdentifier;
100 ::ll::TypedStorage<8, 32, ::std::string> mParsedNamespace;
101 ::ll::TypedStorage<8, 32, ::std::string> mParsedName;
102 ::ll::TypedStorage<4, 4, int> mAux;
106 using CreativeItemsServerInitCallbackSignature = void(
122 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::cereal::ReflectionCtx>>> mCerealContext;
123 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LinkedAssetValidator>> mValidator;
124 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ItemLoaderTraits::Loader>>> mDocumentLoader;
125 ::ll::TypedStorage<8, 24, ::std::vector<::SharedPtr<::Item>>> mItemRegistry;
126 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::WeakPtr<::Item>>> mIdToItemMap;
127 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::WeakPtr<::Item>>> mNameToItemMap;
128 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::WeakPtr<::Item>>> mTileNamespaceToItemMap;
129 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::WeakPtr<::Item>>> mTileItemNameToItemMap;
130 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::ItemRegistry::ItemAlias>> mItemAliasLookupMap;
131 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::ItemRegistry::ItemHashAlias>> mReverseAliasLookupMap;
132 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::ItemRegistry::ItemHashAlias>>
133 mReverseFullNameAliasLookupMap;
134 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::ItemRegistryComplexAlias>> mComplexAliasLookupMap;
135 ::ll::TypedStorage<8, 64, ::std::unordered_map<short, ::HashedString>> mLegacyIDToNameMap;
136 ::ll::TypedStorage<2, 2, short> mMaxItemID;
137 ::ll::TypedStorage<8, 24, ::std::vector<::HashedString>> mAttachableDefinitions;
138 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ItemTag, ::std::unordered_set<::Item const*>>> mTagToItemsMap;
139 ::ll::TypedStorage<8, 64, ::std::unordered_set<::Item const*>
const> mEmptyItemSet;
140 ::ll::TypedStorage<1, 1, bool> mServerInitializingCreativeItems;
141 ::ll::TypedStorage<1, 1, ::ItemRegistrationState> mItemRegistrationState;
142 ::ll::TypedStorage<8, 64, ::std::function<void(
::ItemRegistryRef)>> mExtraItemInitCallback;
147 mFinishedInitServerPublisher;
148 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::std::atomic<int>>> mCanUpdateTags;
149 ::ll::TypedStorage<8, 24, ::std::vector<::SharedPtr<::Item>>> mDeadItemRegistry;
150 ::ll::TypedStorage<1, 1, bool> mAddToPreRegistry;
151 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::SharedPtr<::Item>>>
152 mHardcodedVanillaItemPreRegistry;
153 ::ll::TypedStorage<8, 32, ::BaseGameVersion> mWorldBaseGameVersion;
154 ::ll::TypedStorage<1, 1, bool> mCheckForItemWorldCompatibility;
155 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::std::mutex>> mCompatibilityCheckMutex;
156 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CreativeItemRegistry>> mCreativeItemRegistry;
165 MCNAPI
void _bindBetaItemTypes(
::Experiments const& experiments);
167 MCNAPI
void _movePreRegistryToMainRegistry();
169 MCNAPI
void _populateVanillaItemVersionMap(
178 MCNAPI ::WeakPtr<::Item>
184 MCNAPI ::ItemRegistryRef::LoadedItem
192 MCNAPI
void buildClientRegistryFromServer(
193 ::std::vector<::ItemData>
const& serverItemData,
201 MCNAPI
void buildServerRegistry(
214 MCNAPI
void findAllAttachableDefinitions();
216 MCNAPI
void finishedRegistration(
::Experiments const& experiments);
219 MCNAPI ::std::vector<::std::reference_wrapper<::HashedString const>>
const&
224 MCAPI ::WeakPtr<::Item> getItem(
short id);
230 MCNAPI ::WeakPtr<::Item>
lookupByName(
int& inOutItemAux, ::std::string_view inString)
const;
232 MCNAPI ::WeakPtr<::Item>
lookupByName(
int& outItemId,
int& inOutItemAux, ::std::string_view inString)
const;
234 MCAPI ::WeakPtr<::Item> lookupByNameNoAlias(::std::string_view inString)
const;
241 MCNAPI
void populateClientItemData(
244 ::std::optional<::ItemIconInfo> (*iconFactory)(::std::string
const&,
int)
251 MCNAPI ::WeakPtr<::Item>
281 MCNAPI static ::std::vector<::ItemRegistry::LoadedItemAsset> _loadAllItemAssets(
Definition ItemParseContext.h:14