LeviLamina
Loading...
Searching...
No Matches
MultifaceFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/small_vector.h"
7#include "mc/world/level/block/BlockDescriptor.h"
8#include "mc/world/level/levelgen/feature/IFeature.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13class BlockSource;
14class Random;
15// clang-format on
16
18public:
19 // MultifaceFeature inner types define
20 using ShuffledFaces = ::Bedrock::small_vector<uchar, 6>;
21
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mBlock;
26 ::ll::TypedStorage<4, 4, int> mSearchRange;
27 ::ll::TypedStorage<1, 1, bool> mCanPlaceOnFloor;
28 ::ll::TypedStorage<1, 1, bool> mCanPlaceOnCeiling;
29 ::ll::TypedStorage<1, 1, bool> mCanPlaceOnWall;
30 ::ll::TypedStorage<4, 4, float> mChanceOfSpreading;
31 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mCanBePlacedOn;
32 ::ll::TypedStorage<8, 24, ::std::vector<uchar>> mValidDirections;
33 // NOLINTEND
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
39
40 virtual ~MultifaceFeature() /*override*/ = default;
41 // NOLINTEND
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI ::std::optional<::BlockPos> _placeBlockIfPossible(
47 ::BlockSource& region,
48 ::BlockPos const& pos,
49 ::Random& random,
50 ::gsl::span<uchar const> placementDirections
51 ) const;
52 // NOLINTEND
53
54public:
55 // virtual function thunks
56 // NOLINTBEGIN
57 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
58
59
60 // NOLINTEND
61
62public:
63 // vftables
64 // NOLINTBEGIN
65 MCNAPI static void** $vftable();
66 // NOLINTEND
67};
Definition small_vector.h:8
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition IFeature.h:18
Definition MultifaceFeature.h:17
static MCAPI void ** $vftable()
Definition Random.h:10
Definition IFeature.h:26
Definition context.h:5