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