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;
19namespace Json { class Value; }
20namespace cereal { struct ReflectionCtx; }
21// clang-format on
22
23struct BlockMaterialInstancesDescription : public ::BlockComponentDescription {
24public:
25 // BlockMaterialInstancesDescription inner types declare
26 // clang-format off
28 struct BlockMaterialData;
29 // clang-format on
30
31 // BlockMaterialInstancesDescription inner types define
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 32, ::std::string> textureName;
37 ::ll::TypedStorage<4, 4, float> ambientOcclusion;
38 ::ll::TypedStorage<1, 1, ::BlockRenderLayer> renderLayer;
39 ::ll::TypedStorage<1, 1, ::TintMethod> tintMethod;
40 ::ll::TypedStorage<1, 1, ::BlockMaterialInstancePackedBools> packedBools;
41 // NOLINTEND
42 };
43
45 public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 32, ::std::string> materialName;
49 ::ll::TypedStorage<8, 40, ::BlockMaterialInstancesDescription::BlockMaterialInstanceData> materialInstanceData;
50 // NOLINTEND
51 };
52
53public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::BlockMaterialInstance>> mMaterials;
57 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::string>> mMaterialMappings;
58 // NOLINTEND
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ::std::string const& getName() const /*override*/;
64
65 virtual void initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const /*override*/;
66
67 virtual void initializeComponent(::BlockComponentStorage& blockComponentStorage) const /*override*/;
68
69 virtual bool isNetworkComponent() const /*override*/;
70
71 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const& ctx) const /*override*/;
72
73 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx) /*override*/;
74
75 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion) /*override*/;
76
77 virtual ~BlockMaterialInstancesDescription() /*override*/;
78 // NOLINTEND
79
80public:
81 // member functions
82 // NOLINTBEGIN
83 MCAPI BlockMaterialInstancesDescription();
84
85 MCAPI BlockMaterialInstancesDescription(::BlockMaterialInstancesDescription const&);
86
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 ::BlockMaterialInstancesDescription& operator=(::BlockMaterialInstancesDescription&&);
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 ::std::string const& NameID();
117 // NOLINTEND
118
119public:
120 // constructor thunks
121 // NOLINTBEGIN
122 MCAPI void* $ctor();
123
124 MCAPI void* $ctor(::BlockMaterialInstancesDescription const&);
125
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 // destructor thunk
141 // NOLINTBEGIN
142 MCAPI void $dtor();
143 // NOLINTEND
144
145public:
146 // virtual function thunks
147 // NOLINTBEGIN
148 MCAPI ::std::string const& $getName() const;
149
150 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
151
152 MCAPI void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
153
154 MCFOLD bool $isNetworkComponent() const;
155
156 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
157
158 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
159
160 MCAPI void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
161
162
163 // NOLINTEND
164
165public:
166 // vftables
167 // NOLINTBEGIN
168 MCNAPI static void** $vftable();
169 // NOLINTEND
170};
Definition BlockComponentStorage.h:61
Definition CompoundTag.h:23
Definition Experiments.h:14
Definition Value.h:16
Definition SemVersion.h:15
STL namespace.
Definition BlockComponentDescription.h:20
Definition BlockMaterialInstance.h:17
Definition BlockMaterialInstancesDescription.h:44
Definition BlockMaterialInstancesDescription.h:32
static MCAPI void ** $vftable()
Definition ReflectionCtx.h:11
Definition ctx.h:5