LeviLamina
Loading...
Searching...
No Matches
MultipartBlockColumnFeature.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/util/WeightedChoices.h"
8#include "mc/world/level/block/BlockDescriptor.h"
9#include "mc/world/level/levelgen/feature/IFeature.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
14// clang-format on
15
17public:
18 // MultipartBlockColumnFeature inner types declare
19 // clang-format off
20 struct WeightedHeight;
21 // clang-format on
22
23 // MultipartBlockColumnFeature inner types define
24 struct WeightedHeight {};
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mTipBlockDescriptor;
30 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mFrustumBlockDescriptor;
31 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mMiddleBlockDescriptor;
32 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mBaseBlockDescriptor;
33 ::ll::TypedStorage<4, 8, ::IntRange> mHeightRange;
34 ::ll::TypedStorage<8, 24, ::WeightedChoices<int>> mWeightedHeights;
35 ::ll::TypedStorage<1, 1, uchar> mDirection;
36 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mMayPlaceOn;
37 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mMayReplace;
38 // NOLINTEND
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~MultipartBlockColumnFeature() /*override*/ = default;
44
45 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
46 // NOLINTEND
47
48public:
49 // virtual function thunks
50 // NOLINTBEGIN
51 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
52
53
54 // NOLINTEND
55};
Definition BlockPos.h:17
Definition IFeature.h:18
Definition MultipartBlockColumnFeature.h:16
Definition IFeature.h:26
Definition MultipartBlockColumnFeature.h:24
Definition context.h:5