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 Block;
12class BlockPos;
13class BlockSource;
14class Random;
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 virtual ~Feature() /*override*/;
30
31 virtual bool place(::BlockSource&, ::BlockPos const&, ::Random&) const = 0;
32
33 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
34 // NOLINTEND
35
36public:
37 // member functions
38 // NOLINTBEGIN
39 MCAPI bool _placeBlock(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
40 // NOLINTEND
41
42public:
43 // destructor thunk
44 // NOLINTBEGIN
45 MCFOLD void $dtor();
46 // NOLINTEND
47
48public:
49 // virtual function thunks
50 // NOLINTBEGIN
51 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
52
53
54 // NOLINTEND
55
56public:
57 // vftables
58 // NOLINTBEGIN
59 MCNAPI static void** $vftable();
60 // NOLINTEND
61};
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Feature.h:18
static MCAPI void ** $vftable()
Definition IFeature.h:18
Definition Random.h:10
Definition WorldChangeTransaction.h:12
Definition IFeature.h:26
Definition context.h:5