LeviLamina
Loading...
Searching...
No Matches
GeometryGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/platform/threading/UniqueLock.h"
9#include "mc/util/json_util/JsonSchemaObjectNode.h"
10
11// auto generated forward declare list
12// clang-format off
13class GeometryInfo;
15class HashedString;
19class SemVersion;
21struct ModelParent;
23namespace Json { class Value; }
24namespace JsonUtil { class EmptyClass; }
25// clang-format on
26
28 public ::std::enable_shared_from_this<::GeometryGroup> {
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::UntypedStorage<8, 64> mUnk69fa9e;
33 ::ll::UntypedStorage<8, 80> mUnk557494;
34 ::ll::UntypedStorage<8, 8> mUnk89a968;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 GeometryGroup& operator=(GeometryGroup const&);
40 GeometryGroup(GeometryGroup const&);
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~GeometryGroup() /*override*/ = default;
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI GeometryGroup();
52
53 MCAPI ::std::shared_ptr<::GeometryInfo>
54 _findOrAddGeometryInfo(::HashedString const& name, ::Bedrock::Threading::UniqueLock<::std::mutex>& geometryLock);
55
56 MCAPI void _loadModelsAsync(
57 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
58 ::std::shared_ptr<::GeometryInheritanceTree> inheritance,
59 ::std::function<void(::std::weak_ptr<::GeometryGroup>, ::std::string const&, ::ModelParent const&)>
60 loadModelFunction,
61 ::std::function<void()> mainThreadCallback
62 );
63
64 MCAPI void addGeometries(
65 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
66 ::Json::Value& geometryData,
67 ::MinEngineVersion const& minEngineVersion,
68 ::std::function<void()> mainThreadCallback,
69 bool isAsync
70 );
71
72 MCAPI void loadGeometriesAsync(
73 ::ResourcePackManager& resourcePackManager,
74 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
75 ::std::function<void(::std::weak_ptr<::GeometryGroup>, ::std::string const&, ::ModelParent const&)>
76 loadModelFunction,
77 ::std::function<void(::Json::Value&)> postLoadFixup
78 );
79
80 MCAPI void loadModelPackFromStringSync(
81 ::std::string const& packName,
82 ::std::string const& content,
83 ::MinEngineVersion const& minEngineVersion
84 );
85 // NOLINTEND
86
87public:
88 // static functions
89 // NOLINTBEGIN
90 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::GeometryGroup>>
91 _buildGeometryFileSchema_v1_21();
92
93 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::GeometryGroup>>
94 _buildGeometryFileSchema_v1_26_40();
95
96 MCAPI static void _buildInheritanceTree(
97 ::std::string const&,
98 ::std::string const& sourceFilePathWithExtension,
99 ::Json::Value& value,
100 ::MinEngineVersion const& minEngineVersion,
101 ::GeometryInheritanceTree& inheritance,
102 bool const isFromBaseGamePack,
103 bool const requireMinecraftNamespace,
104 ::std::function<void(::Json::Value&)> postLoadFixup
105 );
106
107 MCAPI static void _buildInheritanceTree(
108 ::std::string const& fileName,
109 ::std::string const& sourceFilePathWithExtension,
110 ::std::string const& fileContent,
111 ::MinEngineVersion const& minEngineVersion,
112 ::GeometryInheritanceTree& inheritance,
113 bool const isFromBaseGamePack,
114 bool const requireMinecraftNamespace,
115 ::std::function<void(::Json::Value&)> postLoadFixup
116 );
117
118 MCAPI static bool checkVersionlessName(::std::string_view name, ::std::string_view versionlessGeoName);
119
120 MCAPI static bool isValidGeometryIdentifier(::Json::Value const& name);
121
122 MCAPI static bool isValidOptionalNamespaceGeometryIdentifier(::Json::Value const& name);
123
124 MCAPI static void loadModel(
125 ::std::weak_ptr<::GeometryGroup> weakGeometryGroup,
126 ::std::string const& pascalCaseName,
127 ::ModelParent const& mp
128 );
129
130 MCAPI static void loadModelExt(
131 ::std::weak_ptr<::GeometryGroup> weakGeometryGroup,
132 ::std::string const& pascalCaseName,
133 ::ModelParent const& mp,
134 int texw,
135 int texh,
136 ::TextureUVCoordinateSet const& uvOffset,
137 bool clearSkinAdjustmentsBitmask
138 );
139
140 MCAPI static void upgradeMirrorMemberToV1_12(::Json::Value& bone);
141
142 MCAPI static bool upgradeToV1_19_30(
143 ::Json::Value& root,
144 ::SemVersion const& fileVersion,
145 ::MinEngineVersion const& minEngineVersion,
146 bool& hasBeenValidated
147 );
148
149 MCAPI static bool upgradeToV1_21(
150 ::Json::Value& root,
151 ::SemVersion const& fileVersion,
152 ::MinEngineVersion const& minEngineVersion,
153 bool& hasBeenValidated
154 );
155
156 MCAPI static bool upgradeToV1_26_40(
157 ::Json::Value& root,
158 ::SemVersion const& fileVersion,
159 ::MinEngineVersion const& minEngineVersion,
160 bool& hasBeenValidated
161 );
162 // NOLINTEND
163
164public:
165 // static variables
166 // NOLINTBEGIN
167 MCAPI static ::SemVersionConstant const& GEOMETRY_SCHEMA_V1_12();
168
169 MCAPI static ::SemVersionConstant const& GEOMETRY_SCHEMA_V1_14();
170
171 MCAPI static ::SemVersionConstant const& GEOMETRY_SCHEMA_V1_16();
172
173 MCAPI static ::SemVersionConstant const& GEOMETRY_SCHEMA_V1_19_30();
174
175 MCAPI static ::SemVersionConstant const& GEOMETRY_SCHEMA_V1_21();
176
177 MCAPI static ::SemVersionConstant const& GEOMETRY_SCHEMA_V1_26_40();
178
179 MCAPI static ::SemVersionConstant const& GEOMETRY_SCHEMA_V1_8();
180
181 MCAPI static ::std::string const& ITEM_DISPLAY_TRANSFORMS_ID();
182
183 MCAPI static ::std::string const& UV_ROTATION_DOC();
184 // NOLINTEND
185
186public:
187 // constructor thunks
188 // NOLINTBEGIN
189 MCAPI void* $ctor();
190 // NOLINTEND
191
192public:
193 // vftables
194 // NOLINTBEGIN
195 MCNAPI static void** $vftable();
196 // NOLINTEND
197};
Definition EnableNonOwnerReferences.h:7
Definition GeometryGroup.h:5
static MCAPI void ** $vftable()
Definition GeometryInfo.h:5
Definition GeometryInheritanceTree.h:5
Definition HashedString.h:5
Definition EmptyClass.h:7
Definition Value.h:16
Definition MinEngineVersion.h:15
Definition ResourceLoadManager.h:18
Definition ResourcePackManager.h:36
Definition SemVersionConstant.h:8
Definition SemVersion.h:15
Definition ModelParent.h:5
Definition TextureUVCoordinateSet.h:5