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