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
10// auto generated forward declare list
11// clang-format off
13class BaseGameVersion;
16class Experiments;
17class HashedString;
22class Item;
23class ItemRegistry;
24class LevelData;
27struct ItemData;
29struct ItemTag;
30namespace Bedrock::Threading { class Mutex; }
31namespace cereal { struct ReflectionCtx; }
32// clang-format on
33
35public:
36 // ItemRegistryRef inner types declare
37 // clang-format off
38 class LockGuard;
39 // clang-format on
40
41 // ItemRegistryRef inner types define
42 using CreativeItemsServerInitCallbackSignature = void(
46 ::BaseGameVersion const&,
47 ::Experiments const&,
52 );
53
54 class LockGuard {
55 public:
56 // member variables
57 // NOLINTBEGIN
58 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Bedrock::Threading::Mutex>> mMutex;
59 // NOLINTEND
60
61 public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI ~LockGuard();
65 // NOLINTEND
66
67 public:
68 // destructor thunk
69 // NOLINTBEGIN
70 MCAPI void $dtor();
71 // NOLINTEND
72 };
73
74public:
75 // member variables
76 // NOLINTBEGIN
77 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ItemRegistry>> mWeakRegistry;
78 // NOLINTEND
79
80public:
81 // prevent constructor by default
82 ItemRegistryRef& operator=(ItemRegistryRef const&);
84
85public:
86 // member functions
87 // NOLINTBEGIN
89
90 MCAPI ::std::shared_ptr<::ItemRegistry> _lockRegistry() const;
91
92 MCAPI void addItemToTagMap(::Item const& item) const;
93
94 MCAPI void alterAvailableCreativeItems(::ActorInfoRegistry* infoRegistry, ::LevelData& levelData) const;
95
96 MCAPI bool canUpdateTags() const;
97
98 MCAPI ::Bedrock::NonOwnerPointer<::cereal::ReflectionCtx const> cerealContext() const;
99
100 MCAPI void clearDeadItemRegistry() const;
101
102 MCAPI ::Bedrock::NonOwnerPointer<::CreativeItemRegistry const> getCreativeItemRegistry() const;
103
104 MCAPI ::Bedrock::NonOwnerPointer<::CreativeItemRegistry> getCreativeItemRegistry();
105
106 MCFOLD ::WeakPtr<::Item> getItem(::HashedString const& id) const;
107
108 MCAPI ::WeakPtr<::Item> getItem(short itemId) const;
109
110 MCAPI int getItemCount() const;
111
112 MCAPI ::HashedString getNameFromLegacyID(short id) const;
113
114 MCAPI ::std::unordered_map<::HashedString, ::WeakPtr<::Item>> const& getNameToItemMap() const;
115
116 MCAPI ::BaseGameVersion getWorldBaseGameVersion() const;
117
118 MCAPI void initCreativeItemsServer(
119 ::BlockDefinitionGroup const& blockDefinitionGroup,
120 ::Experiments const& experiment,
121 ::ResourcePackManager const& resourcePackManager,
123 ::IMinecraftEventing& eventing,
124 ::std::function<void(
128 ::BaseGameVersion const&,
129 ::Experiments const&,
134 )> registerCallback
135 ) const;
136
137 MCAPI void initServer(
138 ::Experiments const& experiments,
139 ::BaseGameVersion const& baseGameVersion,
142 ::IMinecraftEventing& eventing
143 ) const;
144
145 MCAPI bool isComplexAlias(::HashedString const& oldName) const;
146
147 MCAPI ::WeakPtr<::Item> lookupByName(::HashedString const& inString) const;
148
149 MCAPI ::WeakPtr<::Item> lookupByName(int& outItemAux, ::std::string_view inString) const;
150
151 MCAPI ::WeakPtr<::Item> lookupByName(int& outItemId, int& outItemAux, ::std::string_view inString) const;
152
153 MCAPI ::WeakPtr<::Item> lookupByNameNoAlias(::std::string_view inString) const;
154
155 MCAPI ::WeakPtr<::Item> lookupByNameNoAlias(::HashedString const& inString) const;
156
157 MCAPI ::std::unordered_set<::Item const*> lookupByTag(::ItemTag const& tag) const;
158
159 MCFOLD ::WeakPtr<::Item> lookupByVanillaName(::HashedString const& inString) const;
160
161 MCAPI void onLevelInit(
162 ::WeakRef<::IDynamicContainerSerialization> containerSerialization,
165 ) const;
166
167 MCAPI void
168 registerAlias(::HashedString const& alias, ::HashedString const& name, ::BaseGameVersion const& fromVersion) const;
169
170 MCAPI ::WeakPtr<::Item>
171 registerComplexAlias(::HashedString const& alias, ::ItemRegistryComplexAlias const& complexAlias) const;
172
173 MCAPI void registerExtraItemInitCallback(::std::function<void(::ItemRegistryRef)> callback) const;
174
175 MCAPI void registerLegacyID(::HashedString const& name, short id) const;
176
177 MCAPI void registerLegacyMapping(
178 ::HashedString const& alias,
179 ::HashedString const& name,
180 ::BaseGameVersion const& fromVersion
181 ) const;
182
183 MCAPI uint64 remapToFullLegacyNameByHash(uint64 newHash) const;
184
185 MCAPI uint64 remapToLegacyNameByHash(uint64 newHash) const;
186
187 MCAPI void setCheckForItemWorldCompatibility(bool value) const;
188
189 MCAPI void setServerInitializingCreativeItems(bool value) const;
190
191 MCAPI void unregisterItem(::HashedString const& itemName) const;
192
193 MCAPI ::std::vector<::std::string> validateServerItemComponents(::std::vector<::ItemData> const& itemData);
194
195 MCAPI ~ItemRegistryRef();
196 // NOLINTEND
197
198public:
199 // constructor thunks
200 // NOLINTBEGIN
201 MCFOLD void* $ctor(::ItemRegistryRef const&);
202 // NOLINTEND
203
204public:
205 // destructor thunk
206 // NOLINTBEGIN
207 MCFOLD void $dtor();
208 // NOLINTEND
209};
Definition ActorInfoRegistry.h:10
Definition BaseGameVersion.h:8
Definition NonOwnerPointer.h:9
Definition BlockDefinitionGroup.h:39
Definition CreativeItemRegistry.h:21
Definition Experiments.h:14
Definition HashedString.h:5
Definition IContainerRegistryAccess.h:14
Definition IContainerRegistryTracker.h:15
Definition IDynamicContainerSerialization.h:12
Definition IMinecraftEventing.h:147
Definition ItemRegistryRef.h:54
Definition ItemRegistryRef.h:34
Definition ItemRegistry.h:43
Definition Item.h:66
Definition LevelData.h:49
Definition LinkedAssetValidator.h:8
Definition ResourcePackManager.h:24
Definition WeakRef.h:8
Definition ItemData.h:15
Definition ItemRegistryComplexAlias.h:10
Definition ItemTag.h:8
Definition ReflectionCtx.h:11