LeviLamina
Loading...
Searching...
No Matches
IFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockPos.h"
7#include "mc/world/level/levelgen/feature/FeaturePlacementFailureLogProxy.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockDescriptor;
13class Random;
14class RenderParams;
15class SemVersion;
16// clang-format on
17
18class IFeature {
19public:
20 // IFeature inner types declare
21 // clang-format off
22 struct PlacementContext;
23 // clang-format on
24
25 // IFeature inner types define
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::IBlockWorldGenAPI&> mTarget;
31 ::ll::TypedStorage<4, 12, ::BlockPos> mPos;
32 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
33 ::ll::TypedStorage<8, 8, ::RenderParams&> mRenderParams;
34 ::ll::TypedStorage<8, 8, ::FeaturePlacementFailureLogProxy> mLogger;
35 // NOLINTEND
36
37 public:
38 // prevent constructor by default
39 PlacementContext& operator=(PlacementContext const&);
42 };
43
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<1, 1, bool> mInternal;
48 ::ll::TypedStorage<1, 1, bool> mCanUseInternalFeature;
49 // NOLINTEND
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 // vIndex: 0
55 virtual ~IFeature();
56
57 // vIndex: 1
58 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const&) const = 0;
59
60 // vIndex: 2
61 virtual bool isValidPlacement(::std::string const& pass);
62
63 // vIndex: 3
64 virtual void upgradeFormat(::SemVersion const&);
65 // NOLINTEND
66
67public:
68 // static functions
69 // NOLINTBEGIN
70 MCAPI static bool
71 isExposedTo(::IBlockWorldGenAPI const& target, ::BlockPos const& candidatePos, ::BlockDescriptor const& exposedTo);
72 // NOLINTEND
73
74public:
75 // static variables
76 // NOLINTBEGIN
77 MCAPI static ::std::string_view const& DEFAULT_NOT_SUPPORTED_PASS();
78 // NOLINTEND
79
80public:
81 // destructor thunk
82 // NOLINTBEGIN
83 MCFOLD void $dtor();
84 // NOLINTEND
85
86public:
87 // virtual function thunks
88 // NOLINTBEGIN
89 MCAPI bool $isValidPlacement(::std::string const& pass);
90
91 MCFOLD void $upgradeFormat(::SemVersion const&);
92 // NOLINTEND
93
94public:
95 // vftables
96 // NOLINTBEGIN
97 MCNAPI static void** $vftable();
98 // NOLINTEND
99};
Definition BlockDescriptor.h:20
Definition BlockPos.h:14
Definition IBlockWorldGenAPI.h:25
Definition IFeature.h:18
static MCAPI void ** $vftable()
Definition Random.h:14
Definition RenderParams.h:30
Definition SemVersion.h:16
Definition IFeature.h:26