LeviLamina
Loading...
Searching...
No Matches
Aquifer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockPos.h"
7
8// auto generated forward declare list
9// clang-format off
10class AquiferNoises;
11class ChunkPos;
14// clang-format on
15
16class Aquifer {
17public:
18 // Aquifer inner types declare
19 // clang-format off
20 struct FluidSample;
21 struct LocalRegistry;
22 // clang-format on
23
24 // Aquifer inner types define
26
27 struct FluidSample {
28 public:
29 // FluidSample inner types define
30 enum class FluidType : schar {
31 Water = 0,
32 Lava = 1,
33 None = 2,
34 };
35
36 public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<4, 12, ::BlockPos> pos;
40 ::ll::TypedStorage<4, 4, int> blockLevel;
41 ::ll::TypedStorage<1, 1, ::Aquifer::FluidSample::FluidType> fluidType;
42 // NOLINTEND
43 };
44
46 public:
47 // member variables
48 // NOLINTBEGIN
51 // NOLINTEND
52
53 public:
54 // prevent constructor by default
55 LocalRegistry& operator=(LocalRegistry const&);
58 };
59
60public:
61 // member variables
62 // NOLINTBEGIN
63 ::ll::TypedStorage<8, 8, ::AquiferNoises const&> mAquiferNoises;
64 ::ll::TypedStorage<8, 8, ::OverworldNoises3d const&> mTerrainNoises;
65 ::ll::TypedStorage<8, 8, ::SurfaceLevelCache const&> mSurfaceLevelCache;
66 ::ll::TypedStorage<4, 4, int> mSeaLevel;
67 ::ll::TypedStorage<4, 4, int> mLastFluidLevel;
68 ::ll::TypedStorage<4, 4, float> mLastBarrierDensity;
69 ::ll::TypedStorage<1, 1, ::Aquifer::FluidSample::FluidType> mLastFluidType;
70 ::ll::TypedStorage<1, 1, bool> mShouldScheduleFluidUpdate;
71 ::ll::TypedStorage<4, 12, ::BlockPos> mMinGrid;
72 ::ll::TypedStorage<4, 12, ::BlockPos> mGridSize;
73 ::ll::TypedStorage<8, 24, ::std::vector<::Aquifer::FluidSample>> mFluidLevelCache;
74 ::ll::TypedStorage<8, 16, ::Aquifer::LocalRegistry> mLocalRegistry;
75 // NOLINTEND
76
77public:
78 // prevent constructor by default
79 Aquifer& operator=(Aquifer const&);
80 Aquifer(Aquifer const&);
81 Aquifer();
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCNAPI Aquifer(
87 ::ChunkPos const& chunkPos,
88 ::AquiferNoises const& aquiferNoises,
89 ::OverworldNoises3d const& terrainNoises,
90 ::SurfaceLevelCache const& surfaceLevelCache,
91 int dimensionMinHeight,
92 int levelGenHeight,
93 int seaLevel
94 );
95
96 MCNAPI float _calculatePressure(
97 ::BlockPos worldPos,
98 float& barrierNoiseValue,
99 ::Aquifer::FluidSample const& fluidYClosest1,
100 ::Aquifer::FluidSample const& fluidYClosest2
101 ) const;
102
103 MCNAPI ::Aquifer::FluidSample _computeAquifer(::BlockPos const& cellCenter) const;
104
105 MCNAPI ::Aquifer::FluidSample _getOrComputeNewFluidSample(::BlockPos const& cellCenter);
106
107 MCNAPI void computeAt(::BlockPos const& worldPos);
108 // NOLINTEND
109
110public:
111 // static variables
112 // NOLINTBEGIN
113 MCNAPI static ::std::array<::std::pair<int, int>, 13> const& chunkOffset();
114 // NOLINTEND
115
116public:
117 // constructor thunks
118 // NOLINTBEGIN
119 MCNAPI void* $ctor(
120 ::ChunkPos const& chunkPos,
121 ::AquiferNoises const& aquiferNoises,
122 ::OverworldNoises3d const& terrainNoises,
123 ::SurfaceLevelCache const& surfaceLevelCache,
124 int dimensionMinHeight,
125 int levelGenHeight,
126 int seaLevel
127 );
128 // NOLINTEND
129};
Definition AquiferNoises.h:14
Definition Aquifer.h:16
static MCAPI ::std::array<::std::pair< int, int >, 13 > const & chunkOffset()
MCAPI void * $ctor(::ChunkPos const &chunkPos, ::AquiferNoises const &aquiferNoises, ::OverworldNoises3d const &terrainNoises, ::SurfaceLevelCache const &surfaceLevelCache, int dimensionMinHeight, int levelGenHeight, int seaLevel)
MCAPI Aquifer(::ChunkPos const &chunkPos, ::AquiferNoises const &aquiferNoises, ::OverworldNoises3d const &terrainNoises, ::SurfaceLevelCache const &surfaceLevelCache, int dimensionMinHeight, int levelGenHeight, int seaLevel)
MCAPI::Aquifer::FluidSample _computeAquifer(::BlockPos const &cellCenter) const
MCAPI void computeAt(::BlockPos const &worldPos)
MCAPI float _calculatePressure(::BlockPos worldPos, float &barrierNoiseValue, ::Aquifer::FluidSample const &fluidYClosest1, ::Aquifer::FluidSample const &fluidYClosest2) const
MCAPI::Aquifer::FluidSample _getOrComputeNewFluidSample(::BlockPos const &cellCenter)
Definition BlockPos.h:18
Definition ChunkPos.h:11
Definition SurfaceLevelCache.h:9
Definition Aquifer.h:27
Definition Aquifer.h:45
Definition OverworldNoises3d.h:18
Definition Alias.h:14