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