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/deps/core/string/HashedString.h"
7#include "mc/util/IDType.h"
8#include "mc/util/TagRegistry.h"
9#include "mc/util/WeightedRandomList.h"
10#include "mc/world/level/biome/OceanRuinConfiguration.h"
11#include "mc/world/level/biome/components/BiomeComponentStorage.h"
12#include "mc/world/level/biome/components/vanilla/VanillaBiomeTypes.h"
13
14// auto generated forward declare list
15// clang-format off
16class BlockPos;
17class BlockSource;
18class MobSpawnerData;
19class WellKnownTagID;
20struct BiomeTagIDType;
22namespace br::worldgen { struct SpawnerData; }
23namespace mce { class Color; }
24// clang-format on
25
26class Biome {
27public:
28 // Biome inner types declare
29 // clang-format off
31 // clang-format on
32
33 // Biome inner types define
34 enum class BiomeTempCategory : int {
35 Ocean = 0,
36 Cold = 1,
37 Medium = 2,
38 Warm = 3,
39 };
40
42 public:
43 // member variables
44 // NOLINTBEGIN
47 // NOLINTEND
48
49 public:
50 // prevent constructor by default
54 };
55
56public:
57 // member variables
58 // NOLINTBEGIN
59 ::ll::TypedStorage<8, 48, ::HashedString const> mHash;
60 ::ll::TypedStorage<4, 4, float> mTemperature;
61 ::ll::TypedStorage<4, 4, float> mDownfall;
62 ::ll::TypedStorage<4, 4, float> mRedSporeDensity;
63 ::ll::TypedStorage<4, 4, float> mBlueSporeDensity;
64 ::ll::TypedStorage<4, 4, float> mAshDensity;
65 ::ll::TypedStorage<4, 4, float> mWhiteAshDensity;
66 ::ll::TypedStorage<4, 4, float> mSnowAccumulation;
67 ::ll::TypedStorage<4, 4, float> mFoliageSnow;
68 ::ll::TypedStorage<4, 4, float> mMinSnowLevel;
69 ::ll::TypedStorage<4, 4, float> mMaxSnowLevel;
70 ::ll::TypedStorage<4, 4, float> mDepth;
71 ::ll::TypedStorage<4, 4, float> mScale;
72 ::ll::TypedStorage<4, 4, int> mMapWaterColor;
73 ::ll::TypedStorage<4, 4, float const> mMapWaterTransparency;
74 ::ll::TypedStorage<1, 1, bool> mRain;
75 ::ll::TypedStorage<4, 12, ::OceanRuinConfiguration> mOceanRuinConfig;
76 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::MobSpawnerData>>> mMobs;
77 ::ll::TypedStorage<8, 256, ::std::array<::WeightedRandomList<::br::worldgen::SpawnerData>, 8>> mMobsMap;
78 ::ll::TypedStorage<1, 2, ::Biome::CachedClientComponentData> mCachedClientComponentData;
79 ::ll::TypedStorage<2, 2, ushort const> mId;
80 ::ll::TypedStorage<8, 32, ::BiomeComponentStorage> mBiomeComponentStorage;
81 // NOLINTEND
82
83public:
84 // prevent constructor by default
85 Biome();
86
87public:
88 // virtual functions
89 // NOLINTBEGIN
90 // vIndex: 0
91 virtual ~Biome() = default;
92 // NOLINTEND
93
94public:
95 // member functions
96 // NOLINTBEGIN
97 MCAPI Biome(ushort id, ::std::string_view name);
98
99 MCAPI ::VanillaBiomeTypes getBiomeType() const;
100
101 MCAPI int getMapFoliageColor() const;
102
103 MCAPI int getMapGrassColor(::BlockPos const& pos) const;
104
105 MCAPI float getTemperature(::BlockSource const& region, ::BlockPos const& pos) const;
106
107 MCAPI ::Biome::BiomeTempCategory getTemperatureCategory() const;
108
109 MCAPI float getTemperatureWorldGen(::BlockPos const& pos, short seaLevel) const;
110
111 MCAPI bool hasTag(::WellKnownTagID const& tagID) const;
112
113 MCAPI bool hasTag(
114 uint64 tagHash,
116 ) const;
117
118 MCAPI bool hasTag(
119 ::IDType<::BiomeTagIDType> const& tagID,
121 ) const;
122
123 MCAPI bool isHumid() const;
124
125 MCAPI ::Biome& setMapWaterColor(int color);
126 // NOLINTEND
127
128public:
129 // static functions
130 // NOLINTBEGIN
131 MCAPI static ::mce::Color getColorBySamplingSurroundings(
132 ::BlockSource& region,
133 ::BlockPos const& pos,
134 ::std::vector<::BlockPos> const& pattern,
135 ::gsl::not_null<int (*)(::Biome const&, ::BlockPos const&)> const& sampler
136 );
137 // NOLINTEND
138
139public:
140 // static variables
141 // NOLINTBEGIN
142 MCAPI static ::mce::Color const& BIRCH_FOLIAGE_TINT();
143
144 MCAPI static ::mce::Color const& DEFAULT_FOLIAGE_TINT();
145
146 MCAPI static ::mce::Color const& DEFAULT_GRASS_TINT();
147
148 MCAPI static ::mce::Color const& DEFAULT_UNDERWATER_COLOR();
149
150 MCAPI static ::mce::Color const& DEFAULT_WATER_COLOR();
151
152 MCAPI static ::mce::Color const& DEFAULT_WATER_TINT();
153
154 MCAPI static ::mce::Color const& DRY_FOLIAGE_TINT();
155
156 MCAPI static ::mce::Color const& EVERGREEN_FOLIAGE_TINT();
157
158 MCAPI static float const& RAIN_TEMP_THRESHOLD();
159 // NOLINTEND
160
161public:
162 // constructor thunks
163 // NOLINTBEGIN
164 MCAPI void* $ctor(ushort id, ::std::string_view name);
165 // NOLINTEND
166
167public:
168 // vftables
169 // NOLINTBEGIN
170 MCNAPI static void** $vftable();
171 // NOLINTEND
172};
Definition Biome.h:26
static MCAPI void ** $vftable()
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition MobSpawnerData.h:16
Definition TagRegistry.h:9
Definition WellKnownTagID.h:5
Definition BiomeTagIDType.h:5
Definition BiomeTagSetIDType.h:5
Definition IDType.h:6
Definition Alias.h:14