LeviLamina
Loading...
Searching...
No Matches
CommonBlockUtilityServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/ContiguousSelectionType.h"
7#include "mc/legacy/facing/Name.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Block;
13class BlockPos;
14class BlockVolumeBase;
15class BoundingBox;
16class ChunkPos;
18class Dimension;
19class Vec3;
20namespace Editor { class RelativeVolumeListBlockVolume; }
21namespace Editor::BlockMask { class BlockMaskList; }
22// clang-format on
23
24namespace Editor::BlockUtils {
25
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 // vIndex: 0
31 virtual ~CommonBlockUtilityServiceProvider() = default;
32
33 // vIndex: 1
34 virtual ::std::set<::ChunkPos> getChunksFromAABB(::AABB const&) const = 0;
35
36 // vIndex: 2
37 virtual bool isChunkLoaded(::ChunkPos const&) const = 0;
38
39 // vIndex: 3
40 virtual bool isChunkFullyLoaded(::ChunkPos const&) const = 0;
41
42 // vIndex: 4
43 virtual bool areChunksLoaded(::std::set<::ChunkPos> const&) const = 0;
44
45 // vIndex: 5
46 virtual bool isAreaLoaded(::AABB const&) const = 0;
47
48 // vIndex: 6
49 virtual ::Editor::RelativeVolumeListBlockVolume trimVolumeToFitContents(
50 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const,
51 bool,
52 bool,
53 bool,
55 ) = 0;
56
57 // vIndex: 7
58 virtual ::Editor::RelativeVolumeListBlockVolume findObscuredBlocksWithinVolume(
59 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const
60 ) = 0;
61
62 // vIndex: 8
63 virtual ::Editor::RelativeVolumeListBlockVolume shrinkWrapVolume(
64 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const
65 ) = 0;
66
67 // vIndex: 9
68 virtual bool isLocationInsideDimensionBounds(
69 ::std::variant<
70 ::BlockVolumeBase const*,
72 ::Vec3 const*,
73 ::BoundingBox const*,
74 ::BlockPos const*> const
75 ) = 0;
76
77 // vIndex: 10
78 virtual ::CompoundBlockVolume getContiguousSelection(
79 int const,
80 ::Facing::Name const&,
81 ::Vec3 const&,
82 bool const,
83 int const,
84 bool const,
85 ::Editor::BlockUtils::ContiguousSelectionType const&,
86 ::std::vector<::std::string> const&
87 ) const = 0;
88
89 // vIndex: 11
90 virtual bool areBlocksContiguous(
91 ::Editor::BlockUtils::ContiguousSelectionType const&,
92 ::Block const&,
93 ::Block const&,
94 ::std::vector<::std::string> const&
95 ) const = 0;
96
97 // vIndex: 12
98 virtual ::Vec3 getDeltaFromDirection(::Facing::Name const&) const = 0;
99
100 // vIndex: 13
101 virtual ::Vec3 getDimensionMinLocation() const = 0;
102
103 // vIndex: 14
104 virtual ::Vec3 getDimensionMaxLocation() const = 0;
105
106 // vIndex: 15
107 virtual ::BoundingBox getDimensionLocationBoundingBox() const = 0;
108
109 // vIndex: 16
110 virtual ::AABB
111 getBoundForContiguousSelection(::Vec3 const&, ::Facing::Name const&, int const, bool const) const = 0;
112
113 // vIndex: 17
114 virtual bool isBlockExposedInDirection(::Dimension const&, ::Vec3 const&, ::Facing::Name const&) const = 0;
115
116 // vIndex: 18
117 virtual bool isSameBlockType(::Block const&, ::Block const&) const = 0;
118
119 // vIndex: 19
120 virtual bool isSameBlockAndProperties(::Block const&, ::Block const&) const = 0;
121
122 // vIndex: 20
123 virtual bool isBlockTypeInSelectionList(::Block const&, ::std::vector<::std::string> const&) const = 0;
124 // NOLINTEND
125
126public:
127 // virtual function thunks
128 // NOLINTBEGIN
129
130 // NOLINTEND
131};
132
133} // namespace Editor::BlockUtils
Definition AABB.h:18
Definition BlockPos.h:18
Definition BlockVolumeBase.h:13
Definition Block.h:38
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition CompoundBlockVolume.h:16
Definition Dimension.h:83
Definition BlockMaskList.h:7
Definition CommonBlockUtilityServiceProvider.h:26
Definition RelativeVolumeListBlockVolume.h:21
Definition Vec3.h:10