LeviLamina
Loading...
Searching...
No Matches
Material.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/world/level/block/BlockRenderLayer.h"
8#include "mc/world/level/block/TintMethod.h"
9
10// auto generated forward declare list
11// clang-format off
14namespace ClientBlockPipeline { struct TextureUVs; }
15// clang-format on
16
17namespace ClientBlockPipeline {
18
19class Material : public ::Bedrock::EnableNonOwnerReferences {
20public:
21 // Material inner types declare
22 // clang-format off
23 struct PackedBools;
24 // clang-format on
25
26 // Material inner types define
27 struct PackedBools {
28 public:
29 // member variables
30 // NOLINTBEGIN
31 bool mFaceDimming : 1;
32 bool mRandomizeUVRotation : 1;
33 bool mHasTextureVariations : 1;
34 bool mAlphaMaskedTint : 1;
35 bool mDithering : 1;
36 // NOLINTEND
37 };
38
39public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<8, 24, ::std::vector<::ClientBlockPipeline::TextureUVs>> mUvSets;
43 ::ll::TypedStorage<4, 4, float> mAmbientOcclusion;
44 ::ll::TypedStorage<1, 1, ::BlockRenderLayer> mBlockRenderLayer;
45 ::ll::TypedStorage<1, 1, ::TintMethod> mTintMethod;
46 ::ll::TypedStorage<1, 1, ::ClientBlockPipeline::Material::PackedBools> mPackedBools;
47 ::ll::TypedStorage<8, 16, ::std::optional<uint64>> mTextureShiftBufferIndex;
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 Material();
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI Material(::std::vector<::TextureUVCoordinateSet> const& uvSets, ::BlockRenderLayer terrainLayer);
58 // NOLINTEND
59
60public:
61 // static functions
62 // NOLINTBEGIN
63 MCAPI static ::TextureUVCoordinateSet getUvSetForTexture(
64 ::AtlasItemManager const& atlasItemManager,
65 ::std::string const& textureName,
66 uint64 atlasIndex,
67 uint64 variantIndex
68 );
69 // NOLINTEND
70
71public:
72 // static variables
73 // NOLINTBEGIN
74 MCAPI static ::std::vector<::TextureUVCoordinateSet> const& EMPTY_TEXTURES();
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCAPI void* $ctor(::std::vector<::TextureUVCoordinateSet> const& uvSets, ::BlockRenderLayer terrainLayer);
81 // NOLINTEND
82
83public:
84 // vftables
85 // NOLINTBEGIN
86 MCNAPI static void** $vftable();
87 // NOLINTEND
88};
89
90} // namespace ClientBlockPipeline
Definition AtlasItemManager.h:5
Definition Material.h:7
static MCAPI void ** $vftable()
Definition TextureUVs.h:7
Definition TextureUVCoordinateSet.h:5