LeviLamina
Loading...
Searching...
No Matches
GeodeFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BlockDescriptor.h"
7#include "mc/world/level/levelgen/feature/IFeature.h"
8
9// auto generated forward declare list
10// clang-format off
11class Block;
12class BlockPos;
13class BlockSource;
14// clang-format on
15
16class GeodeFeature : public ::IFeature {
17public:
18 // GeodeFeature inner types define
19 enum class BlockType : uchar {
20 StandardSimple = 0,
21 Standard = 1,
22 ExtraSimple = 2,
23 Extra = 3,
24 Count = 4,
25 };
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mFiller;
31 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mInnerLayer;
32 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mAlternateInnerLayer;
33 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mMiddleLayer;
34 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mOuterLayer;
35 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mInnerPlacements;
36 ::ll::TypedStorage<4, 4, int> mMinOuterWallDistance;
37 ::ll::TypedStorage<4, 4, int> mMaxOuterWallDistance;
38 ::ll::TypedStorage<4, 4, int> mMinDistributionPoints;
39 ::ll::TypedStorage<4, 4, int> mMaxDistributionPoints;
40 ::ll::TypedStorage<4, 4, int> mMinPointOffset;
41 ::ll::TypedStorage<4, 4, int> mMaxPointOffset;
42 ::ll::TypedStorage<4, 4, int> mMaxRadius;
43 ::ll::TypedStorage<4, 4, int> mCrackPointOffset;
44 ::ll::TypedStorage<4, 4, float> mGenerateCrackChance;
45 ::ll::TypedStorage<4, 4, float> mBaseCrackSize;
46 ::ll::TypedStorage<4, 4, float> mNoiseMultiplier;
47 ::ll::TypedStorage<4, 4, float> mUsePotentialPlacementsChance;
48 ::ll::TypedStorage<4, 4, float> mUseAlternateLayer0Chance;
49 ::ll::TypedStorage<1, 1, bool> mPlacementsRequireLayer0Alternate;
50 ::ll::TypedStorage<4, 4, int> mInvalidBlocksThreshold;
51 // NOLINTEND
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI GeodeFeature();
63 // NOLINTEND
64
65public:
66 // static functions
67 // NOLINTBEGIN
68 MCAPI static bool canSupportGeode(::Block const& block);
69
70 MCFOLD static bool overlapsWithStructureFeature(::BlockSource const& region, ::BlockPos const& pos);
71 // NOLINTEND
72
73public:
74 // constructor thunks
75 // NOLINTBEGIN
76 MCAPI void* $ctor();
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
83
84
85 // NOLINTEND
86
87public:
88 // vftables
89 // NOLINTBEGIN
90 MCNAPI static void** $vftable();
91 // NOLINTEND
92};
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
static MCAPI void ** $vftable()
Definition IFeature.h:19
Definition IFeature.h:27
Definition context.h:5