LeviLamina
Loading...
Searching...
No Matches
MangroveTreeTrunk.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/ITreeCanopy.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 Block;
16class BlockPos;
18class ITreeCanopy;
19class Random;
20class RenderParams;
21namespace TreeHelper { struct TreeParams; }
22// clang-format on
23
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<4, 4, int> mBaseHeight;
29 ::ll::TypedStorage<4, 4, int> mTrunkWidth;
30 ::ll::TypedStorage<4, 4, int> mHeightRandA;
31 ::ll::TypedStorage<4, 4, int> mHeightRandB;
32 ::ll::TypedStorage<4, 8, ::IntRange> mBranchLength;
33 ::ll::TypedStorage<4, 8, ::IntRange> mBranchSteps;
34 ::ll::TypedStorage<4, 12, ::ChanceInformation> mBranchChance;
35 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mTrunkBlockDescriptor;
36 ::ll::TypedStorage<8, 224, ::TreeHelper::AttachableDecoration> mDecoration;
37 ::ll::TypedStorage<8, 24, ::std::vector<int>> mHeightIntervals;
38 // NOLINTEND
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~MangroveTreeTrunk() /*override*/;
44
45 virtual int getTreeHeight(::Random& random) const /*override*/;
46
47 virtual ::std::optional<::BlockPos> placeTrunk(
48 ::IBlockWorldGenAPI& target,
49 ::BlockPos const& pos,
50 ::Random& random,
51 int treeHeight,
52 ::RenderParams& renderParams,
53 ::TreeHelper::TreeParams const& treeParams,
54 ::ITreeCanopy const* canopy
55 ) const /*override*/;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI void _placeBranch(
62 ::IBlockWorldGenAPI& target,
63 ::std::vector<::BlockPos>* canopyAttachmentPositions,
64 ::std::vector<::ITreeCanopy::BranchSize>* canopyAttachmentSizes,
65 ::Random& random,
66 int treeHeight,
67 ::RenderParams& treeParams,
68 ::TreeHelper::TreeParams const& logPos,
69 ::BlockPos& currentHeight,
70 int branchDir,
71 uchar branchPos,
72 int branchSteps,
73 int trunkBlock,
74 ::Block const*
75 ) const;
76 // NOLINTEND
77
78public:
79 // destructor thunk
80 // NOLINTBEGIN
81 MCAPI void $dtor();
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87 MCAPI int $getTreeHeight(::Random& random) const;
88
89 MCAPI ::std::optional<::BlockPos> $placeTrunk(
90 ::IBlockWorldGenAPI& target,
91 ::BlockPos const& pos,
92 ::Random& random,
93 int treeHeight,
94 ::RenderParams& renderParams,
95 ::TreeHelper::TreeParams const& treeParams,
96 ::ITreeCanopy const* canopy
97 ) const;
98
99
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCNAPI static void** $vftable();
106 // NOLINTEND
107};
Definition BlockPos.h:21
Definition Block.h:69
Definition IBlockWorldGenAPI.h:25
Definition ITreeCanopy.h:14
Definition ITreeTrunk.h:15
Definition MangroveTreeTrunk.h:24
static MCAPI void ** $vftable()
Definition Random.h:10
Definition RenderParams.h:30
Definition TreeParams.h:17