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
23class AcaciaTreeTrunk : public ::ITreeTrunk {
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, 176, ::BlockDescriptor> mTrunkBlockDescriptor;
38 ::ll::TypedStorage<8, 8, ::ITreeCanopyWrapper> mBranchCanopy;
39 ::ll::TypedStorage<8, 224, ::TreeHelper::AttachableDecoration> mDecoration;
40 ::ll::TypedStorage<8, 24, ::std::vector<int>> mHeightIntervals;
41 // NOLINTEND
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual ~AcaciaTreeTrunk() /*override*/;
47
48 virtual int getTreeHeight(::Random& random) const /*override*/;
49
50 virtual ::std::optional<::BlockPos> placeTrunk(
51 ::IBlockWorldGenAPI& target,
52 ::BlockPos const& pos,
53 ::Random& random,
54 int treeHeight,
55 ::RenderParams& renderParams,
56 ::TreeHelper::TreeParams const& treeParams,
57 ::ITreeCanopy const* canopy
58 ) const /*override*/;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI AcaciaTreeTrunk();
65
66 MCAPI void _placeLeaningBranches(
67 ::IBlockWorldGenAPI& target,
68 ::BlockPos const& pos,
69 ::BlockPos const& branchPos,
70 ::Random& random,
71 ::RenderParams& renderParams,
72 int treeHeight,
73 int leanDirection,
74 int leanHeight,
75 ::TreeHelper::TreeParams const& treeParams
76 ) const;
77
78 MCAPI void _placeVerticalBranches(
79 ::IBlockWorldGenAPI& target,
80 ::BlockPos const& pos,
81 ::BlockPos const& branchPos,
82 ::Random& random,
83 ::RenderParams& renderParams,
84 ::TreeHelper::TreeParams const& treeParams
85 ) const;
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCAPI void* $ctor();
92 // NOLINTEND
93
94public:
95 // destructor thunk
96 // NOLINTBEGIN
97 MCAPI void $dtor();
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCAPI int $getTreeHeight(::Random& random) const;
104
105 MCAPI ::std::optional<::BlockPos> $placeTrunk(
106 ::IBlockWorldGenAPI& target,
107 ::BlockPos const& pos,
108 ::Random& random,
109 int treeHeight,
110 ::RenderParams& renderParams,
111 ::TreeHelper::TreeParams const& treeParams,
112 ::ITreeCanopy const* canopy
113 ) const;
114
115
116 // NOLINTEND
117
118public:
119 // vftables
120 // NOLINTBEGIN
121 MCNAPI static void** $vftable();
122 // NOLINTEND
123};
static MCAPI void ** $vftable()
Definition BlockPos.h:21
Definition IBlockWorldGenAPI.h:25
Definition ITreeCanopy.h:14
Definition ITreeTrunk.h:15
Definition Random.h:10
Definition RenderParams.h:30
Definition TreeParams.h:17