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 // vIndex: 0
41 virtual ~MangroveTreeRoots() /*override*/ = default;
42
43 // vIndex: 1
44 virtual ::std::optional<::BlockPos> placeRoots(
45 ::IBlockWorldGenAPI& target,
46 ::BlockPos const& pos,
47 ::Random& random,
48 int trunkHeight,
50 ::TreeHelper::TreeParams const& treeParams
51 ) const /*override*/;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI bool _canPlaceRoot(::IBlockWorldGenAPI& target, ::BlockPos const& pos) const;
58
59 MCAPI void _placeRoot(::IBlockWorldGenAPI& target, ::BlockPos const& pos, ::Random& random) const;
60
61 MCAPI ::std::vector<::BlockPos>
62 _potentialRootPositions(::BlockPos const& pos, uchar prevDir, ::Random& random, ::BlockPos const& origin) const;
63
64 MCAPI bool _simulateRoots(
65 ::IBlockWorldGenAPI& target,
66 ::Random& random,
67 ::BlockPos const& rootPos,
68 ::BlockPos const& newOrigin,
69 uchar dir,
70 ::std::vector<::BlockPos>* rootPositions,
71 int layer,
72 ::TreeHelper::TreeParams const& treeParams
73 ) const;
74 // NOLINTEND
75
76public:
77 // virtual function thunks
78 // NOLINTBEGIN
79 MCAPI ::std::optional<::BlockPos> $placeRoots(
80 ::IBlockWorldGenAPI& target,
81 ::BlockPos const& pos,
82 ::Random& random,
83 int trunkHeight,
85 ::TreeHelper::TreeParams const& treeParams
86 ) const;
87 // NOLINTEND
88
89public:
90 // vftables
91 // NOLINTBEGIN
92 MCNAPI static void** $vftable();
93 // NOLINTEND
94};
Definition BlockPos.h:17
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