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
45 struct BlockMaterialData {
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#ifdef LL_PLAT_S
54#else // LL_PLAT_C
55 public:
56 // prevent constructor by default
57 BlockMaterialData& operator=(BlockMaterialData const&);
58 BlockMaterialData();
59
60#endif
61 public:
62 // member functions
63 // NOLINTBEGIN
64#ifdef LL_PLAT_C
65 MCAPI BlockMaterialData(::BlockMaterialInstancesDescription::BlockMaterialData const&);
66#endif
67 // NOLINTEND
68
69 public:
70 // constructor thunks
71 // NOLINTBEGIN
72#ifdef LL_PLAT_C
74#endif
75 // NOLINTEND
76 };
77
78public:
79 // member variables
80 // NOLINTBEGIN
81 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::BlockMaterialInstance>> mMaterials;
82 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::string>> mMaterialMappings;
83 // NOLINTEND
84
85public:
86 // prevent constructor by default
87 BlockMaterialInstancesDescription(BlockMaterialInstancesDescription const&);
88 BlockMaterialInstancesDescription();
89
90public:
91 // virtual functions
92 // NOLINTBEGIN
93 virtual ::std::string const& getName() const /*override*/;
94
95 virtual void initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const /*override*/;
96
97 virtual void initializeComponent(::BlockComponentStorage& blockComponentStorage) const /*override*/;
98
99 virtual bool isNetworkComponent() const /*override*/;
100
101 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const& ctx) const /*override*/;
102
103 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx) /*override*/;
104
105 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion) /*override*/;
106
107 virtual ~BlockMaterialInstancesDescription() /*override*/;
108 // NOLINTEND
109
110public:
111 // member functions
112 // NOLINTBEGIN
113 MCAPI explicit BlockMaterialInstancesDescription(
114 ::std::vector<::BlockMaterialInstancesDescription::BlockMaterialData> const& materialDatas
115 );
116
117 MCAPI BlockMaterialInstancesDescription(
118 ::std::string const& textureName,
119 ::BlockRenderLayer renderLayer,
120 float ambientOcclusion,
121 bool faceDimming,
122 ::TintMethod tintMethod,
123 bool randomizeUVRotation,
124 bool supportsTextureVariations,
125 bool alphaMaskedTint,
126 bool dithering
127 );
128
129 MCAPI ::BlockMaterialInstancesDescription& operator=(::BlockMaterialInstancesDescription const&);
130 // NOLINTEND
131
132public:
133 // static functions
134 // NOLINTBEGIN
135 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
136
137 MCAPI static bool
138 postParseConstraint(::Experiments const&, ::Json::Value const& componentJson, ::SemVersion const& jsonVersion);
139 // NOLINTEND
140
141public:
142 // static variables
143 // NOLINTBEGIN
144 MCAPI static ::std::string const& NameID();
145
146 MCAPI static ::SemVersionConstant const& VARIATIONS_TEXTURE_SUPPORT_MIN_VERSION();
147 // NOLINTEND
148
149public:
150 // constructor thunks
151 // NOLINTBEGIN
152 MCAPI void* $ctor(::std::vector<::BlockMaterialInstancesDescription::BlockMaterialData> const& materialDatas);
153
154 MCAPI void* $ctor(
155 ::std::string const& textureName,
156 ::BlockRenderLayer renderLayer,
157 float ambientOcclusion,
158 bool faceDimming,
159 ::TintMethod tintMethod,
160 bool randomizeUVRotation,
161 bool supportsTextureVariations,
162 bool alphaMaskedTint,
163 bool dithering
164 );
165 // NOLINTEND
166
167public:
168 // destructor thunk
169 // NOLINTBEGIN
170 MCAPI void $dtor();
171 // NOLINTEND
172
173public:
174 // virtual function thunks
175 // NOLINTBEGIN
176 MCAPI ::std::string const& $getName() const;
177
178 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
179
180 MCAPI void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
181
182 MCFOLD bool $isNetworkComponent() const;
183
184 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
185
186 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
187
188 MCAPI void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
189
190
191 // NOLINTEND
192
193public:
194 // vftables
195 // NOLINTBEGIN
196 MCNAPI static void** $vftable();
197 // NOLINTEND
198};
Definition BlockComponentStorage.h:67
Definition CompoundTag.h:18
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