LeviLamina
Loading...
Searching...
No Matches
ScriptStructureManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/binding_type/ClassBindingBuilder.h"
7#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
8#include "mc/deps/scripting/lifetime_registry/WeakHandleFromThis.h"
9#include "mc/deps/scripting/runtime/Result.h"
10#include "mc/world/level/levelgen/structure/StructureRedstoneSaveMode.h"
11
12// auto generated forward declare list
13// clang-format off
14class BoundingBox;
16class Vec3;
17namespace ScriptModuleMinecraft { class ScriptDimension; }
18namespace ScriptModuleMinecraft { class ScriptStructureTemplate; }
19namespace ScriptModuleMinecraft { struct ScriptInvalidStructureError; }
20namespace ScriptModuleMinecraft { struct ScriptJigsawPlaceOptions; }
21namespace ScriptModuleMinecraft { struct ScriptJigsawStructurePlaceOptions; }
22namespace ScriptModuleMinecraft { struct ScriptPlaceJigsawError; }
23namespace ScriptModuleMinecraft { struct ScriptStructureCreateOptions; }
24namespace ScriptModuleMinecraft { struct ScriptStructurePlaceOptions; }
25namespace Scripting { struct ArgumentOutOfBoundsError; }
26namespace Scripting { struct EngineError; }
27namespace Scripting { struct InvalidArgumentError; }
28// clang-format on
29
30namespace ScriptModuleMinecraft {
31
32class ScriptStructureManager : public ::Scripting::WeakHandleFromThis<::ScriptModuleMinecraft::ScriptStructureManager> {
33public:
34 // member variables
35 // NOLINTBEGIN
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
45
46public:
47 // member functions
48 // NOLINTBEGIN
50
52
53 MCAPI ::std::string_view _getPlaceErrorMessage(::std::string_view key) const;
54
55 MCAPI ::StructureTemplate const*
56 _getStructure(::std::variant<
57 ::std::string,
59 scriptStructureOrName) const;
60
61 MCAPI ::Scripting::Result<
65 createEmptyStructure(::std::string const& identifier, ::Vec3 const& size, ::StructureRedstoneSaveMode saveMode);
66
67 MCAPI ::Scripting::Result<
70 createStructureFromWorld(
71 ::std::string const& identifier,
73 ::Vec3 const& from,
74 ::Vec3 const& to,
75 ::std::optional<::ScriptModuleMinecraft::ScriptStructureCreateOptions> const& options
76 );
77
78 MCAPI ::Scripting::Result<bool, ::Scripting::InvalidArgumentError>
79 deleteStructure(::std::variant<
80 ::std::string,
82 scriptStructureOrName);
83
84 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptStructureTemplate>
85 getOrCreateScriptStructure(::StructureTemplate& structureTemplate);
86
87 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptStructureTemplate>>
88 getStructure(::std::string const& identifier);
89
90 MCAPI ::std::vector<::std::string> getWorldStructureIds() const;
91
92 MCAPI ::ScriptModuleMinecraft::ScriptStructureManager& operator=(::ScriptModuleMinecraft::ScriptStructureManager&&);
93
94 MCAPI ::Scripting::Result<::BoundingBox, ::ScriptModuleMinecraft::ScriptPlaceJigsawError> placeJigsaw(
95 ::std::string const& pool,
96 ::std::string const& targetJigsaw,
97 int maxDepth,
99 ::Vec3 const& location,
100 ::std::optional<::ScriptModuleMinecraft::ScriptJigsawPlaceOptions> const& options
101 );
102
103 MCAPI ::Scripting::Result<::BoundingBox, ::ScriptModuleMinecraft::ScriptPlaceJigsawError> placeJigsawStructure(
104 ::std::string const& identifier,
106 ::Vec3 const& location,
107 ::std::optional<::ScriptModuleMinecraft::ScriptJigsawStructurePlaceOptions> const& options
108 );
109
110 MCAPI ::Scripting::Result<
111 void,
115 placeStructure(
116 ::std::variant<
117 ::std::string,
119 scriptStructureOrName,
121 ::Vec3 const& location,
122 ::std::optional<::ScriptModuleMinecraft::ScriptStructurePlaceOptions> const& options
123 );
124
125 MCAPI ::std::optional<::Scripting::InvalidArgumentError> validateIdentifier(::std::string const& identifier) const;
126 // NOLINTEND
127
128public:
129 // static functions
130 // NOLINTBEGIN
131 MCAPI static ::Scripting::ClassBindingBuilder<::ScriptModuleMinecraft::ScriptStructureManager> bind();
132 // NOLINTEND
133
134public:
135 // constructor thunks
136 // NOLINTBEGIN
138
139 MCAPI void* $ctor(::ScriptModuleMinecraft::ScriptStructureManager const&);
140 // NOLINTEND
141};
142
143} // namespace ScriptModuleMinecraft
Definition BoundingBox.h:18
Definition ScriptStructureManager.h:32
Definition StrongTypedObjectHandle.h:8
Definition WeakHandleFromThis.h:8
Definition StructureTemplate.h:32
Definition Vec3.h:10
Definition ScriptInvalidStructureError.h:11
Definition ArgumentOutOfBoundsError.h:10
Definition EngineError.h:10
Definition InvalidArgumentError.h:11
Definition Alias.h:14