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/world/level/levelgen/feature/IFeature.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockPos;
12class BlockSource;
13class Random;
15struct ActorUniqueID;
16// clang-format on
17
18class Feature : public ::IFeature {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mPlacerID;
23 ::ll::TypedStorage<8, 8, ::WorldChangeTransaction*> mTransaction;
24 // NOLINTEND
25
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 // vIndex: 0
30 virtual ~Feature() /*override*/;
31
32 // vIndex: 4
33 virtual bool place(::BlockSource&, ::BlockPos const&, ::Random&) const = 0;
34
35 // vIndex: 1
36 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
37 // NOLINTEND
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCAPI bool _placeBlock(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
43 // NOLINTEND
44
45public:
46 // destructor thunk
47 // NOLINTBEGIN
48 MCFOLD void $dtor();
49 // NOLINTEND
50
51public:
52 // virtual function thunks
53 // NOLINTBEGIN
54 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
55 // NOLINTEND
56
57public:
58 // vftables
59 // NOLINTBEGIN
60 MCAPI static void** $vftable();
61 // NOLINTEND
62};
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition Feature.h:18
Definition IFeature.h:13
Definition Random.h:16
Definition WorldChangeTransaction.h:12
Definition ActorUniqueID.h:5
Definition IFeature.h:21
Definition context.h:5