LeviLamina
Loading...
Searching...
No Matches
NetherCaveFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/world/level/levelgen/feature/CaveFeature.h"
8#include "mc/world/level/levelgen/feature/IFeature.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13class ChunkPos;
15class Random;
16class RenderParams;
17namespace CaveFeatureUtils { struct CarverConfiguration; }
18namespace CaveFeatureUtils { struct CarvingParameters; }
19// clang-format on
20
21class NetherCaveFeature : public ::CaveFeature {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<4, 12, ::Vec3 const> EMPTY_VEC;
26 ::ll::TypedStorage<4, 4, int const> HELL_CAVE_COUNT_BASE_FACTOR;
27 // NOLINTEND
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
33
34 virtual void addRoom(
35 ::IBlockWorldGenAPI& blocks,
36 ::CaveFeatureUtils::CarverConfiguration const& configuration,
37 ::Random& random,
38 ::ChunkPos const& chunkPos,
39 ::Vec3 const& room,
40 ::RenderParams& renderParams,
42 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
43 ) const /*override*/;
44
45 virtual void addTunnel(
46 ::IBlockWorldGenAPI& blocks,
47 ::CaveFeatureUtils::CarverConfiguration const& configuration,
48 ::Random& _random,
49 ::ChunkPos const& chunkPos,
50 ::Vec3 const& startPos,
51 float thickness,
52 float yRot,
53 float xRot,
54 int step,
55 int dist,
56 float yScale,
57 ::RenderParams& renderParams,
59 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
60 ) const /*override*/;
61
62 virtual void addFeature(
63 ::IBlockWorldGenAPI& blocks,
64 ::ChunkPos const& chunkPos,
65 ::Random& random,
66 ::ChunkPos const& startChunk,
67 ::RenderParams& renderParams,
68 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
69 ) const /*override*/;
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
76
77 MCAPI void $addRoom(
78 ::IBlockWorldGenAPI& blocks,
79 ::CaveFeatureUtils::CarverConfiguration const& configuration,
80 ::Random& random,
81 ::ChunkPos const& chunkPos,
82 ::Vec3 const& room,
83 ::RenderParams& renderParams,
85 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
86 ) const;
87
88 MCAPI void $addTunnel(
89 ::IBlockWorldGenAPI& blocks,
90 ::CaveFeatureUtils::CarverConfiguration const& configuration,
91 ::Random& _random,
92 ::ChunkPos const& chunkPos,
93 ::Vec3 const& startPos,
94 float thickness,
95 float yRot,
96 float xRot,
97 int step,
98 int dist,
99 float yScale,
100 ::RenderParams& renderParams,
101 ::CaveFeatureUtils::CarvingParameters const& carveValues,
102 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
103 ) const;
104
105 MCAPI void $addFeature(
106 ::IBlockWorldGenAPI& blocks,
107 ::ChunkPos const& chunkPos,
108 ::Random& random,
109 ::ChunkPos const& startChunk,
110 ::RenderParams& renderParams,
111 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
112 ) const;
113
114
115 // NOLINTEND
116
117public:
118 // vftables
119 // NOLINTBEGIN
120 MCNAPI static void** $vftable();
121 // NOLINTEND
122};
Definition BlockPos.h:21
Definition ChunkPos.h:11
Definition IBlockWorldGenAPI.h:25
Definition NetherCaveFeature.h:21
static MCAPI void ** $vftable()
Definition Random.h:10
Definition RenderParams.h:30
Definition Vec3.h:10
Definition CarverConfiguration.h:14
Definition CarvingParameters.h:10
Definition IFeature.h:27
Definition context.h:5