42 CommonBlockUtilityService& operator=(CommonBlockUtilityService
const&);
43 CommonBlockUtilityService(CommonBlockUtilityService
const&);
44 CommonBlockUtilityService();
49 virtual ~CommonBlockUtilityService() ;
51 virtual ::Scripting::Result_deprecated<void> init() ;
53 virtual ::Scripting::Result_deprecated<void> ready() ;
55 virtual ::Scripting::Result_deprecated<void> quit() ;
57 virtual ::std::string_view getServiceName()
const ;
59 virtual ::std::set<::ChunkPos> getChunksFromAABB(
::AABB const& aabb)
const ;
61 virtual bool isChunkLoaded(
::ChunkPos const& pos)
const ;
63 virtual bool isChunkFullyLoaded(
::ChunkPos const& pos)
const ;
65 virtual bool areChunksLoaded(::std::set<::ChunkPos>
const& chunks)
const ;
67 virtual bool isAreaLoaded(
::AABB const& aabb)
const ;
69 virtual ::Editor::RelativeVolumeListBlockVolume trimVolumeToFitContents(
70 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const inVolume,
71 bool retainMarqueeAfterTrimming,
73 bool ignoreNoCollision,
77 virtual ::Editor::RelativeVolumeListBlockVolume findObscuredBlocksWithinVolume(
78 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const inVolume
81 virtual ::Editor::RelativeVolumeListBlockVolume shrinkWrapVolume(
82 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const
85 virtual bool isLocationInsideDimensionBounds(
94 virtual ::Vec3 getDimensionMinLocation()
const ;
96 virtual ::Vec3 getDimensionMaxLocation()
const ;
98 virtual ::BoundingBox getDimensionLocationBoundingBox()
const ;
100 virtual ::Editor::RelativeVolumeListBlockVolume getContiguousSelection(
102 ::Facing::Name
const& selectionDirection,
103 ::Vec3 const& startingLocation,
105 int const fullSelectionToleranceLevel,
106 bool const checkForAdjacentFaceBlocks,
107 ::Editor::BlockUtils::ContiguousSelectionType
const& contiguousSelectionType,
108 ::std::vector<::std::string>
const& contiguousSelectionBlockList
111 virtual bool areBlocksContiguous(
112 ::Editor::BlockUtils::ContiguousSelectionType
const& contiguousSelectionType,
115 ::std::vector<::std::string>
const& allowList
118 virtual ::Vec3 getDeltaFromDirection(::Facing::Name
const& selectionDirection)
const ;
120 virtual ::Scripting::Result_deprecated<void> _implInit() = 0;
122 virtual ::Scripting::Result_deprecated<void> _implReady() = 0;
124 virtual ::Scripting::Result_deprecated<void> _implQuit() = 0;
126 virtual ::AABB getBoundForContiguousSelection(
127 ::Vec3 const& initialLocation,
128 ::Facing::Name
const& selectionDirection,
133 virtual bool isBlockExposedInDirection(
135 ::Vec3 const& targetLocation,
136 ::Facing::Name
const& direction
139 virtual bool isSameBlockType(
::Block const& blockA,
::Block const& blockB)
const ;
141 virtual bool isSameBlockAndProperties(
::Block const& blockA,
::Block const& blockB)
const ;
143 virtual bool isBlockTypeInSelectionList(
::Block const& block, ::std::vector<::std::string>
const& allowList)
const
168 MCNAPI ::Scripting::Result_deprecated<void>
$init();
170 MCNAPI ::Scripting::Result_deprecated<void>
$ready();
172 MCNAPI ::Scripting::Result_deprecated<void>
$quit();
187 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const inVolume,
188 bool retainMarqueeAfterTrimming,
190 bool ignoreNoCollision,
195 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const inVolume
198 MCNAPI ::Editor::RelativeVolumeListBlockVolume
199 $shrinkWrapVolume(::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*>
const);
218 ::Facing::Name
const& selectionDirection,
219 ::Vec3 const& startingLocation,
221 int const fullSelectionToleranceLevel,
222 bool const checkForAdjacentFaceBlocks,
223 ::Editor::BlockUtils::ContiguousSelectionType
const& contiguousSelectionType,
224 ::std::vector<::std::string>
const& contiguousSelectionBlockList
228 ::Editor::BlockUtils::ContiguousSelectionType
const& contiguousSelectionType,
231 ::std::vector<::std::string>
const& allowList
237 ::Vec3 const& initialLocation,
238 ::Facing::Name
const& selectionDirection,
245 ::Vec3 const& targetLocation,
246 ::Facing::Name
const& direction