LeviLamina
Loading...
Searching...
No Matches
FogDefinition.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/world/level/fog/FogSetting.h"
7#include "mc/client/world/level/fog/FogVolumetricCoefficientSetting.h"
8#include "mc/client/world/level/fog/FogVolumetricDensitySetting.h"
9#include "mc/client/world/level/fog/FogVolumetricHenyeyGreensteinGSetting.h"
10#include "mc/deps/core/string/HashedString.h"
11#include "mc/util/json_util/JsonSchemaObjectNode.h"
12
13// auto generated forward declare list
14// clang-format off
15class SemVersion;
18namespace JsonUtil { class EmptyClass; }
19// clang-format on
20
21struct FogDefinition {
22public:
23 // FogDefinition inner types define
24 enum class DistanceSettingType : int {
25 Air = 0,
26 Weather = 1,
27 Water = 2,
28 Lava = 3,
29 LavaResist = 4,
30 PowderSnow = 5,
31 };
32
33 enum class DensitySettingType : int {
34 Air = 0,
35 Weather = 1,
36 Water = 2,
37 Lava = 3,
38 LavaResist = 4,
39 };
40
41 enum class CoefficientSettingType : int {
42 Air = 0,
43 Water = 1,
44 Cloud = 2,
45 };
46
47 enum class HenyeyGreensteinGSettingType : int {
48 Air = 0,
49 Water = 1,
50 };
51
52public:
53 // member variables
54 // NOLINTBEGIN
55 ::ll::TypedStorage<8, 48, ::HashedString> mIdentifier;
56 ::ll::TypedStorage<4, 76, ::std::optional<::FogSetting>> mDistanceAirSetting;
57 ::ll::TypedStorage<4, 76, ::std::optional<::FogSetting>> mDistanceWeatherSetting;
58 ::ll::TypedStorage<4, 76, ::std::optional<::FogSetting>> mDistanceWaterSetting;
59 ::ll::TypedStorage<4, 76, ::std::optional<::FogSetting>> mDistanceLavaSetting;
60 ::ll::TypedStorage<4, 76, ::std::optional<::FogSetting>> mDistanceLavaResistanceSetting;
61 ::ll::TypedStorage<4, 76, ::std::optional<::FogSetting>> mDistancePowderSnowSetting;
62 ::ll::TypedStorage<4, 20, ::std::optional<::FogVolumetricDensitySetting>> mVolumeDensityAirSetting;
63 ::ll::TypedStorage<4, 20, ::std::optional<::FogVolumetricDensitySetting>> mVolumeDensityWeatherSetting;
64 ::ll::TypedStorage<4, 20, ::std::optional<::FogVolumetricDensitySetting>> mVolumeDensityWaterSetting;
65 ::ll::TypedStorage<4, 20, ::std::optional<::FogVolumetricDensitySetting>> mVolumeDensityLavaSetting;
66 ::ll::TypedStorage<4, 20, ::std::optional<::FogVolumetricDensitySetting>> mVolumeDensityLavaResistanceSetting;
67 ::ll::TypedStorage<4, 36, ::std::optional<::FogVolumetricCoefficientSetting>> mVolumeCoefficientAirSetting;
68 ::ll::TypedStorage<4, 36, ::std::optional<::FogVolumetricCoefficientSetting>> mVolumeCoefficientWaterSetting;
69 ::ll::TypedStorage<4, 36, ::std::optional<::FogVolumetricCoefficientSetting>> mVolumeCoefficientCloudSetting;
70 ::ll::TypedStorage<4, 8, ::std::optional<::FogVolumetricHenyeyGreensteinGSetting>>
71 mVolumeHenyeyGreensteinGAirSetting;
72 ::ll::TypedStorage<4, 8, ::std::optional<::FogVolumetricHenyeyGreensteinGSetting>>
73 mVolumeHenyeyGreensteinGWaterSetting;
74 // NOLINTEND
75
76public:
77 // prevent constructor by default
78 FogDefinition();
79
80public:
81 // member functions
82 // NOLINTBEGIN
83 MCAPI FogDefinition(
84 ::HashedString identifier,
85 ::std::optional<::FogSetting> distanceAir,
86 ::std::optional<::FogSetting> distanceWeather,
87 ::std::optional<::FogSetting> distanceWater,
88 ::std::optional<::FogSetting> distanceLava,
89 ::std::optional<::FogSetting> distanceLavaResistance,
90 ::std::optional<::FogSetting> distancePowderSnow,
91 ::std::optional<::FogVolumetricDensitySetting> densityAir,
92 ::std::optional<::FogVolumetricDensitySetting> densityWeather,
93 ::std::optional<::FogVolumetricDensitySetting> densityWater,
94 ::std::optional<::FogVolumetricDensitySetting> densityLava,
95 ::std::optional<::FogVolumetricDensitySetting> densityLavaResistance,
96 ::std::optional<::FogVolumetricCoefficientSetting> coefficientAir,
97 ::std::optional<::FogVolumetricCoefficientSetting> coefficientWater,
98 ::std::optional<::FogVolumetricCoefficientSetting> coefficientCloud,
99 ::std::optional<::FogVolumetricHenyeyGreensteinGSetting> henyeyGreensteinGAir,
100 ::std::optional<::FogVolumetricHenyeyGreensteinGSetting> henyeyGreensteinGWater
101 );
102
103 MCAPI ::std::optional<::FogVolumetricCoefficientSetting>
104 getCoefficientSettingByType(::FogDefinition::CoefficientSettingType settingType) const;
105
106 MCAPI ::std::optional<::FogVolumetricDensitySetting>
107 getDensitySettingByType(::FogDefinition::DensitySettingType settingType) const;
108
109 MCAPI ::std::optional<::FogDistanceSetting>
110 getDistanceSettingByType(::FogDefinition::DistanceSettingType settingType) const;
111
112 MCAPI ::std::optional<::FogVolumetricHenyeyGreensteinGSetting>
113 getHenyeyGreensteinGSettingByType(::FogDefinition::HenyeyGreensteinGSettingType settingType) const;
114
115 MCAPI ::std::string getNamespace() const;
116
117 MCAPI ::std::optional<::FogTransitionSetting>
118 getTransitionSettingByType(::FogDefinition::DistanceSettingType settingType) const;
119
120 MCAPI ~FogDefinition();
121 // NOLINTEND
122
123public:
124 // static functions
125 // NOLINTBEGIN
126 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::FogDefinition>>
127 _buildFogDefinitionSchema_common(::SemVersion version);
128
129 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::FogDefinition>>
130 buildFogDefinitionSchema_v1_16_100();
131
132 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::FogDefinition>>
133 buildFogDefinitionSchema_v1_21_0();
134
135 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::FogDefinition>>
136 buildFogDefinitionSchema_v1_21_90();
137 // NOLINTEND
138
139public:
140 // static variables
141 // NOLINTBEGIN
142 MCAPI static ::FogDistanceSetting const& DEFAULT_DISTANCE_AIR_SETTING();
143
144 MCAPI static ::FogDistanceSetting const& DEFAULT_DISTANCE_LAVA_RESISTANCE_SETTING();
145
146 MCAPI static ::FogDistanceSetting const& DEFAULT_DISTANCE_LAVA_SETTING();
147
148 MCAPI static ::FogDistanceSetting const& DEFAULT_DISTANCE_NETHER_AIR_SETTING();
149
150 MCAPI static ::FogDistanceSetting const& DEFAULT_DISTANCE_POWDER_SNOW_SETTING();
151
152 MCAPI static ::FogDistanceSetting const& DEFAULT_DISTANCE_WATER_SETTING();
153
154 MCAPI static ::FogDistanceSetting const& DEFAULT_DISTANCE_WEATHER_SETTING();
155
156 MCAPI static ::FogSetting const& DEFAULT_FOG_AIR_SETTING();
157
158 MCAPI static ::FogDefinition const& DEFAULT_FOG_DEFINITION();
159
160 MCAPI static ::FogSetting const& DEFAULT_FOG_LAVA_RESISTANCE_SETTING();
161
162 MCAPI static ::FogSetting const& DEFAULT_FOG_LAVA_SETTING();
163
164 MCAPI static ::FogSetting const& DEFAULT_FOG_NETHER_AIR_SETTING();
165
166 MCAPI static ::FogSetting const& DEFAULT_FOG_POWDER_SNOW_SETTING();
167
168 MCAPI static ::FogSetting const& DEFAULT_FOG_WATER_SETTING();
169
170 MCAPI static ::FogSetting const& DEFAULT_FOG_WEATHER_SETTING();
171
172 MCAPI static ::FogVolumetricCoefficientSetting const& DEFAULT_VOLUME_COEFFICIENT_AIR_SETTING();
173
174 MCAPI static ::FogVolumetricCoefficientSetting const& DEFAULT_VOLUME_COEFFICIENT_CLOUD_SETTING();
175
176 MCAPI static ::FogVolumetricCoefficientSetting const& DEFAULT_VOLUME_COEFFICIENT_WATER_SETTING();
177
178 MCAPI static ::FogVolumetricHenyeyGreensteinGSetting const& DEFAULT_VOLUME_HENYEY_GREENSTEIN_G_AIR_SETTING();
179
180 MCAPI static ::FogVolumetricHenyeyGreensteinGSetting const& DEFAULT_VOLUME_HENYEY_GREENSTEIN_G_WATER_SETTING();
181
182 MCAPI static ::FogDefinition const& DEFERRED_DEFAULT_FOG_DEFINITION();
183
184 MCAPI static ::FogVolumetricDensitySetting const& DEFERRED_DEFAULT_VOLUME_DENSITY_AIR_SETTING();
185
186 MCAPI static ::FogVolumetricDensitySetting const& DEFERRED_DEFAULT_VOLUME_DENSITY_WATER_SETTING();
187
188 MCAPI static ::FogVolumetricDensitySetting const& DEFERRED_DEFAULT_VOLUME_DENSITY_WEATHER_SETTING();
189 // NOLINTEND
190
191public:
192 // constructor thunks
193 // NOLINTBEGIN
194 MCAPI void* $ctor(
195 ::HashedString identifier,
196 ::std::optional<::FogSetting> distanceAir,
197 ::std::optional<::FogSetting> distanceWeather,
198 ::std::optional<::FogSetting> distanceWater,
199 ::std::optional<::FogSetting> distanceLava,
200 ::std::optional<::FogSetting> distanceLavaResistance,
201 ::std::optional<::FogSetting> distancePowderSnow,
202 ::std::optional<::FogVolumetricDensitySetting> densityAir,
203 ::std::optional<::FogVolumetricDensitySetting> densityWeather,
204 ::std::optional<::FogVolumetricDensitySetting> densityWater,
205 ::std::optional<::FogVolumetricDensitySetting> densityLava,
206 ::std::optional<::FogVolumetricDensitySetting> densityLavaResistance,
207 ::std::optional<::FogVolumetricCoefficientSetting> coefficientAir,
208 ::std::optional<::FogVolumetricCoefficientSetting> coefficientWater,
209 ::std::optional<::FogVolumetricCoefficientSetting> coefficientCloud,
210 ::std::optional<::FogVolumetricHenyeyGreensteinGSetting> henyeyGreensteinGAir,
211 ::std::optional<::FogVolumetricHenyeyGreensteinGSetting> henyeyGreensteinGWater
212 );
213 // NOLINTEND
214
215public:
216 // destructor thunk
217 // NOLINTBEGIN
218 MCFOLD void $dtor();
219 // NOLINTEND
220};
Definition EmptyClass.h:7
Definition SemVersion.h:15
Definition FogDefinition.h:5
Definition FogDistanceSetting.h:5
Definition FogTransitionSetting.h:5