Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
PoplarTreeCanopy.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/IntRange.h"
7#include "mc/world/level/block/BlockDescriptor.h"
8#include "mc/world/level/levelgen/feature/helpers/ITreeCanopy.h"
9
10// auto generated forward declare list
11// clang-format off
12class Block;
13class BlockPos;
15class Random;
16class RenderParams;
17namespace TreeHelper { struct TreeParams; }
18// clang-format on
19
21public:
22 // PoplarTreeCanopy inner types declare
23 // clang-format off
24 struct WeightedInt;
25 // clang-format on
26
27 // PoplarTreeCanopy inner types define
28 struct WeightedInt {
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<4, 4, int> mValue;
33 ::ll::TypedStorage<4, 4, int> mWeight;
34 // NOLINTEND
35 };
36
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mLeavesBlockDescriptor;
41 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mBranchBlockDescriptor;
42 ::ll::TypedStorage<8, 24, ::std::vector<::PoplarTreeCanopy::WeightedInt>> mWeightedRadius;
43 ::ll::TypedStorage<4, 8, ::IntRange> mHeight;
44 ::ll::TypedStorage<4, 4, float> mSideHoleChance;
45 ::ll::TypedStorage<4, 4, int> mTrunkWidth;
46 // NOLINTEND
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual ::std::optional<::BlockPos> placeCanopy(
52 ::IBlockWorldGenAPI& target,
53 ::BlockPos const& origin,
54 ::ITreeCanopy::BranchSize const& trunkSize,
55 ::Random& random,
57 ::TreeHelper::TreeParams const& treeParams,
58 int,
59 ::std::vector<::ITreeCanopy::AttachmentInfo> const&
60 ) const /*override*/;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
67 ::IBlockWorldGenAPI& target,
68 ::Block const& leavesBlock,
69 ::TreeHelper::TreeParams const& treeParams,
70 ::BlockPos const& origin,
71 ::Random& random,
72 int foliageHeight,
73 int currentRadius,
74 int y,
75 bool flipRhombusShape,
76 bool isDoubleTrunk
77 ) const;
78 // NOLINTEND
79
80public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCNAPI ::std::optional<::BlockPos> $placeCanopy(
84 ::IBlockWorldGenAPI& target,
85 ::BlockPos const& origin,
86 ::ITreeCanopy::BranchSize const& trunkSize,
87 ::Random& random,
89 ::TreeHelper::TreeParams const& treeParams,
90 int,
91 ::std::vector<::ITreeCanopy::AttachmentInfo> const&
92 ) const;
93
94
95 // NOLINTEND
96};
Definition BlockPos.h:14
Definition Block.h:42
Definition IBlockWorldGenAPI.h:25
Definition ITreeCanopy.h:16
Definition PoplarTreeCanopy.h:20
MCAPI ::std::optional<::BlockPos > $placeCanopy(::IBlockWorldGenAPI &target, ::BlockPos const &origin, ::ITreeCanopy::BranchSize const &trunkSize, ::Random &random, ::RenderParams &, ::TreeHelper::TreeParams const &treeParams, int, ::std::vector<::ITreeCanopy::AttachmentInfo > const &) const
MCAPI void _placeLayerOfLeaves(::IBlockWorldGenAPI &target, ::Block const &leavesBlock, ::TreeHelper::TreeParams const &treeParams, ::BlockPos const &origin, ::Random &random, int foliageHeight, int currentRadius, int y, bool flipRhombusShape, bool isDoubleTrunk) const
Definition Random.h:10
Definition RenderParams.h:29
Definition ITreeCanopy.h:25
Definition PoplarTreeCanopy.h:28
Definition TreeParams.h:17