LeviLamina
Loading...
Searching...
No Matches
ScriptStructureTemplate.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
8#include "mc/deps/scripting/lifetime_registry/WeakLifetimeScope.h"
9#include "mc/deps/scripting/lifetime_registry/WeakTypedObjectHandle.h"
10#include "mc/deps/scripting/runtime/Result.h"
11#include "mc/world/level/levelgen/structure/StructureRedstoneSaveMode.h"
12
13// auto generated forward declare list
14// clang-format off
15class BlockPos;
16class LevelStorage;
18class Vec3;
19namespace ScriptModuleMinecraft { class ScriptBlockPermutation; }
20namespace ScriptModuleMinecraft { class ScriptStructureManager; }
21namespace ScriptModuleMinecraft { struct ScriptInvalidStructureError; }
22namespace Scripting { struct ClassBinding; }
23namespace Scripting { struct EngineError; }
24namespace Scripting { struct EnumBinding; }
25namespace Scripting { struct InvalidArgumentError; }
26// clang-format on
27
28namespace ScriptModuleMinecraft {
29
30class ScriptStructureTemplate {
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 32, ::std::string const> mId;
35 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mStructureManager;
36 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
37 ::ll::TypedStorage<8, 8, ::LevelStorage&> mLevelStorage;
38 ::ll::TypedStorage<8, 32, ::Scripting::WeakTypedObjectHandle<::ScriptModuleMinecraft::ScriptStructureManager>>
39 mScriptStructureManager;
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
44 ScriptStructureTemplate& operator=(ScriptStructureTemplate const&);
45 ScriptStructureTemplate();
46
47public:
48 // member functions
49 // NOLINTBEGIN
50 MCAPI ScriptStructureTemplate(::ScriptModuleMinecraft::ScriptStructureTemplate const&);
51
52 MCAPI ScriptStructureTemplate(
53 ::std::string const& id,
54 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
57 ::LevelStorage& levelStorage
58 );
59
60 MCFOLD ::Scripting::InvalidArgumentError
61 _createBoundsError(int index, ::BlockPos const& pos, ::BlockPos const& size) const;
62
63 MCAPI ::Scripting::Result<
64 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockPermutation>>,
67 getBlockPermutation(::Vec3 const& location) const;
68
69 MCAPI ::Scripting::Result<::Vec3, ::ScriptModuleMinecraft::ScriptInvalidStructureError> getSize() const;
70
71 MCAPI ::Scripting::
72 Result<bool, ::ScriptModuleMinecraft::ScriptInvalidStructureError, ::Scripting::InvalidArgumentError>
73 isWaterlogged(::Vec3 const& location) const;
74
75 MCAPI ::Scripting::Result<
80 saveAs(::std::string const& identifier, ::StructureRedstoneSaveMode saveMode);
81
82 MCAPI ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptInvalidStructureError> saveToWorld();
83
84 MCAPI ::Scripting::
85 Result<void, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptInvalidStructureError>
86 setBlockPermutation(
87 ::Vec3 const& location,
89 blockPermutation,
90 bool waterlogged
91 );
92
93 MCAPI ~ScriptStructureTemplate();
94 // NOLINTEND
95
96public:
97 // static functions
98 // NOLINTBEGIN
99 MCAPI static ::Scripting::ClassBinding bind();
100
101 MCAPI static ::Scripting::EnumBinding bindAnimationModeEnum();
102
103 MCAPI static ::Scripting::EnumBinding bindMirrorEnum();
104
105 MCAPI static ::Scripting::EnumBinding bindRotationEnum();
106
107 MCAPI static ::Scripting::EnumBinding bindStructureSaveModeEnum();
108 // NOLINTEND
109
110public:
111 // constructor thunks
112 // NOLINTBEGIN
113 MCAPI void* $ctor(::ScriptModuleMinecraft::ScriptStructureTemplate const&);
114
115 MCAPI void* $ctor(
116 ::std::string const& id,
117 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
120 ::LevelStorage& levelStorage
121 );
122 // NOLINTEND
123
124public:
125 // destructor thunk
126 // NOLINTBEGIN
127 MCAPI void $dtor();
128 // NOLINTEND
129};
130
131} // namespace ScriptModuleMinecraft
Definition BlockPos.h:21
Definition LevelStorage.h:26
Definition ScriptBlockPermutation.h:24
Definition ScriptStructureManager.h:35
Definition ScriptStructureTemplate.h:30
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:14
Definition WeakTypedObjectHandle.h:8
Definition StructureManager.h:46
Definition Vec3.h:10
Definition ScriptInvalidStructureError.h:15
Definition ClassBinding.h:19
Definition EngineError.h:15
Definition EnumBinding.h:15
Definition InvalidArgumentError.h:17