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;
16// clang-format on
17
19public:
20 // VegetationPatchFeature inner types define
21 enum class Surface : int {
22 Ceiling = 0,
23 Floor = 1,
24 };
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mReplaceableBlocks;
30 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mGroundBlock;
31 ::ll::TypedStorage<8, 24, ::WeakRef<::IFeature>> mVegetationFeature;
32 ::ll::TypedStorage<4, 4, ::VegetationPatchFeature::Surface> mSurface;
33 ::ll::TypedStorage<4, 8, ::IntRange> mDepth;
34 ::ll::TypedStorage<4, 4, float> mExtraDeepBlockChance;
35 ::ll::TypedStorage<4, 4, int> mVerticalRange;
36 ::ll::TypedStorage<4, 4, float> mVegetationChance;
37 ::ll::TypedStorage<4, 8, ::IntRange> mHorizontalRadius;
38 ::ll::TypedStorage<4, 4, float> mExtraEdgeColumnChance;
39 ::ll::TypedStorage<1, 1, bool> mWaterlogged;
40 // NOLINTEND
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 // vIndex: 0
46 virtual ~VegetationPatchFeature() /*override*/ = default;
47
48 // vIndex: 1
49 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI bool _isExposedDirection(::IBlockWorldGenAPI& target, ::BlockPos const& pos, uchar direction) const;
56
57 MCAPI bool _placeGround(
58 ::IBlockWorldGenAPI& target,
59 ::Random& random,
60 ::BlockPos const& posAtSurface,
61 uchar towardsSurface
62 ) const;
63
64 MCAPI ::std::vector<::BlockPos> _placeGroundPatch(
65 ::IBlockWorldGenAPI& target,
66 ::Random& random,
67 ::BlockPos const& origin,
68 int xRadius,
69 int zRadius
70 ) const;
71 // NOLINTEND
72
73public:
74 // virtual function thunks
75 // NOLINTBEGIN
76 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
77 // NOLINTEND
78
79public:
80 // vftables
81 // NOLINTBEGIN
82 MCNAPI static void** $vftable();
83 // NOLINTEND
84};
Definition BlockPos.h:17
Definition IBlockWorldGenAPI.h:25
Definition IFeature.h:18
Definition Random.h:10
Definition VegetationPatchFeature.h:18
static MCAPI void ** $vftable()
Definition IFeature.h:26
Definition context.h:5