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/lifetime_registry/StrongTypedObjectHandle.h"
7#include "mc/deps/scripting/lifetime_registry/WeakHandleFromThis.h"
8#include "mc/deps/scripting/lifetime_registry/WeakLifetimeScope.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;
15class ServerLevel;
17class Vec3;
18namespace ScriptModuleMinecraft { class ScriptDimension; }
19namespace ScriptModuleMinecraft { class ScriptStructureTemplate; }
20namespace ScriptModuleMinecraft { struct ScriptInvalidStructureError; }
21namespace ScriptModuleMinecraft { struct ScriptJigsawPlaceOptions; }
22namespace ScriptModuleMinecraft { struct ScriptJigsawStructurePlaceOptions; }
23namespace ScriptModuleMinecraft { struct ScriptPlaceJigsawError; }
24namespace ScriptModuleMinecraft { struct ScriptStructureCreateOptions; }
25namespace ScriptModuleMinecraft { struct ScriptStructurePlaceOptions; }
26namespace Scripting { struct ArgumentOutOfBoundsError; }
27namespace Scripting { struct ClassBinding; }
28namespace Scripting { struct EngineError; }
29namespace Scripting { struct InvalidArgumentError; }
30// clang-format on
31
32namespace ScriptModuleMinecraft {
33
34class ScriptStructureManager : public ::Scripting::WeakHandleFromThis<::ScriptModuleMinecraft::ScriptStructureManager> {
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
39 ::ll::TypedStorage<8, 8, ::gsl::not_null<::ServerLevel*>> mLevel;
40 ::ll::TypedStorage<
41 8,
42 64,
43 ::std::unordered_map<
44 ::std::string,
46 mStructures;
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 ScriptStructureManager& operator=(ScriptStructureManager const&);
52 ScriptStructureManager();
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI ScriptStructureManager(::ScriptModuleMinecraft::ScriptStructureManager&&);
58
59 MCAPI ScriptStructureManager(::ScriptModuleMinecraft::ScriptStructureManager const&);
60
61 MCAPI ::std::string_view _getPlaceErrorMessage(::std::string_view key) const;
62
63 MCAPI ::StructureTemplate const* _getStructure(
64 ::std::variant<
65 ::std::string,
67 scriptStructureOrName
68 ) const;
69
70 MCAPI ::Scripting::Result<
74 createEmptyStructure(::std::string const& identifier, ::Vec3 const& size, ::StructureRedstoneSaveMode saveMode);
75
76 MCAPI ::Scripting::Result<
79 createStructureFromWorld(
80 ::std::string const& identifier,
82 ::Vec3 const& from,
83 ::Vec3 const& to,
84 ::std::optional<::ScriptModuleMinecraft::ScriptStructureCreateOptions> const& options
85 );
86
87 MCAPI ::Scripting::Result<bool, ::Scripting::InvalidArgumentError> deleteStructure(
88 ::std::variant<
89 ::std::string,
91 scriptStructureOrName
92 );
93
94 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptStructureTemplate>
95 getOrCreateScriptStructure(::StructureTemplate& structureTemplate);
96
97 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptStructureTemplate>>
98 getStructure(::std::string const& identifier);
99
100 MCAPI ::std::vector<::std::string> getWorldStructureIds() const;
101
102 MCAPI ::ScriptModuleMinecraft::ScriptStructureManager& operator=(::ScriptModuleMinecraft::ScriptStructureManager&&);
103
104 MCAPI ::Scripting::Result<::BoundingBox, ::ScriptModuleMinecraft::ScriptPlaceJigsawError> placeJigsaw(
105 ::std::string const& pool,
106 ::std::string const& targetJigsaw,
107 int maxDepth,
109 ::Vec3 const& location,
110 ::std::optional<::ScriptModuleMinecraft::ScriptJigsawPlaceOptions> const& options
111 );
112
113 MCAPI ::Scripting::Result<::BoundingBox, ::ScriptModuleMinecraft::ScriptPlaceJigsawError> placeJigsawStructure(
114 ::std::string const& identifier,
116 ::Vec3 const& location,
117 ::std::optional<::ScriptModuleMinecraft::ScriptJigsawStructurePlaceOptions> const& options
118 );
119
120 MCAPI ::Scripting::Result<
121 void,
125 placeStructure(
126 ::std::variant<
127 ::std::string,
129 scriptStructureOrName,
131 ::Vec3 const& location,
132 ::std::optional<::ScriptModuleMinecraft::ScriptStructurePlaceOptions> const& options
133 );
134
135 MCAPI ::std::optional<::Scripting::InvalidArgumentError> validateIdentifier(::std::string const& identifier) const;
136 // NOLINTEND
137
138public:
139 // static functions
140 // NOLINTBEGIN
141 MCAPI static ::Scripting::ClassBinding bind();
142 // NOLINTEND
143
144public:
145 // constructor thunks
146 // NOLINTBEGIN
148
149 MCAPI void* $ctor(::ScriptModuleMinecraft::ScriptStructureManager const&);
150 // NOLINTEND
151};
152
153} // namespace ScriptModuleMinecraft
Definition BoundingBox.h:13
Definition ScriptDimension.h:71
Definition ScriptStructureManager.h:34
Definition ScriptStructureTemplate.h:29
Definition StrongTypedObjectHandle.h:8
Definition WeakHandleFromThis.h:8
Definition ServerLevel.h:50
Definition StructureTemplate.h:35
Definition Vec3.h:10
Definition ScriptInvalidStructureError.h:15
Definition ScriptJigsawPlaceOptions.h:15
Definition ScriptJigsawStructurePlaceOptions.h:15
Definition ScriptPlaceJigsawError.h:15
Definition ScriptStructureCreateOptions.h:15
Definition ScriptStructurePlaceOptions.h:17
Definition ArgumentOutOfBoundsError.h:15
Definition ClassBinding.h:19
Definition EngineError.h:15
Definition InvalidArgumentError.h:17