LeviLamina
Loading...
Searching...
No Matches
BakedMaterialMap.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/TintMethod.h"
7
8// auto generated forward declare list
9// clang-format off
12namespace ClientBlockPipeline { class Material; }
13namespace ClientBlockPipeline { struct BlockSchematic; }
14// clang-format on
15
16namespace ClientBlockPipeline {
17
18struct BakedMaterialMap {
19public:
20 // BakedMaterialMap inner types define
21 using SharedMaterial = ::std::shared_ptr<::ClientBlockPipeline::Material const>;
22
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::ClientBlockPipeline::Material const>>>
27 mResolvedMaterials;
28 ::ll::TypedStorage<1, 1, ::TintMethod> mSingleTintMethod;
29 ::ll::TypedStorage<1, 1, bool> mIsOpaqueForOccluding;
30 ::ll::TypedStorage<1, 1, bool> mHasIsotropicMaterial;
31 ::ll::TypedStorage<1, 1, bool> mHasTextureVariations;
32 ::ll::TypedStorage<1, 1, bool> mHasAlphaMaskedTint;
33 ::ll::TypedStorage<1, 1, bool> mHasTextureShifts;
34 // NOLINTEND
35
36public:
37 // member functions
38 // NOLINTBEGIN
39 MCAPI ::std::shared_ptr<::ClientBlockPipeline::Material const> _lookupMaterialInfo(
40 ::ClientBlockPipeline::BlockSchematic const& blockSchematic,
41 ::BlockMaterialInstancesComponent const& materialInstance,
42 ::std::string const& materialInstanceName
43 );
44
45 MCAPI void bake(
46 ::ClientBlockPipeline::BlockSchematic const& blockSchematic,
47 ::BlockMaterialInstancesComponent const& materialInstance
48 );
49
50 MCFOLD bool hasAlphaMaskedTint() const;
51
52 MCFOLD bool hasIsotropicMaterial() const;
53
54 MCFOLD bool hasTextureVariations() const;
55
56 MCFOLD bool isOpaqueForOccluding() const;
57
58 MCAPI ::ClientBlockPipeline::Material const* resolveMaterial(int materialInstanceId, uchar facing) const;
59 // NOLINTEND
60
61public:
62 // static functions
63 // NOLINTBEGIN
64 MCAPI static void bake(
65 ::BlockBakedMaterialDataComponent& bakedMaterialData,
66 ::BlockMaterialInstancesComponent const* materialInstancesComponent,
67 ::ClientBlockPipeline::BlockSchematic const* blockSchematic
68 );
69 // NOLINTEND
70
71public:
72 // static variables
73 // NOLINTBEGIN
74 MCAPI static ::std::add_lvalue_reference_t<char const[]> MATERIAL_INSTANCE_FIND_ERROR();
75 // NOLINTEND
76};
77
78} // namespace ClientBlockPipeline
Definition Material.h:7
Definition BlockBakedMaterialDataComponent.h:5
Definition BlockMaterialInstancesComponent.h:15
Definition BakedMaterialMap.h:7
Definition BlockSchematic.h:7