LeviLamina
Loading...
Searching...
No Matches
AcaciaTreeTrunk.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/ITreeCanopyWrapper.h"
10#include "mc/world/level/levelgen/feature/helpers/ITreeTrunk.h"
11#include "mc/world/level/levelgen/feature/helpers/tree_helper/AttachableDecoration.h"
12
13// auto generated forward declare list
14// clang-format off
15class BlockPos;
17class ITreeCanopy;
18class Random;
19class RenderParams;
20namespace TreeHelper { struct TreeParams; }
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<4, 4, int> mBaseHeight;
28 ::ll::TypedStorage<4, 4, int> mTrunkWidth;
29 ::ll::TypedStorage<4, 4, int> mMinHeightForCanopy;
30 ::ll::TypedStorage<4, 8, ::IntRange> mLeanHeight;
31 ::ll::TypedStorage<4, 8, ::IntRange> mLeanSteps;
32 ::ll::TypedStorage<4, 8, ::IntRange> mLeanLength;
33 ::ll::TypedStorage<1, 1, bool> mAllowDiagonalGrowth;
34 ::ll::TypedStorage<4, 8, ::IntRange> mBranchLength;
35 ::ll::TypedStorage<4, 8, ::IntRange> mBranchPos;
36 ::ll::TypedStorage<4, 12, ::ChanceInformation> mBranchChance;
37 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mTrunkBlockDescriptor;
38 ::ll::TypedStorage<8, 8, ::ITreeCanopyWrapper> mBranchCanopy;
39 ::ll::TypedStorage<8, 208, ::TreeHelper::AttachableDecoration> mDecoration;
40 ::ll::TypedStorage<8, 24, ::std::vector<int>> mHeightIntervals;
41 // NOLINTEND
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 // vIndex: 0
47 virtual ~AcaciaTreeTrunk() /*override*/ = default;
48
49 // vIndex: 2
50 virtual int getTreeHeight(::Random& random) const /*override*/;
51
52 // vIndex: 1
53 virtual ::std::optional<::BlockPos> placeTrunk(
54 ::IBlockWorldGenAPI& target,
55 ::BlockPos const& pos,
56 ::Random& random,
57 int treeHeight,
58 ::RenderParams& renderParams,
59 ::TreeHelper::TreeParams const& treeParams,
60 ::ITreeCanopy const* canopy
61 ) const /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI void _placeLeaningBranches(
68 ::IBlockWorldGenAPI& target,
69 ::BlockPos const& pos,
70 ::BlockPos const& branchPos,
71 ::Random& random,
72 ::RenderParams& renderParams,
73 int treeHeight,
74 int leanDirection,
75 int leanHeight,
76 ::TreeHelper::TreeParams const& treeParams
77 ) const;
78
79 MCAPI void _placeVerticalBranches(
80 ::IBlockWorldGenAPI& target,
81 ::BlockPos const& pos,
82 ::BlockPos const& branchPos,
83 ::Random& random,
84 ::RenderParams& renderParams,
85 ::TreeHelper::TreeParams const& treeParams
86 ) const;
87 // NOLINTEND
88
89public:
90 // virtual function thunks
91 // NOLINTBEGIN
92 MCAPI int $getTreeHeight(::Random& random) const;
93
94 MCAPI ::std::optional<::BlockPos> $placeTrunk(
95 ::IBlockWorldGenAPI& target,
96 ::BlockPos const& pos,
97 ::Random& random,
98 int treeHeight,
99 ::RenderParams& renderParams,
100 ::TreeHelper::TreeParams const& treeParams,
101 ::ITreeCanopy const* canopy
102 ) const;
103 // NOLINTEND
104
105public:
106 // vftables
107 // NOLINTBEGIN
108 MCNAPI static void** $vftable();
109 // NOLINTEND
110};
Definition AcaciaTreeTrunk.h:23
static MCAPI void ** $vftable()
Definition BlockPos.h:17
Definition IBlockWorldGenAPI.h:25
Definition ITreeCanopy.h:14
Definition ITreeTrunk.h:15
Definition Random.h:10
Definition RenderParams.h:30
Definition TreeParams.h:14