Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
Skin.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/resource/ResourceLocation.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/core_graphics/file_watcher/FileWatcherHandle.h"
10#include "mc/world/actor/player/SerializedSkinRef.h"
11
12// auto generated forward declare list
13// clang-format off
15class SkinPack;
17namespace Core { class Path; }
18namespace mce { struct Image; }
19// clang-format on
20
21class Skin {
22public:
23 // Skin inner types define
24 enum class SkinType : int {};
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mSkinTextureName;
30 ::ll::TypedStorage<8, 8, ::SkinPack const*> mSkinPack;
31 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::FileWatcherUpdate>> mFileWatcherUpdate;
32 ::ll::TypedStorage<8, 32, ::std::string> mName;
33 ::ll::TypedStorage<8, 32, ::std::string> mLocName;
34 ::ll::TypedStorage<8, 32, ::std::string> mSerializableName;
35 ::ll::TypedStorage<8, 32, ::std::string> mSerializableLegacyName;
36 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCapeTextureName;
37 ::ll::TypedStorage<8, 56, ::ResourceLocation> mSkinImageLocation;
38 ::ll::TypedStorage<8, 56, ::ResourceLocation> mCapeImageLocation;
39 ::ll::TypedStorage<8, 56, ::ResourceLocation> mAnimationsLocation;
40 ::ll::TypedStorage<8, 56, ::ResourceLocation> mAnimationControllersLocation;
41 ::ll::TypedStorage<4, 4, ::Skin::SkinType> mSkinType;
42 ::ll::TypedStorage<8, 16, ::mce::FileWatcherHandle> mSkinFileWatcherHandle;
43 ::ll::TypedStorage<8, 16, ::mce::FileWatcherHandle> mCapeFileWatcherHandle;
44 ::ll::TypedStorage<4, 4, int> mSkinIndex;
45 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastUpdated;
46 ::ll::TypedStorage<1, 1, bool> mIsCapeOnClassicSkin;
47 ::ll::TypedStorage<8, 32, ::std::string> mCapeId;
48 ::ll::TypedStorage<8, 16, ::SerializedSkinRef> mSerializedSkin;
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
53 Skin& operator=(Skin const&);
54 Skin();
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCNAPI Skin(::Skin const& rhs);
60
61 MCNAPI Skin(::Skin&& rhs);
62
63 MCNAPI Skin(
64 ::SkinPack& skinPack,
65 ::std::string const& name,
66 ::Core::Path const& skinTextureName,
67 ::Core::Path const& capeTextureName,
68 ::std::string const& skinTypeName,
69 ::SerializedSkinRef skinInfo,
70 int skinIndex
71 );
72
73 MCNAPI ::mce::Image const*
74 getCapeImage(::Bedrock::NotNullNonOwnerPtr<::MinecraftGraphics> const& minecraftGraphics, bool isPlayer) const;
75
76 MCNAPI ::std::string getNameWithCapeIdAppended() const;
77
78 MCNAPI ::mce::Image const*
79 getSkinImage(::Bedrock::NotNullNonOwnerPtr<::MinecraftGraphics> const& minecraftGraphics) const;
80
81 MCNAPI bool isCustomSkin() const;
82
83 MCNAPI void setCapeTextureName(::std::string const& capeId, ::std::string const& capeTextureName);
84
85 MCNAPI ~Skin();
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCNAPI void* $ctor(::Skin const& rhs);
92
93 MCNAPI void* $ctor(::Skin&& rhs);
94
95 MCNAPI void* $ctor(
96 ::SkinPack& skinPack,
97 ::std::string const& name,
98 ::Core::Path const& skinTextureName,
99 ::Core::Path const& capeTextureName,
100 ::std::string const& skinTypeName,
101 ::SerializedSkinRef skinInfo,
102 int skinIndex
103 );
104 // NOLINTEND
105
106public:
107 // destructor thunk
108 // NOLINTBEGIN
109 MCNAPI void $dtor();
110 // NOLINTEND
111};
Definition Path.h:10
Definition MinecraftGraphics.h:5
Definition SerializedSkinRef.h:26
Definition SkinPack.h:5
Definition Skin.h:5
MCAPI::mce::Image const * getSkinImage(::Bedrock::NotNullNonOwnerPtr<::MinecraftGraphics > const &minecraftGraphics) const
MCAPI void * $ctor(::Skin const &rhs)
MCAPI bool isCustomSkin() const
MCAPI Skin(::SkinPack &skinPack, ::std::string const &name, ::Core::Path const &skinTextureName, ::Core::Path const &capeTextureName, ::std::string const &skinTypeName, ::SerializedSkinRef skinInfo, int skinIndex)
MCAPI void * $ctor(::Skin &&rhs)
MCAPI::std::string getNameWithCapeIdAppended() const
MCAPI void $dtor()
MCAPI Skin(::Skin const &rhs)
MCAPI void setCapeTextureName(::std::string const &capeId, ::std::string const &capeTextureName)
MCAPI::mce::Image const * getCapeImage(::Bedrock::NotNullNonOwnerPtr<::MinecraftGraphics > const &minecraftGraphics, bool isPlayer) const
MCAPI ~Skin()
MCAPI Skin(::Skin &&rhs)
MCAPI void * $ctor(::SkinPack &skinPack, ::std::string const &name, ::Core::Path const &skinTextureName, ::Core::Path const &capeTextureName, ::std::string const &skinTypeName, ::SerializedSkinRef skinInfo, int skinIndex)
Definition FileWatcherUpdate.h:5
Definition Image.h:13