LeviLamina
Loading...
Searching...
No Matches
Biome.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/BiomeIdType.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/util/WeightedRandomList.h"
9#include "mc/world/level/biome/OceanRuinConfiguration.h"
10#include "mc/world/level/biome/components/BiomeComponentStorage.h"
11#include "mc/world/level/biome/components/vanilla/VanillaBiomeTypes.h"
12
13// auto generated forward declare list
14// clang-format off
15class BlockPos;
16class BlockSource;
17class LevelChunk;
18class MobSpawnerData;
19namespace br::worldgen { struct SpawnerData; }
20namespace mce { class Color; }
21// clang-format on
22
23class Biome {
24public:
25 // Biome inner types define
26 enum class BiomeTempCategory : int {
27 Ocean = 0,
28 Cold = 1,
29 Medium = 2,
30 Warm = 3,
31 };
32
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<4, 4, float> mTemperature;
37 ::ll::TypedStorage<4, 4, float> mDownfall;
38 ::ll::TypedStorage<4, 4, float> mRedSporeDensity;
39 ::ll::TypedStorage<4, 4, float> mBlueSporeDensity;
40 ::ll::TypedStorage<4, 4, float> mAshDensity;
41 ::ll::TypedStorage<4, 4, float> mWhiteAshDensity;
42 ::ll::TypedStorage<4, 4, float> mSnowAccumulation;
43 ::ll::TypedStorage<4, 4, float> mFoliageSnow;
44 ::ll::TypedStorage<4, 4, float> mMinSnowLevel;
45 ::ll::TypedStorage<4, 4, float> mMaxSnowLevel;
46 ::ll::TypedStorage<4, 4, float> mDepth;
47 ::ll::TypedStorage<4, 4, float> mScale;
48 ::ll::TypedStorage<4, 4, int> mMapWaterColor;
49 ::ll::TypedStorage<4, 4, float const> mMapWaterTransparency;
50 ::ll::TypedStorage<1, 1, bool> mRain;
51 ::ll::TypedStorage<4, 12, ::OceanRuinConfiguration> mOceanRuinConfig;
52 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::MobSpawnerData>>> mMobs;
53 ::ll::TypedStorage<8, 256, ::std::array<::WeightedRandomList<::br::worldgen::SpawnerData>, 8>> mMobsMap;
54 ::ll::TypedStorage<2, 2, ::BiomeIdType const> mId;
55 ::ll::TypedStorage<8, 32, ::BiomeComponentStorage> mBiomeComponentStorage;
56 ::ll::TypedStorage<8, 48, ::HashedString const> mHash;
57 // NOLINTEND
58
59public:
60 // prevent constructor by default
61 Biome();
62
63public:
64 // virtual functions
65 // NOLINTBEGIN
66 virtual ~Biome();
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI Biome(::BiomeIdType id, ::std::string_view name);
73
74 MCAPI ::VanillaBiomeTypes getBiomeType() const;
75
76 MCAPI int getMapFoliageColor() const;
77
78 MCAPI int getMapGrassColor(::BlockPos const& pos) const;
79
80 MCAPI float getTemperature(::BlockSource const& region, ::BlockPos const& pos) const;
81
82 MCAPI ::Biome::BiomeTempCategory getTemperatureCategory() const;
83
84 MCAPI bool isHumid() const;
85
86 MCAPI ::Biome& setMapWaterColor(int color);
87 // NOLINTEND
88
89public:
90 // static functions
91 // NOLINTBEGIN
92 MCAPI static void buildCachedTemperatureNoise(::LevelChunk& chunk);
93
94 MCAPI static ::mce::Color getColorBySamplingSurroundings(
95 ::BlockSource& region,
96 ::BlockPos const& pos,
97 ::std::vector<::BlockPos> const& pattern,
98 ::gsl::not_null<int (*)(::Biome const&, ::BlockPos const&)> const& sampler
99 );
100 // NOLINTEND
101
102public:
103 // static variables
104 // NOLINTBEGIN
105 MCAPI static ::mce::Color const& BIRCH_FOLIAGE_TINT();
106
107 MCAPI static ::mce::Color const& DEFAULT_FOLIAGE_TINT();
108
109 MCAPI static ::mce::Color const& DEFAULT_GRASS_TINT();
110
111 MCAPI static ::mce::Color const& DEFAULT_UNDERWATER_COLOR();
112
113 MCAPI static ::mce::Color const& DEFAULT_WATER_COLOR();
114
115 MCAPI static ::mce::Color const& DEFAULT_WATER_TINT();
116
117 MCAPI static ::mce::Color const& DRY_FOLIAGE_TINT();
118
119 MCAPI static ::mce::Color const& EVERGREEN_FOLIAGE_TINT();
120
121 MCAPI static float const& RAIN_TEMP_THRESHOLD();
122 // NOLINTEND
123
124public:
125 // constructor thunks
126 // NOLINTBEGIN
127 MCAPI void* $ctor(::BiomeIdType id, ::std::string_view name);
128 // NOLINTEND
129
130public:
131 // destructor thunk
132 // NOLINTBEGIN
133 MCAPI void $dtor();
134 // NOLINTEND
135
136public:
137 // vftables
138 // NOLINTBEGIN
139 MCNAPI static void** $vftable();
140 // NOLINTEND
141};
static MCAPI void ** $vftable()
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition LevelChunk.h:79
Definition MobSpawnerData.h:17
Definition Color.h:13
Definition BiomeIdType.h:8
Definition SpawnerData.h:18