LeviLamina
Loading...
Searching...
No Matches
MesaSurfaceBuilder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/biome/surface/ISurfaceBuilder.h"
7#include "mc/world/level/block/BlockColor.h"
8#include "mc/world/level/levelgen/synth/MesaSurfaceBuilderNoises.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13class BlockVolume;
15class Random;
19// clang-format on
20
21namespace VanillaSurfaceBuilders {
22
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<1, 192, ::std::array<::BlockColor, 192>> mColorBands;
28 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::MesaSurfaceBuilderNoises>> mNoises;
29 // NOLINTEND
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual void initBuilder(uint levelSeed) /*override*/;
35
36 virtual void initBiomeSurface(::SurfaceBuilderData& surfaceBuilderData) const /*override*/;
37
38 virtual bool isBestBuilder(::SurfaceBuilderData const& surfaceBuilderData) const /*override*/;
39
40 virtual void buildSurfaceAt(::ISurfaceBuilder::BuildParameters const& parameters) const /*override*/;
41 // NOLINTEND
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI void _buildSurface(
47 ::BlockPos const& pos,
48 float depthValue,
49 ::Random& random,
50 ::BlockVolume& blockVolume,
51 int lowerLimit,
52 short seaLevel,
53 ::MesaSurfaceBlocks const& mesaPalette,
54 ::SurfaceMaterialBlocks const& blockPalette,
55 float extensionTop
56 ) const;
57
58 MCAPI void _init(uint levelSeed);
59
60 MCAPI void generateBands(::Random& random);
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCAPI void $initBuilder(uint levelSeed);
67
68 MCFOLD void $initBiomeSurface(::SurfaceBuilderData& surfaceBuilderData) const;
69
70 MCFOLD bool $isBestBuilder(::SurfaceBuilderData const& surfaceBuilderData) const;
71
72 MCAPI void $buildSurfaceAt(::ISurfaceBuilder::BuildParameters const& parameters) const;
73
74
75 // NOLINTEND
76
77public:
78 // vftables
79 // NOLINTBEGIN
80 MCNAPI static void** $vftable();
81 // NOLINTEND
82};
83
84} // namespace VanillaSurfaceBuilders
Definition BlockPos.h:21
Definition BlockVolume.h:14
Definition ISurfaceBuilder.h:21
Definition MesaSurfaceBuilderNoises.h:14
Definition Random.h:10
Definition SurfaceBuilderData.h:8
Definition MesaSurfaceBuilder.h:23
Definition ISurfaceBuilder.h:34
Definition MesaSurfaceBlocks.h:11
Definition SurfaceMaterialBlocks.h:10