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