LeviLamina
Loading...
Searching...
No Matches
VegetationPatchFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/util/IntRange.h"
8#include "mc/world/level/block/BlockDescriptor.h"
9#include "mc/world/level/levelgen/feature/IFeature.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
15class Random;
16class RenderParams;
17// clang-format on
18
20public:
21 // VegetationPatchFeature inner types define
22 enum class Surface : int {
23 Ceiling = 0,
24 Floor = 1,
25 };
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mReplaceableBlocks;
31 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mGroundBlock;
32 ::ll::TypedStorage<8, 24, ::WeakRef<::IFeature>> mVegetationFeature;
33 ::ll::TypedStorage<4, 4, ::VegetationPatchFeature::Surface> mSurface;
34 ::ll::TypedStorage<4, 8, ::IntRange> mDepth;
35 ::ll::TypedStorage<4, 4, float> mExtraDeepBlockChance;
36 ::ll::TypedStorage<4, 4, int> mVerticalRange;
37 ::ll::TypedStorage<4, 4, float> mVegetationChance;
38 ::ll::TypedStorage<4, 8, ::IntRange> mHorizontalRadius;
39 ::ll::TypedStorage<4, 4, float> mExtraEdgeColumnChance;
40 ::ll::TypedStorage<1, 1, bool> mWaterlogged;
41 // NOLINTEND
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual ~VegetationPatchFeature() /*override*/;
47
48 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
49 // NOLINTEND
50
51public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI void _distributeVegetation(
55 ::IBlockWorldGenAPI& target,
56 ::Random& random,
57 ::std::vector<::BlockPos> const& coveredSurface,
58 ::RenderParams& renderParams,
59 int,
60 int
61 ) const;
62
63 MCAPI bool _isExposed(::IBlockWorldGenAPI& target, ::BlockPos const& pos) const;
64
65 MCAPI ::std::vector<::BlockPos> _placeGroundPatch(
66 ::IBlockWorldGenAPI& target,
67 ::Random& random,
68 ::BlockPos const& origin,
69 int xRadius,
70 int zRadius
71 ) const;
72
73 MCAPI ::std::vector<::BlockPos>
74 _placeWaterOnSurface(::IBlockWorldGenAPI& target, ::std::vector<::BlockPos> const& surface) const;
75 // NOLINTEND
76
77public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCAPI void $dtor();
81 // NOLINTEND
82
83public:
84 // virtual function thunks
85 // NOLINTBEGIN
86 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
87
88
89 // NOLINTEND
90
91public:
92 // vftables
93 // NOLINTBEGIN
94 MCNAPI static void** $vftable();
95 // NOLINTEND
96};
Definition BlockPos.h:21
Definition IBlockWorldGenAPI.h:25
Definition IFeature.h:19
Definition Random.h:10
Definition RenderParams.h:30
Definition VegetationPatchFeature.h:19
static MCAPI void ** $vftable()
Definition IFeature.h:27
Definition context.h:5