3#include "mc/_HeaderOutputPredefine.h"
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"
23namespace Json {
class Value; }
28 public ::std::enable_shared_from_this<::GeometryGroup> {
32 ::ll::UntypedStorage<8, 64> mUnk69fa9e;
33 ::ll::UntypedStorage<8, 80> mUnk557494;
34 ::ll::UntypedStorage<8, 8> mUnk89a968;
39 GeometryGroup& operator=(GeometryGroup
const&);
40 GeometryGroup(GeometryGroup
const&);
45 virtual ~GeometryGroup() =
default;
51 MCAPI GeometryGroup();
53 MCAPI ::std::shared_ptr<::GeometryInfo>
54 _findOrAddGeometryInfo(::HashedString
const& name, ::Bedrock::Threading::UniqueLock<::std::mutex>& geometryLock);
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&)>
61 ::std::function<
void()> mainThreadCallback
64 MCAPI
void addGeometries(
65 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
66 ::Json::Value& geometryData,
67 ::MinEngineVersion
const& minEngineVersion,
68 ::std::function<
void()> mainThreadCallback,
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&)>
77 ::std::function<
void(::Json::Value&)> postLoadFixup
80 MCAPI
void loadModelPackFromStringSync(
81 ::std::string
const& packName,
82 ::std::string
const& content,
83 ::MinEngineVersion
const& minEngineVersion
90 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::GeometryGroup>>
91 _buildGeometryFileSchema_v1_21();
93 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::GeometryGroup>>
94 _buildGeometryFileSchema_v1_26_40();
96 MCAPI
static void _buildInheritanceTree(
98 ::std::string
const& sourceFilePathWithExtension,
100 ::MinEngineVersion
const& minEngineVersion,
101 ::GeometryInheritanceTree& inheritance,
102 bool const isFromBaseGamePack,
103 bool const requireMinecraftNamespace,
104 ::std::function<
void(::Json::Value&)> postLoadFixup
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
118 MCAPI
static bool checkVersionlessName(::std::string_view name, ::std::string_view versionlessGeoName);
120 MCAPI
static bool isValidGeometryIdentifier(::Json::Value
const& name);
122 MCAPI
static bool isValidOptionalNamespaceGeometryIdentifier(::Json::Value
const& name);
124 MCAPI
static void loadModel(
125 ::std::weak_ptr<::GeometryGroup> weakGeometryGroup,
126 ::std::string
const& pascalCaseName,
127 ::ModelParent
const& mp
130 MCAPI
static void loadModelExt(
131 ::std::weak_ptr<::GeometryGroup> weakGeometryGroup,
132 ::std::string
const& pascalCaseName,
133 ::ModelParent
const& mp,
136 ::TextureUVCoordinateSet
const& uvOffset,
137 bool clearSkinAdjustmentsBitmask
140 MCAPI
static void upgradeMirrorMemberToV1_12(::Json::Value& bone);
142 MCAPI
static bool upgradeToV1_19_30(
144 ::SemVersion
const& fileVersion,
145 ::MinEngineVersion
const& minEngineVersion,
146 bool& hasBeenValidated
149 MCAPI
static bool upgradeToV1_21(
151 ::SemVersion
const& fileVersion,
152 ::MinEngineVersion
const& minEngineVersion,
153 bool& hasBeenValidated
156 MCAPI
static bool upgradeToV1_26_40(
158 ::SemVersion
const& fileVersion,
159 ::MinEngineVersion
const& minEngineVersion,
160 bool& hasBeenValidated
167 MCAPI static ::SemVersionConstant
const& GEOMETRY_SCHEMA_V1_12();
169 MCAPI static ::SemVersionConstant
const& GEOMETRY_SCHEMA_V1_14();
171 MCAPI static ::SemVersionConstant
const& GEOMETRY_SCHEMA_V1_16();
173 MCAPI static ::SemVersionConstant
const& GEOMETRY_SCHEMA_V1_19_30();
175 MCAPI static ::SemVersionConstant
const& GEOMETRY_SCHEMA_V1_21();
177 MCAPI static ::SemVersionConstant
const& GEOMETRY_SCHEMA_V1_26_40();
179 MCAPI static ::SemVersionConstant
const& GEOMETRY_SCHEMA_V1_8();
181 MCAPI static ::std::string
const& ITEM_DISPLAY_TRANSFORMS_ID();
183 MCAPI static ::std::string
const& UV_ROTATION_DOC();
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 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