LeviLamina
Loading...
Searching...
No Matches
Feature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/legacy/ActorUniqueID.h"
7#include "mc/world/level/levelgen/feature/IFeature.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockPos;
14class BlockSource;
15class Random;
17// clang-format on
18
19class Feature : public ::IFeature {
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mPlacerID;
24 ::ll::TypedStorage<8, 8, ::WorldChangeTransaction*> mTransaction;
25 // NOLINTEND
26
27public:
28 // prevent constructor by default
29 Feature();
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual ~Feature() /*override*/;
35
36 virtual bool place(::BlockSource& region, ::BlockPos const& origin, ::Random& random) const = 0;
37
38 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
39 // NOLINTEND
40
41public:
42 // member functions
43 // NOLINTBEGIN
44 MCAPI explicit Feature(::Actor* placer);
45
46 MCAPI bool _placeBlock(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
47
48 MCAPI void _setManuallyPlaced(::Actor* placer);
49 // NOLINTEND
50
51public:
52 // constructor thunks
53 // NOLINTBEGIN
54 MCAPI void* $ctor(::Actor* placer);
55 // NOLINTEND
56
57public:
58 // destructor thunk
59 // NOLINTBEGIN
60 MCFOLD void $dtor();
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 Actor.h:123
Definition BlockPos.h:21
Definition BlockSource.h:72
Definition Block.h:69
static MCAPI void ** $vftable()
Definition IFeature.h:19
Definition Random.h:10
Definition WorldChangeTransaction.h:13
Definition IFeature.h:27
Definition context.h:5