LeviLamina
Loading...
Searching...
No Matches
MangroveTreeRoots.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/ChanceInformation.h"
7#include "mc/util/IntRange.h"
8#include "mc/world/level/block/BlockDescriptor.h"
9#include "mc/world/level/levelgen/feature/helpers/ITreeRoot.h"
10#include "mc/world/level/levelgen/feature/helpers/tree_helper/AttachableDecoration.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockPos;
16class Random;
17class RenderParams;
18namespace TreeHelper { struct TreeParams; }
19// clang-format on
20
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<4, 4, int> mMaxRootWidth;
26 ::ll::TypedStorage<4, 4, int> mMaxRootLength;
27 ::ll::TypedStorage<4, 8, ::IntRange> mYOffset;
28 ::ll::TypedStorage<4, 12, ::ChanceInformation> mAboveRootBlockChance;
29 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mRootBlockDescriptor;
30 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mAboveRootBlockDescriptor;
31 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mMuddyRootBlockDescriptor;
32 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mMudBlockDescriptor;
33 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mRootsMayGrowThrough;
34 ::ll::TypedStorage<8, 208, ::TreeHelper::AttachableDecoration> mDecoration;
35 // NOLINTEND
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~MangroveTreeRoots() /*override*/ = default;
41
42 virtual ::std::optional<::BlockPos> placeRoots(
43 ::IBlockWorldGenAPI& target,
44 ::BlockPos const& pos,
45 ::Random& random,
46 int trunkHeight,
48 ::TreeHelper::TreeParams const& treeParams
49 ) const /*override*/;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI bool _canPlaceRoot(::IBlockWorldGenAPI& target, ::BlockPos const& pos) const;
56
57 MCAPI void _placeRoot(::IBlockWorldGenAPI& target, ::BlockPos const& pos, ::Random& random) const;
58
59 MCAPI ::std::vector<::BlockPos>
60 _potentialRootPositions(::BlockPos const& pos, uchar prevDir, ::Random& random, ::BlockPos const& origin) const;
61
62 MCAPI bool _simulateRoots(
63 ::IBlockWorldGenAPI& target,
64 ::Random& random,
65 ::BlockPos const& rootPos,
66 ::BlockPos const& newOrigin,
67 uchar dir,
68 ::std::vector<::BlockPos>* rootPositions,
69 int layer,
70 ::TreeHelper::TreeParams const& treeParams
71 ) const;
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCAPI ::std::optional<::BlockPos> $placeRoots(
78 ::IBlockWorldGenAPI& target,
79 ::BlockPos const& pos,
80 ::Random& random,
81 int trunkHeight,
83 ::TreeHelper::TreeParams const& treeParams
84 ) const;
85
86
87 // NOLINTEND
88
89public:
90 // vftables
91 // NOLINTBEGIN
92 MCNAPI static void** $vftable();
93 // NOLINTEND
94};
Definition BlockPos.h:19
Definition IBlockWorldGenAPI.h:25
Definition ITreeRoot.h:14
Definition MangroveTreeRoots.h:21
static MCAPI void ** $vftable()
Definition Random.h:10
Definition RenderParams.h:30
Definition TreeParams.h:14