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/ITreeTrunk.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 ITreeCanopy;
17class Random;
18class RenderParams;
19namespace TreeHelper { struct TreeParams; }
20// clang-format on
21
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<4, 4, int> mBaseHeight;
27 ::ll::TypedStorage<4, 4, int> mTrunkWidth;
28 ::ll::TypedStorage<4, 4, int> mHeightRandA;
29 ::ll::TypedStorage<4, 4, int> mHeightRandB;
30 ::ll::TypedStorage<4, 8, ::IntRange> mBranchLength;
31 ::ll::TypedStorage<4, 8, ::IntRange> mBranchSteps;
32 ::ll::TypedStorage<4, 12, ::ChanceInformation> mBranchChance;
33 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mTrunkBlockDescriptor;
34 ::ll::TypedStorage<8, 224, ::TreeHelper::AttachableDecoration> mDecoration;
35 ::ll::TypedStorage<8, 24, ::std::vector<int>> mHeightIntervals;
36 // NOLINTEND
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ~MangroveTreeTrunk() /*override*/ = default;
42
43 virtual int getTreeHeight(::Random& random) const /*override*/;
44
45 virtual ::std::optional<::BlockPos> placeTrunk(
46 ::IBlockWorldGenAPI& target,
47 ::BlockPos const& pos,
48 ::Random& random,
49 int treeHeight,
50 ::RenderParams& renderParams,
51 ::TreeHelper::TreeParams const& treeParams,
52 ::ITreeCanopy const* canopy
53 ) const /*override*/;
54 // NOLINTEND
55
56public:
57 // virtual function thunks
58 // NOLINTBEGIN
59 MCAPI int $getTreeHeight(::Random& random) const;
60
61 MCAPI ::std::optional<::BlockPos> $placeTrunk(
62 ::IBlockWorldGenAPI& target,
63 ::BlockPos const& pos,
64 ::Random& random,
65 int treeHeight,
66 ::RenderParams& renderParams,
67 ::TreeHelper::TreeParams const& treeParams,
68 ::ITreeCanopy const* canopy
69 ) const;
70
71
72 // NOLINTEND
73
74public:
75 // vftables
76 // NOLINTBEGIN
77 MCNAPI static void** $vftable();
78 // NOLINTEND
79};
Definition BlockPos.h:19
Definition IBlockWorldGenAPI.h:25
Definition ITreeCanopy.h:14
Definition ITreeTrunk.h:15
Definition MangroveTreeTrunk.h:22
static MCAPI void ** $vftable()
Definition Random.h:10
Definition RenderParams.h:30
Definition TreeParams.h:14