3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/model/FitToFrame.h"
7#include "mc/client/model/geom/Cube.h"
8#include "mc/client/model/geom/TextureOffset.h"
9#include "mc/deps/core/math/Vec2.h"
10#include "mc/deps/core/math/Vec3.h"
11#include "mc/deps/core/sem_ver/SemVersion.h"
12#include "mc/resources/MinEngineVersion.h"
13#include "mc/world/actor/player/SkinAdjustments.h"
21namespace Json {
class Value; }
43 ::ll::TypedStorage<1, 1, bool> mMirror;
44 ::ll::TypedStorage<4, 12, ::Vec3> mFrom;
45 ::ll::TypedStorage<4, 12, ::Vec3> mSize;
46 ::ll::TypedStorage<4, 12, ::Vec3> mRotation;
47 ::ll::TypedStorage<4, 12, ::Vec3> mPivot;
48 ::ll::TypedStorage<8, 16, ::TextureOffset> mTex;
49 ::ll::TypedStorage<4, 144, ::std::array<::Cube::FaceUVData, 6>> mFaceUVs;
50 ::ll::TypedStorage<4, 4, float> mInflate;
51 ::ll::TypedStorage<1, 1, bool> mUsesFaceUVs;
62 MCAPI
void _boxFaceUVToJson(
63 ::Json::Value& uvNode,
65 ::std::string
const& faceName,
66 ::std::vector<::std::string>
const& materialInstanceList
69 MCAPI ::Geometry::Box& operator=(::Geometry::Box
const&);
71 MCAPI
void toJson(::Json::Value& root, ::std::vector<::std::string>
const& materialInstanceList)
const;
79 ::ll::TypedStorage<4, 4, uint> mPositionIndex;
80 ::ll::TypedStorage<4, 4, uint> mNormalIndex;
81 ::ll::TypedStorage<4, 4, uint> mUVIndex;
89 ::ll::TypedStorage<8, 24, ::std::vector<::Vec3>> mPositions;
90 ::ll::TypedStorage<8, 24, ::std::vector<::Vec3>> mNormals;
91 ::ll::TypedStorage<8, 24, ::std::vector<::Vec2>> mUVs;
92 ::ll::TypedStorage<8, 24, ::std::vector<::std::array<::Geometry::NodeVertex, 3>>> mTris;
93 ::ll::TypedStorage<8, 24, ::std::vector<::std::array<::Geometry::NodeVertex, 4>>> mQuads;
94 ::ll::TypedStorage<1, 1, bool> mAreUVsNormalized;
99 NodePolyMesh& operator=(NodePolyMesh
const&);
105 MCAPI NodePolyMesh(::Geometry::NodePolyMesh
const&);
107 MCAPI ::Geometry::NodePolyMesh& operator=(::Geometry::NodePolyMesh&&);
109 MCAPI
void toJson(::Json::Value& root)
const;
111 MCAPI ~NodePolyMesh();
117 MCAPI
void* $ctor(::Geometry::NodePolyMesh
const&);
131 ::ll::TypedStorage<8, 32, ::std::string> mTextureName;
132 ::ll::TypedStorage<4, 12, ::Vec3> mPosition;
133 ::ll::TypedStorage<4, 12, ::Vec3> mLocalPivot;
134 ::ll::TypedStorage<4, 12, ::Vec3> mRotation;
135 ::ll::TypedStorage<4, 12, ::Vec3> mScale;
136 ::ll::TypedStorage<1, 1, bool> mUsePixelDepth;
141 NodeTextureMesh(NodeTextureMesh
const&);
147 MCAPI ::Geometry::NodeTextureMesh& operator=(::Geometry::NodeTextureMesh
const&);
155 ::ll::TypedStorage<8, 16, ::std::set<::std::string>> mMixedCaseNames;
156 ::ll::TypedStorage<1, 1, bool> mMirror;
157 ::ll::TypedStorage<1, 1, bool> mNeverRender;
158 ::ll::TypedStorage<4, 12, ::Vec3> mPivot;
159 ::ll::TypedStorage<4, 12, ::Vec3> mRot;
160 ::ll::TypedStorage<4, 12, ::Vec3> mScale;
161 ::ll::TypedStorage<4, 12, ::Vec3> mBindPoseRotation;
162 ::ll::TypedStorage<4, 4, float> mInflate;
163 ::ll::TypedStorage<1, 1, bool> mPivotSubtractsParentPivot;
164 ::ll::TypedStorage<8, 24, ::std::vector<::Geometry::Box>> mBoxes;
165 ::ll::TypedStorage<8, 32, ::std::string> mParentName;
166 ::ll::TypedStorage<8, 32, ::std::string> mBoneBindingExpression;
167 ::ll::TypedStorage<8, 24, ::std::vector<::ModelPartLocator>> mLocators;
168 ::ll::TypedStorage<8, 128, ::Geometry::NodePolyMesh> mMesh;
169 ::ll::TypedStorage<8, 24, ::std::vector<::Geometry::NodeTextureMesh>> mTextureMeshes;
170 ::ll::TypedStorage<1, 1, bool> mDebug;
171 ::ll::TypedStorage<4, 4, uint> mSkinnedMeshGroupIdentifier;
172 ::ll::TypedStorage<8, 24, ::SemVersion> mSourceFileVersion;
173 ::ll::TypedStorage<8, 32, ::MinEngineVersion> mSourceMinEngineVersion;
178 Node& operator=(Node
const&);
185 MCAPI Node(::Geometry::Node
const&);
188 _textureMeshToJson(::std::vector<::Geometry::NodeTextureMesh>
const& textureMeshes, ::Json::Value& node)
const;
190 MCAPI
void addLocator(
191 ::std::string
const& name,
192 ::std::string
const& boneName,
193 ::Vec3
const& localOffset,
194 bool ignoreInheritedScale,
195 bool errorIfIdenticalLocatorAlreadyExists
198 MCAPI
void toJson(::Json::Value& root, ::std::vector<::std::string>
const& materialInstanceList)
const;
208 MCAPI
void* $ctor(::Geometry::Node
const&);
221 ::ll::TypedStorage<4, 4, ::SkinAdjustments> mSkinAdjustments;
222 ::ll::TypedStorage<4, 8, ::Vec2> mRenderDim;
223 ::ll::TypedStorage<4, 12, ::Vec3> mRenderDimOffset;
224 ::ll::TypedStorage<4, 12, ::Vec3> mLeashOffset;
225 ::ll::TypedStorage<4, 12, ::Vec3> mScale;
226 ::ll::TypedStorage<1, 1, bool> mUseModelData;
227 ::ll::TypedStorage<1, 1, bool> mModified;
228 ::ll::TypedStorage<8, 24, ::std::vector<::Geometry::ItemDisplayTransform>> mItemTransforms;
229 ::ll::TypedStorage<1, 1, ::FitToFrame> mFitGuiItemToFrame;
230 ::ll::TypedStorage<4, 8, ::Vec2> mTextureDimensions;
231 ::ll::TypedStorage<8, 32, ::std::string> mSourceFilePathWithExtension;
232 ::ll::TypedStorage<8, 32, ::std::string> mSerializableName;
233 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::Geometry::Node>> mNodes;
234 ::ll::TypedStorage<8, 32, ::MinEngineVersion> mMinEngineVersion;
235 ::ll::TypedStorage<1, 1, bool> mIsFromBaseGamePack;
236 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mMaterialInstanceList;
247 ::std::string
const& serializableName,
248 ::std::string
const& sourceFilePathWithExtension,
249 bool isFromBaseGamePack,
255 ::std::string
const& serializableName,
256 ::std::string
const& sourceFilePathWithExtension,
257 ::Geometry
const& source,
258 bool isFromBaseGamePack,
263 MCAPI
void _convertPreV1_8MobArmorOffsetsToLocators();
265 MCAPI
void _fixEnderDragonLegacyBones(::Geometry::Node& newNode, ::std::string
const& name);
267 MCAPI
void _fixPreDataDrivenMobGeometry(
268 ::std::string
const& name,
269 ::std::vector<::JsonValueHierarchy>
const& bones,
270 ::JsonValueHierarchy& sourceNode,
271 ::Geometry::Node* newNode
275 _parseBones(::JsonValueHierarchy
const& root,
bool applyBindPoseRotation, ::TextureUVCoordinateSet
const& uvOffset);
277 MCAPI
void _parseBoxFaceUV(
278 ::Geometry::Box& box,
279 ::Json::Value
const& uvNode,
281 ::std::string
const& faceName,
282 ::Vec2
const& defaultUVSize,
283 ::TextureUVCoordinateSet
const& uvOffset
287 _parseBoxFaceUVs(::Geometry::Box& box, ::Json::Value
const& uvNode, ::TextureUVCoordinateSet
const& uvOffset);
289 MCAPI
void _parseItemDisplayTransforms(::Json::Value
const& itemTransformNode);
291 MCAPI ::Geometry::Node
const* getNode(::std::string_view name)
const;
294 parse(::JsonValueHierarchy
const& root,
bool applyBindPoseRotation, ::TextureUVCoordinateSet
const& uvOffset);
296 MCAPI
void toJson(::Json::Value& root)
const;
304 MCAPI static ::SemVersionConstant
const& mDataDrivenEnderDragonSupportedVersion();
306 MCAPI static ::SemVersionConstant
const& mDataDrivenRenderingSupportedVersion();
308 MCAPI static ::SemVersionConstant
const& mDrownedParentFieldSupportedVersion();
310 MCAPI static ::SemVersionConstant
const& mParentFieldSupportedVersion();
317 ::std::string
const& serializableName,
318 ::std::string
const& sourceFilePathWithExtension,
319 bool isFromBaseGamePack,
325 ::std::string
const& serializableName,
326 ::std::string
const& sourceFilePathWithExtension,
327 ::Geometry
const& source,
328 bool isFromBaseGamePack,
Definition JsonValueHierarchy.h:13
Definition ModelPartLocator.h:11
Definition SemVersionConstant.h:8
Definition TextureUVCoordinateSet.h:5