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& ctx) 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
83 virtual ~BlockMaterialInstancesDescription() /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI explicit BlockMaterialInstancesDescription(
90 ::std::vector<::BlockMaterialInstancesDescription::BlockMaterialData> const& materialDatas
91 );
92
93 MCAPI BlockMaterialInstancesDescription(
94 ::std::string const& textureName,
95 ::BlockRenderLayer renderLayer,
96 float ambientOcclusion,
97 bool faceDimming,
98 ::TintMethod tintMethod,
99 bool randomizeUVRotation,
100 bool supportsTextureVariations,
101 bool alphaMaskedTint,
102 bool dithering
103 );
104
105 MCAPI ::BlockMaterialInstancesDescription& operator=(::BlockMaterialInstancesDescription const&);
106 // NOLINTEND
107
108public:
109 // static functions
110 // NOLINTBEGIN
111 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
112
113 MCAPI static bool
114 postParseConstraint(::Experiments const&, ::Json::Value const& componentJson, ::SemVersion const& jsonVersion);
115 // NOLINTEND
116
117public:
118 // static variables
119 // NOLINTBEGIN
120 MCAPI static ::std::string const& NameID();
121
122 MCAPI static ::SemVersionConstant const& VARIATIONS_TEXTURE_SUPPORT_MIN_VERSION();
123 // NOLINTEND
124
125public:
126 // constructor thunks
127 // NOLINTBEGIN
128 MCAPI void* $ctor(::std::vector<::BlockMaterialInstancesDescription::BlockMaterialData> const& materialDatas);
129
130 MCAPI void* $ctor(
131 ::std::string const& textureName,
132 ::BlockRenderLayer renderLayer,
133 float ambientOcclusion,
134 bool faceDimming,
135 ::TintMethod tintMethod,
136 bool randomizeUVRotation,
137 bool supportsTextureVariations,
138 bool alphaMaskedTint,
139 bool dithering
140 );
141 // NOLINTEND
142
143public:
144 // destructor thunk
145 // NOLINTBEGIN
146 MCAPI void $dtor();
147 // NOLINTEND
148
149public:
150 // virtual function thunks
151 // NOLINTBEGIN
152 MCAPI ::std::string const& $getName() const;
153
154 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
155
156 MCAPI void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
157
158 MCFOLD bool $isNetworkComponent() const;
159
160 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
161
162 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
163
164 MCAPI void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
165
166
167 // NOLINTEND
168
169public:
170 // vftables
171 // NOLINTBEGIN
172 MCNAPI static void** $vftable();
173 // NOLINTEND
174};
Definition BlockComponentStorage.h:66
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