LeviLamina
Loading...
Searching...
No Matches
StructureUtils.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/Rotation.h"
7
8// auto generated forward declare list
9// clang-format off
10class AABB;
11class BlockPos;
12class BlockSource;
13class BoundingBox;
14class Level;
18class Vec3;
19// clang-format on
20
21namespace gametest::StructureUtils {
22// functions
23// NOLINTBEGIN
24MCAPI void AddCommandBlockAndButtonToStartTest(
25 ::BlockPos const& structureBlockPos,
26 ::Rotation,
27 ::BlockPos const& commandBlockPosRelativeToTestPos,
28 ::std::string const& testName,
29 ::BlockSource& region
30);
31
32MCAPI void ClearSpaceForStructure(::BoundingBox const& structureBoundingBox, int structureYPos, ::BlockSource& region);
33
34MCAPI void CreateNewEmptyStructureBlock(
35 ::std::string const& testName,
36 ::BlockPos const& structurePos,
37 ::BlockPos const& size,
38 ::Rotation rotation,
39 ::BlockSource& region
40);
41
42MCAPI ::std::optional<::BlockPos>
43FindStructureBlockContainingPos(::BlockPos const& pos, int searchRadius, ::BlockSource& region);
44
45MCAPI ::std::vector<::BlockPos>
46FindStructureBlocks(::BlockPos const& centerPos, int searchRadius, ::BlockSource& region);
47
48MCAPI ::AABB GetStructureBounds(::StructureBlockActor const& structureBlockActor);
49
50MCAPI ::StructureEditorData GetStructureEditorData(::StructureTemplate const& structure, ::Rotation const& rotation);
51
52MCAPI ::Vec3
53GetStructureRelativePos(::BlockPos const& structureBlockPos, ::Vec3 const& worldPos, ::Vec3 pivot, ::Rotation rotation);
54
55MCAPI ::StructureTemplate* GetStructureTemplate(::std::string const& structureName, ::Level& level);
56
57MCAPI ::StructureBlockActor* SpawnStructure(
58 ::std::string const& structureName,
59 ::BlockPos const& northWestCorner,
60 ::Rotation rotation,
61 int,
62 ::BlockSource& region
63);
64// NOLINTEND
65
66} // namespace gametest::StructureUtils
Definition AABB.h:18
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BoundingBox.h:13
Definition Level.h:243
Definition StructureBlockActor.h:22
Definition StructureEditorData.h:18
Definition StructureTemplate.h:32
Definition Vec3.h:10