3#include "mc/_HeaderOutputPredefine.h"
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"
24 enum class DistanceSettingType :
int {
33 enum class DensitySettingType :
int {
41 enum class CoefficientSettingType :
int {
47 enum class HenyeyGreensteinGSettingType :
int {
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;
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
103 MCAPI ::std::optional<::FogVolumetricCoefficientSetting>
104 getCoefficientSettingByType(::FogDefinition::CoefficientSettingType settingType)
const;
106 MCAPI ::std::optional<::FogVolumetricDensitySetting>
107 getDensitySettingByType(::FogDefinition::DensitySettingType settingType)
const;
109 MCAPI ::std::optional<::FogDistanceSetting>
110 getDistanceSettingByType(::FogDefinition::DistanceSettingType settingType)
const;
112 MCAPI ::std::optional<::FogVolumetricHenyeyGreensteinGSetting>
113 getHenyeyGreensteinGSettingByType(::FogDefinition::HenyeyGreensteinGSettingType settingType)
const;
115 MCAPI ::std::string getNamespace()
const;
117 MCAPI ::std::optional<::FogTransitionSetting>
118 getTransitionSettingByType(::FogDefinition::DistanceSettingType settingType)
const;
120 MCAPI ~FogDefinition();
126 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::FogDefinition>>
127 _buildFogDefinitionSchema_common(::SemVersion version);
129 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::FogDefinition>>
130 buildFogDefinitionSchema_v1_16_100();
132 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::FogDefinition>>
133 buildFogDefinitionSchema_v1_21_0();
135 MCAPI static ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::FogDefinition>>
136 buildFogDefinitionSchema_v1_21_90();
142 MCAPI static ::FogDistanceSetting
const& DEFAULT_DISTANCE_AIR_SETTING();
144 MCAPI static ::FogDistanceSetting
const& DEFAULT_DISTANCE_LAVA_RESISTANCE_SETTING();
146 MCAPI static ::FogDistanceSetting
const& DEFAULT_DISTANCE_LAVA_SETTING();
148 MCAPI static ::FogDistanceSetting
const& DEFAULT_DISTANCE_NETHER_AIR_SETTING();
150 MCAPI static ::FogDistanceSetting
const& DEFAULT_DISTANCE_POWDER_SNOW_SETTING();
152 MCAPI static ::FogDistanceSetting
const& DEFAULT_DISTANCE_WATER_SETTING();
154 MCAPI static ::FogDistanceSetting
const& DEFAULT_DISTANCE_WEATHER_SETTING();
156 MCAPI static ::FogSetting
const& DEFAULT_FOG_AIR_SETTING();
158 MCAPI static ::FogDefinition
const& DEFAULT_FOG_DEFINITION();
160 MCAPI static ::FogSetting
const& DEFAULT_FOG_LAVA_RESISTANCE_SETTING();
162 MCAPI static ::FogSetting
const& DEFAULT_FOG_LAVA_SETTING();
164 MCAPI static ::FogSetting
const& DEFAULT_FOG_NETHER_AIR_SETTING();
166 MCAPI static ::FogSetting
const& DEFAULT_FOG_POWDER_SNOW_SETTING();
168 MCAPI static ::FogSetting
const& DEFAULT_FOG_WATER_SETTING();
170 MCAPI static ::FogSetting
const& DEFAULT_FOG_WEATHER_SETTING();
172 MCAPI static ::FogVolumetricCoefficientSetting
const& DEFAULT_VOLUME_COEFFICIENT_AIR_SETTING();
174 MCAPI static ::FogVolumetricCoefficientSetting
const& DEFAULT_VOLUME_COEFFICIENT_CLOUD_SETTING();
176 MCAPI static ::FogVolumetricCoefficientSetting
const& DEFAULT_VOLUME_COEFFICIENT_WATER_SETTING();
178 MCAPI static ::FogVolumetricHenyeyGreensteinGSetting
const& DEFAULT_VOLUME_HENYEY_GREENSTEIN_G_AIR_SETTING();
180 MCAPI static ::FogVolumetricHenyeyGreensteinGSetting
const& DEFAULT_VOLUME_HENYEY_GREENSTEIN_G_WATER_SETTING();
182 MCAPI static ::FogDefinition
const& DEFERRED_DEFAULT_FOG_DEFINITION();
184 MCAPI static ::FogVolumetricDensitySetting
const& DEFERRED_DEFAULT_VOLUME_DENSITY_AIR_SETTING();
186 MCAPI static ::FogVolumetricDensitySetting
const& DEFERRED_DEFAULT_VOLUME_DENSITY_WATER_SETTING();
188 MCAPI static ::FogVolumetricDensitySetting
const& DEFERRED_DEFAULT_VOLUME_DENSITY_WEATHER_SETTING();
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
Definition EmptyClass.h:7
Definition SemVersion.h:15
Definition FogDefinition.h:5
Definition FogDistanceSetting.h:5
Definition FogTransitionSetting.h:5