25 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mLeavesBlockDescriptor;
26 ::ll::TypedStorage<4, 8, ::IntRange> mHeight;
27 ::ll::TypedStorage<4, 8, ::IntRange> mRadius;
28 ::ll::TypedStorage<4, 4, int> mTrunkWidth;
29 ::ll::TypedStorage<4, 12, ::ChanceInformation> mWideBottomLayerHoleChance;
30 ::ll::TypedStorage<4, 12, ::ChanceInformation> mCornerHoleChance;
31 ::ll::TypedStorage<4, 12, ::ChanceInformation> mHangingLeavesChance;
32 ::ll::TypedStorage<4, 12, ::ChanceInformation> mHangingLeavesExtensionChance;
42 virtual ::std::optional<::BlockPos> placeCanopy(
48 ::std::vector<::BlockPos>
const&
55 MCAPI
void _placeLayerOfLeaves(
65 MCAPI
void _placeLayerOfLeavesWithHangingLeavesBelow(
75 MCAPI
bool _shouldSkipPosition(
::Random& random,
::BlockPos const& pos,
int radius)
const;
81 MCAPI ::std::optional<::BlockPos> $placeCanopy(
87 ::std::vector<::BlockPos>
const&