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