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/block/BlockDescriptor.h"
8#include "mc/world/level/levelgen/feature/IFeature.h"
9
10// auto generated forward declare list
11// clang-format off
12class Block;
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
45
47 public:
48 // member variables
49 // NOLINTBEGIN
50 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mBlockDescriptor;
51 ::ll::TypedStorage<4, 4, float> mWeight;
52 // NOLINTEND
53
54 public:
55 // member functions
56 // NOLINTBEGIN
58 // NOLINTEND
59
60 public:
61 // destructor thunk
62 // NOLINTBEGIN
63 MCFOLD void $dtor();
64 // NOLINTEND
65 };
66
67public:
68 // member variables
69 // NOLINTBEGIN
70 ::ll::TypedStorage<8, 24, ::std::vector<::SingleBlockFeature::WeightedBlockDescriptor>> mPossibleBlocks;
71 ::ll::TypedStorage<
72 8,
73 216,
75 mMayAttachTo;
76 ::ll::TypedStorage<
77 8,
78 216,
80 mMayNotAttachTo;
81 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mMayReplace;
82 ::ll::TypedStorage<4, 4, int> mMinAttachedSides;
83 ::ll::TypedStorage<1, 1, bool> mEnforcePlacementRules;
84 ::ll::TypedStorage<1, 1, bool> mEnforceSurvivabilityRules;
85 ::ll::TypedStorage<1, 1, bool> mAutoRotate;
86 ::ll::TypedStorage<1, 1, bool> mRandomRotation;
87 ::ll::TypedStorage<1, 1, bool> mEnforceAttachmentRules;
88 // NOLINTEND
89
90public:
91 // virtual functions
92 // NOLINTBEGIN
93 // vIndex: 0
94 virtual ~SingleBlockFeature() /*override*/;
95
96 // vIndex: 1
97 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
98 // NOLINTEND
99
100public:
101 // member functions
102 // NOLINTBEGIN
103 MCAPI ::Block const*
104 _mayAttach(::BlockDescriptor const& blockDescriptor, ::IBlockWorldGenAPI& target, ::BlockPos const& pos) const;
105
106 MCAPI bool _mayNotAttach(::IBlockWorldGenAPI& target, ::BlockPos const& pos) const;
107 // NOLINTEND
108
109public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCAPI void $dtor();
113 // NOLINTEND
114
115public:
116 // virtual function thunks
117 // NOLINTBEGIN
118 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCNAPI static void** $vftable();
125 // NOLINTEND
126};
Definition DenseEnumMap.h:8
Definition BlockDescriptor.h:20
Definition BlockPos.h:17
Definition Block.h:37
Definition IBlockWorldGenAPI.h:25
Definition IFeature.h:18
Definition SingleBlockFeature.h:17
static MCAPI void ** $vftable()
Definition IFeature.h:26
Definition SingleBlockFeature.h:46
Definition context.h:5