LeviLamina
Loading...
Searching...
No Matches
SnapToSurfaceFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.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;
14// clang-format on
15
16class SnapToSurfaceFeature : public ::IFeature {
17public:
18 // SnapToSurfaceFeature inner types define
19 enum class Surface : int {
20 Ceiling = 0,
21 Floor = 1,
22 RandomHorizontal = 2,
23 };
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 24, ::WeakRef<::IFeature>> mFeatureToSnap;
29 ::ll::TypedStorage<4, 4, int> mVerticalSearchRange;
30 ::ll::TypedStorage<4, 4, ::SnapToSurfaceFeature::Surface> mSurface;
31 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mAllowedSurfaceBlocks;
32 ::ll::TypedStorage<1, 1, bool> mAllowAirPlacement;
33 ::ll::TypedStorage<1, 1, bool> mAllowUnderwaterPlacement;
34 ::ll::TypedStorage<1, 1, bool> mEmbedInSurface;
35 // NOLINTEND
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~SnapToSurfaceFeature() /*override*/ = default;
41
42 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI SnapToSurfaceFeature();
49
50 MCAPI ::std::optional<::BlockPos> _findSnapPos(
51 ::IBlockWorldGenAPI& target,
52 ::BlockPos const& pos,
53 ::SnapToSurfaceFeature::Surface targetSurface
54 ) const;
55 // NOLINTEND
56
57public:
58 // constructor thunks
59 // NOLINTBEGIN
60 MCAPI void* $ctor();
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
67
68
69 // NOLINTEND
70
71public:
72 // vftables
73 // NOLINTBEGIN
74 MCNAPI static void** $vftable();
75 // NOLINTEND
76};
Definition BlockPos.h:21
Definition IBlockWorldGenAPI.h:25
Definition IFeature.h:19
static MCAPI void ** $vftable()
Definition IFeature.h:27
Definition context.h:5