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, 176, ::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 // NOLINTEND
40
41public:
42 // member functions
43 // NOLINTBEGIN
44 MCAPI ::std::optional<::BlockPos> _placeBlockIfPossible(
45 ::BlockSource& region,
46 ::BlockPos const& pos,
47 ::Random& random,
48 ::gsl::span<uchar const> const placementDirections
49 ) const;
50 // NOLINTEND
51
52public:
53 // virtual function thunks
54 // NOLINTBEGIN
55 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
56
57
58 // NOLINTEND
59
60public:
61 // vftables
62 // NOLINTBEGIN
63 MCNAPI static void** $vftable();
64 // NOLINTEND
65};
Definition small_vector.h:8
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition IFeature.h:18
Definition MultifaceFeature.h:17
static MCAPI void ** $vftable()
Definition Random.h:10
Definition IFeature.h:26
Definition context.h:5