LeviLamina
Loading...
Searching...
No Matches
SingleBlockFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/DenseEnumMap.h"
7#include "mc/world/level/levelgen/feature/IFeature.h"
8
9// auto generated forward declare list
10// clang-format off
11class Block;
12class BlockDescriptor;
13class BlockPos;
15// clang-format on
16
18public:
19 // SingleBlockFeature inner types declare
20 // clang-format off
22 // clang-format on
23
24 // SingleBlockFeature inner types define
25 enum class CheckDirection : uchar {
26 Top = 0,
27 Bottom = 1,
28 North = 2,
29 East = 3,
30 South = 4,
31 West = 5,
32 All = 6,
33 Sides = 7,
34 Diagonal = 8,
35 Count = 9,
36 };
37
38 enum class AttachCondition : uchar {
39 MayAttachTo = 0,
40 MayNotAttachTo = 1,
41 };
42
44 public:
45 // member variables
46 // NOLINTBEGIN
49 // NOLINTEND
50
51 public:
52 // prevent constructor by default
56
57 public:
58 // member functions
59 // NOLINTBEGIN
61 // NOLINTEND
62
63 public:
64 // destructor thunk
65 // NOLINTBEGIN
66 MCNAPI void $dtor();
67 // NOLINTEND
68 };
69
70public:
71 // member variables
72 // NOLINTBEGIN
83 // NOLINTEND
84
85public:
86 // prevent constructor by default
87 SingleBlockFeature& operator=(SingleBlockFeature const&);
90
91public:
92 // virtual functions
93 // NOLINTBEGIN
94 // vIndex: 0
95 virtual ~SingleBlockFeature() /*override*/;
96
97 // vIndex: 1
98 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
99 // NOLINTEND
100
101public:
102 // member functions
103 // NOLINTBEGIN
104 MCNAPI ::Block const*
105 _mayAttach(::BlockDescriptor const& blockDescriptor, ::IBlockWorldGenAPI& target, ::BlockPos const& pos) const;
106
107 MCNAPI bool _mayNotAttach(::IBlockWorldGenAPI& target, ::BlockPos const& pos) const;
108 // NOLINTEND
109
110public:
111 // destructor thunk
112 // NOLINTBEGIN
113 MCNAPI void $dtor();
114 // NOLINTEND
115
116public:
117 // virtual function thunks
118 // NOLINTBEGIN
119 MCNAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
120 // NOLINTEND
121
122public:
123 // vftables
124 // NOLINTBEGIN
125 MCNAPI static void** $vftable();
126 // NOLINTEND
127};
Definition BlockDescriptor.h:20
Definition BlockPos.h:18
Definition Block.h:38
Definition IBlockWorldGenAPI.h:25
Definition IFeature.h:13
Definition SingleBlockFeature.h:17
MCAPI::Block const * _mayAttach(::BlockDescriptor const &blockDescriptor, ::IBlockWorldGenAPI &target, ::BlockPos const &pos) const
MCAPI ::std::optional<::BlockPos > $place(::IFeature::PlacementContext const &context) const
static MCAPI void ** $vftable()
MCAPI void $dtor()
MCAPI bool _mayNotAttach(::IBlockWorldGenAPI &target, ::BlockPos const &pos) const
Definition IFeature.h:21
Definition SingleBlockFeature.h:43
Definition context.h:5
Definition Alias.h:14