LeviLamina
Loading...
Searching...
No Matches
BlockMaterialInstancesDescription.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/world/level/block/BlockRenderLayer.h"
8#include "mc/world/level/block/TintMethod.h"
9#include "mc/world/level/block/components/BlockComponentDescription.h"
10#include "mc/world/level/block/components/BlockMaterialInstancePackedBools.h"
11
12// auto generated forward declare list
13// clang-format off
15class CompoundTag;
16class Experiments;
17class SemVersion;
20namespace Json { class Value; }
21namespace cereal { struct ReflectionCtx; }
22// clang-format on
23
24struct BlockMaterialInstancesDescription : public ::BlockComponentDescription {
25public:
26 // BlockMaterialInstancesDescription inner types declare
27 // clang-format off
29 struct BlockMaterialData;
30 // clang-format on
31
32 // BlockMaterialInstancesDescription inner types define
34 public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<8, 32, ::std::string> textureName;
38 ::ll::TypedStorage<4, 4, float> ambientOcclusion;
39 ::ll::TypedStorage<1, 1, ::BlockRenderLayer> renderLayer;
40 ::ll::TypedStorage<1, 1, ::TintMethod> tintMethod;
41 ::ll::TypedStorage<1, 1, ::BlockMaterialInstancePackedBools> packedBools;
42 // NOLINTEND
43 };
44
46 public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<8, 32, ::std::string> materialName;
50 ::ll::TypedStorage<8, 40, ::BlockMaterialInstancesDescription::BlockMaterialInstanceData> materialInstanceData;
51 // NOLINTEND
52 };
53
54public:
55 // member variables
56 // NOLINTBEGIN
57 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::BlockMaterialInstance>> mMaterials;
58 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::string>> mMaterialMappings;
59 // NOLINTEND
60
61public:
62 // prevent constructor by default
63 BlockMaterialInstancesDescription(BlockMaterialInstancesDescription const&);
64 BlockMaterialInstancesDescription();
65
66public:
67 // virtual functions
68 // NOLINTBEGIN
69 virtual ::std::string const& getName() const /*override*/;
70
71 virtual void initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const /*override*/;
72
73 virtual void initializeComponent(::BlockComponentStorage& blockComponentStorage) const /*override*/;
74
75 virtual bool isNetworkComponent() const /*override*/;
76
77 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const&) const /*override*/;
78
79 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx) /*override*/;
80
81 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion) /*override*/;
82 // NOLINTEND
83
84public:
85 // member functions
86 // NOLINTBEGIN
87 MCAPI BlockMaterialInstancesDescription(
88 ::std::string const& textureName,
89 ::BlockRenderLayer renderLayer,
90 float ambientOcclusion,
91 bool faceDimming,
92 ::TintMethod tintMethod,
93 bool randomizeUVRotation,
94 bool supportsTextureVariations,
95 bool alphaMaskedTint,
96 bool dithering
97 );
98
99 MCAPI bool const isRenderLayerOpaque() const;
100
101 MCAPI ::BlockMaterialInstancesDescription& operator=(::BlockMaterialInstancesDescription const&);
102 // NOLINTEND
103
104public:
105 // static functions
106 // NOLINTBEGIN
107 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
108
109 MCAPI static bool
110 postParseConstraint(::Experiments const&, ::Json::Value const& componentJson, ::SemVersion const& jsonVersion);
111 // NOLINTEND
112
113public:
114 // static variables
115 // NOLINTBEGIN
116 MCAPI static uint64 const& MATERIALS_LIMIT();
117
118 MCAPI static ::std::string const& NameID();
119
120 MCAPI static ::SemVersionConstant const& VARIATIONS_TEXTURE_SUPPORT_MIN_VERSION();
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126 MCAPI void* $ctor(
127 ::std::string const& textureName,
128 ::BlockRenderLayer renderLayer,
129 float ambientOcclusion,
130 bool faceDimming,
131 ::TintMethod tintMethod,
132 bool randomizeUVRotation,
133 bool supportsTextureVariations,
134 bool alphaMaskedTint,
135 bool dithering
136 );
137 // NOLINTEND
138
139public:
140 // virtual function thunks
141 // NOLINTBEGIN
142 MCAPI ::std::string const& $getName() const;
143
144 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
145
146 MCAPI void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
147
148 MCFOLD bool $isNetworkComponent() const;
149
150 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const&) const;
151
152 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
153
154 MCAPI void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
155
156
157 // NOLINTEND
158
159public:
160 // vftables
161 // NOLINTBEGIN
162 MCNAPI static void** $vftable();
163 // NOLINTEND
164};
Definition BlockComponentStorage.h:63
Definition CompoundTag.h:23
Definition Experiments.h:14
Definition Value.h:16
Definition SemVersionConstant.h:8
Definition SemVersion.h:15
STL namespace.
Definition BlockComponentDescription.h:20
Definition BlockMaterialInstance.h:17
Definition BlockMaterialInstancesDescription.h:45
Definition BlockMaterialInstancesDescription.h:33
static MCAPI void ** $vftable()
Definition ReflectionCtx.h:11
Definition ctx.h:5