LeviLamina
Loading...
Searching...
No Matches
StructureTemplateFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/Rotation.h"
7#include "mc/world/Direction.h"
8#include "mc/world/level/levelgen/feature/IFeature.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
16// clang-format on
17
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 8, ::StructureTemplate*> mStructure;
23 ::ll::TypedStorage<4, 4, int> mAdjustmentRadius;
24 ::ll::TypedStorage<1, 1, ::Direction::Type> mFaceDirection;
25 ::ll::TypedStorage<1, 1, bool> mRotateAroundCenter;
26 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::IStructureConstraint>>> mConstraints;
27 // NOLINTEND
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~StructureTemplateFeature() /*override*/ = default;
33
34 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
35 // NOLINTEND
36
37public:
38 // member functions
39 // NOLINTBEGIN
40 MCAPI bool _findStructurePos(
41 ::IBlockWorldGenAPI const& target,
42 ::BlockPos const& pos,
43 ::Rotation const& structureRot,
44 ::BlockPos& structurePos
45 ) const;
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:21
Definition IBlockWorldGenAPI.h:25
Definition IFeature.h:19
Definition IStructureConstraint.h:14
Definition StructureTemplateFeature.h:18
static MCAPI void ** $vftable()
Definition StructureTemplate.h:35
Definition IFeature.h:27
Definition context.h:5