Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ItemRegistryRef.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/WeakPtr.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/game_refs/WeakRef.h"
9#include "mc/deps/puv/puv_load_data/LoadResultWithTiming.h"
10
11// auto generated forward declare list
12// clang-format off
13class BaseGameVersion;
15class BlockPalette;
18class Experiments;
19class HashedString;
25class Item;
26class ItemInstance;
27class ItemRegistry;
30class TagUpdateToken;
32struct ItemTag;
33namespace cereal { struct ReflectionCtx; }
34// clang-format on
35
37public:
38 // ItemRegistryRef inner types declare
39 // clang-format off
40 struct LoadedItem;
41 class LockGuard;
42 // clang-format on
43
44 // ItemRegistryRef inner types define
45 struct LoadedItem {
46 public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<8, 8, ::WeakPtr<::Item>> mItem;
50 ::ll::TypedStorage<8, 32, ::PuvLoadData::LoadResultWithTiming> mTiming;
51 // NOLINTEND
52 };
53
54 class LockGuard {
55 public:
56 // member variables
57 // NOLINTBEGIN
58 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::std::mutex>> mMutex;
59 // NOLINTEND
60
61 public:
62 // prevent constructor by default
63 LockGuard();
64
65 public:
66 // member functions
67 // NOLINTBEGIN
68 MCNAPI explicit LockGuard(::std::shared_ptr<::std::mutex> mutex);
69
70 MCNAPI ~LockGuard();
71 // NOLINTEND
72
73 public:
74 // constructor thunks
75 // NOLINTBEGIN
76 MCNAPI void* $ctor(::std::shared_ptr<::std::mutex> mutex);
77 // NOLINTEND
78
79 public:
80 // destructor thunk
81 // NOLINTBEGIN
82 MCNAPI void $dtor();
83 // NOLINTEND
84 };
85
86 using CreativeItemsServerInitCallbackSignature = void(
90 ::BaseGameVersion const&,
91 ::Experiments const&,
97 );
98
99public:
100 // member variables
101 // NOLINTBEGIN
102 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ItemRegistry>> mWeakRegistry;
103 // NOLINTEND
104
105public:
106 // member functions
107 // NOLINTBEGIN
108 MCAPI void addItemToTagMap(::Item const& item) const;
109
110 MCAPI ::TagUpdateToken allowTagUpdate() const;
111
113 ::Experiments const& experiments,
114 ::BaseGameVersion const& baseGameVersion,
115 ::IEducationOptions const& educationOptions,
118 ::IMinecraftEventing& eventing
119 ) const;
120
121 MCNAPI ::Bedrock::NonOwnerPointer<::cereal::ReflectionCtx const> cerealContext() const;
122
123 MCNAPI void clearDeadItemRegistry() const;
124
125 MCNAPI ::std::vector<::std::reference_wrapper<::HashedString const>> const&
127
128 MCAPI ::Bedrock::NonOwnerPointer<::CreativeItemRegistry> getCreativeItemRegistry();
129
130 MCFOLD ::WeakPtr<::Item> getItem(::HashedString const& id) const;
131
132 MCAPI ::WeakPtr<::Item> getItem(short itemId) const;
133
134 MCAPI ::HashedString getNameFromLegacyID(short id) const;
135
136 MCAPI ::std::unordered_map<::HashedString, ::WeakPtr<::Item>> const& getNameToItemMap() const;
137
138 MCNAPI ::BaseGameVersion getWorldBaseGameVersion() const;
139
140#ifdef LL_PLAT_C
141 MCNAPI void initCreativeItemsClient(
142 ::CreativeContentPacket const& creativeContentPacket,
143 ::BlockPalette const& blockPalette
144 ) const;
145#endif
146
148 ::BlockDefinitionGroup const& blockDefinitionGroup,
149 ::Experiments const& experiment,
150 ::ResourcePackManager const& resourcePackManager,
152 ::IMinecraftEventing& eventing,
153 ::IEducationOptions const& educationOptions,
154 ::std::function<void(
158 ::BaseGameVersion const&,
159 ::Experiments const&,
165 )> registerCallback
166 ) const;
167
168 MCNAPI bool isComplexAlias(::HashedString const& oldName) const;
169
170 MCNAPI bool isCreativeItem(::ItemInstance const& itemInstance) const;
171
172 MCNAPI ::ItemRegistryRef::LockGuard lockItemWorldCompatibilityMutex() const;
173
174 MCAPI ::WeakPtr<::Item> lookupByName(::HashedString const& inString) const;
175
176 MCAPI ::WeakPtr<::Item> lookupByName(int& outItemAux, ::std::string_view inString) const;
177
178 MCAPI ::WeakPtr<::Item> lookupByName(int& outItemId, int& outItemAux, ::std::string_view inString) const;
179
180 MCAPI ::WeakPtr<::Item> lookupByNameNoAlias(::HashedString const& inString) const;
181
182 MCAPI ::WeakPtr<::Item> lookupByNameNoAlias(::std::string_view inString) const;
183
184 MCNAPI ::WeakPtr<::Item> lookupByNameNoParsing(int& inOutItemAux, ::HashedString const& fullName) const;
185
186 MCAPI ::std::unordered_set<::Item const*> lookupByTag(::ItemTag const& tag) const;
187
188 MCFOLD ::WeakPtr<::Item> lookupByVanillaName(::HashedString const& inString) const;
189
190 MCNAPI void onLevelInit(
191 ::WeakRef<::IDynamicContainerSerialization> containerSerialization,
194 ) const;
195
196 MCAPI void
197 registerAlias(::HashedString const& alias, ::HashedString const& name, ::BaseGameVersion const& fromVersion) const;
198
199 MCNAPI ::WeakPtr<::Item>
200 registerComplexAlias(::HashedString const& alias, ::ItemRegistryComplexAlias const& complexAlias) const;
201
202 MCNAPI void registerExtraItemInitCallback(::std::function<void(::ItemRegistryRef)> callback) const;
203
204 MCNAPI void registerLegacyID(::HashedString const& name, short id) const;
205
207 ::HashedString const& alias,
208 ::HashedString const& name,
209 ::BaseGameVersion const& fromVersion
210 ) const;
211
212 MCNAPI uint64 remapToLegacyNameByHash(uint64 newHash) const;
213
214 MCNAPI void setCheckForItemWorldCompatibility(bool value) const;
215
216 MCAPI void unregisterItem(::HashedString const& itemName) const;
217 // NOLINTEND
218};
Definition BaseGameVersion.h:8
Definition NonOwnerPointer.h:9
Definition BlockDefinitionGroup.h:35
Definition BlockPalette.h:18
Definition CreativeContentPacket.h:19
Definition CreativeItemRegistry.h:23
Definition Experiments.h:14
Definition HashedString.h:5
Definition IContainerRegistryAccess.h:14
Definition IContainerRegistryTracker.h:15
Definition IDynamicContainerSerialization.h:12
Definition IEducationOptions.h:8
Definition IMinecraftEventing.h:152
Definition ItemInstance.h:15
Definition ItemRegistryRef.h:54
MCAPI LockGuard(::std::shared_ptr<::std::mutex > mutex)
MCAPI void * $ctor(::std::shared_ptr<::std::mutex > mutex)
Definition ItemRegistryRef.h:36
MCAPI bool isComplexAlias(::HashedString const &oldName) const
MCAPI void clearDeadItemRegistry() const
MCAPI void registerExtraItemInitCallback(::std::function< void(::ItemRegistryRef)> callback) const
MCAPI void registerLegacyID(::HashedString const &name, short id) const
MCAPI void initCreativeItemsServer(::BlockDefinitionGroup const &blockDefinitionGroup, ::Experiments const &experiment, ::ResourcePackManager const &resourcePackManager, ::Bedrock::NonOwnerPointer<::LinkedAssetValidator > validator, ::IMinecraftEventing &eventing, ::IEducationOptions const &educationOptions, ::std::function< void(::ItemRegistryRef, ::BlockDefinitionGroup const &, ::CreativeItemRegistry *, ::BaseGameVersion const &, ::Experiments const &, ::ResourcePackManager const &, ::cereal::ReflectionCtx const &, ::Bedrock::NonOwnerPointer<::LinkedAssetValidator >, ::IMinecraftEventing &, ::IEducationOptions const &)> registerCallback) const
MCAPI::ItemRegistryRef::LockGuard lockItemWorldCompatibilityMutex() const
MCAPI ::Bedrock::NonOwnerPointer<::cereal::ReflectionCtx const > cerealContext() const
MCAPI void setCheckForItemWorldCompatibility(bool value) const
MCAPI void onLevelInit(::WeakRef<::IDynamicContainerSerialization > containerSerialization, ::WeakRef<::IContainerRegistryAccess > containerAccess, ::WeakRef<::IContainerRegistryTracker > containerTracker) const
MCAPI void registerLegacyMapping(::HashedString const &alias, ::HashedString const &name, ::BaseGameVersion const &fromVersion) const
MCAPI void buildServerRegistry(::Experiments const &experiments, ::BaseGameVersion const &baseGameVersion, ::IEducationOptions const &educationOptions, ::ResourcePackManager *rpm, ::Bedrock::NonOwnerPointer<::LinkedAssetValidator > validator, ::IMinecraftEventing &eventing) const
MCAPI ::std::vector<::std::reference_wrapper<::HashedString const > > const & getComplexAliasSplitNames(::HashedString const &oldName) const
MCAPI ::WeakPtr<::Item > registerComplexAlias(::HashedString const &alias, ::ItemRegistryComplexAlias const &complexAlias) const
MCAPI ::WeakPtr<::Item > lookupByNameNoParsing(int &inOutItemAux, ::HashedString const &fullName) const
MCAPI uint64 remapToLegacyNameByHash(uint64 newHash) const
MCAPI bool isCreativeItem(::ItemInstance const &itemInstance) const
MCAPI::BaseGameVersion getWorldBaseGameVersion() const
Definition ItemRegistry.h:43
Definition Item.h:73
Definition LinkedAssetValidator.h:9
Definition ResourcePackManager.h:29
Definition TagUpdateToken.h:5
Definition WeakRef.h:8
Definition ItemRegistryComplexAlias.h:10
Definition ItemRegistryRef.h:45
Definition ItemTag.h:8
Definition ReflectionCtx.h:11