LeviLamina
Loading...
Searching...
No Matches
ISurfaceBuilder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Biome;
8class BlockPos;
9class BlockVolume;
12class Random;
13// clang-format on
14
16public:
17 // ISurfaceBuilder inner types declare
18 // clang-format off
19 struct BuildParameters;
20 // clang-format on
21
22 // ISurfaceBuilder inner types define
23 enum class WaterLevelStrategy : int {
24 Local = 0,
25 Global = 1,
26 };
27
28 struct BuildParameters {
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 8, ::Biome const&> mBiome;
33 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
34 ::ll::TypedStorage<8, 8, ::BlockVolume&> mBlocks;
35 ::ll::TypedStorage<8, 8, ::BlockPos const&> mPos;
36 ::ll::TypedStorage<4, 4, float> mDepthValue;
37 ::ll::TypedStorage<2, 2, short> mSeaLevel;
38 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinSimplexNoise> const&> mMaterialAdjNoise;
39 ::ll::TypedStorage<4, 4, ::ISurfaceBuilder::WaterLevelStrategy const> mWaterLevelStrategy;
40 ::ll::TypedStorage<4, 4, int const> mLowerLimit;
41 ::ll::TypedStorage<8, 8, ::HeightmapWrapper const&> mPreWorldGenHeightmap;
42 ::ll::TypedStorage<1, 1, bool const> mUseCCOrLater;
43 // NOLINTEND
44
45 public:
46 // prevent constructor by default
47 BuildParameters& operator=(BuildParameters const&);
48 BuildParameters(BuildParameters const&);
49 BuildParameters();
50 };
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~ISurfaceBuilder() = default;
56
57 virtual void initBuilder(uint) = 0;
58
59 virtual void initBiomeSurface(::Biome&) const = 0;
60
61 virtual bool isBestBuilder(::Biome const&) const = 0;
62
63 virtual void buildSurfaceAt(::ISurfaceBuilder::BuildParameters const&) const = 0;
64 // NOLINTEND
65
66public:
67 // virtual function thunks
68 // NOLINTBEGIN
69
70 // NOLINTEND
71};
Definition Biome.h:23
Definition BlockPos.h:19
Definition BlockVolume.h:13
Definition Global.h:6
Definition HeightmapWrapper.h:5
Definition ISurfaceBuilder.h:15
Definition PerlinSimplexNoise.h:13
Definition Random.h:10
Definition ISurfaceBuilder.h:28