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 LevelStorage;
17class Vec3;
18namespace ScriptModuleMinecraft { class ScriptBlockPermutation; }
19namespace ScriptModuleMinecraft { class ScriptStructureManager; }
20namespace ScriptModuleMinecraft { struct ScriptInvalidStructureError; }
21namespace Scripting { struct ClassBinding; }
22namespace Scripting { struct EngineError; }
23namespace Scripting { struct EnumBinding; }
24namespace Scripting { struct InvalidArgumentError; }
25// clang-format on
26
27namespace ScriptModuleMinecraft {
28
29class ScriptStructureTemplate {
30public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 32, ::std::string const> mId;
34 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mStructureManager;
35 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
36 ::ll::TypedStorage<8, 8, ::LevelStorage&> mLevelStorage;
37 ::ll::TypedStorage<8, 32, ::Scripting::WeakTypedObjectHandle<::ScriptModuleMinecraft::ScriptStructureManager>>
38 mScriptStructureManager;
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
43 ScriptStructureTemplate& operator=(ScriptStructureTemplate const&);
44 ScriptStructureTemplate(ScriptStructureTemplate const&);
45 ScriptStructureTemplate();
46
47public:
48 // member functions
49 // NOLINTBEGIN
50 MCAPI ScriptStructureTemplate(
51 ::std::string const& id,
52 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
55 ::LevelStorage& levelStorage
56 );
57
58 MCAPI ::Scripting::Result<
59 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockPermutation>>,
62 getBlockPermutation(::Vec3 const& location) const;
63
64 MCAPI ::Scripting::Result<::Vec3, ::ScriptModuleMinecraft::ScriptInvalidStructureError> getSize() const;
65
66 MCAPI ::Scripting::
67 Result<bool, ::ScriptModuleMinecraft::ScriptInvalidStructureError, ::Scripting::InvalidArgumentError>
68 isWaterlogged(::Vec3 const& location) const;
69
70 MCAPI ::Scripting::Result<
75 saveAs(::std::string const& identifier, ::StructureRedstoneSaveMode saveMode);
76
77 MCAPI ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptInvalidStructureError> saveToWorld();
78
79 MCAPI ::Scripting::
80 Result<void, ::Scripting::InvalidArgumentError, ::ScriptModuleMinecraft::ScriptInvalidStructureError>
81 setBlockPermutation(
82 ::Vec3 const& location,
84 blockPermutation,
85 bool waterlogged
86 );
87 // NOLINTEND
88
89public:
90 // static functions
91 // NOLINTBEGIN
92 MCAPI static ::Scripting::ClassBinding bind();
93
94 MCAPI static ::Scripting::EnumBinding bindAnimationModeEnum();
95
96 MCAPI static ::Scripting::EnumBinding bindMirrorEnum();
97
98 MCAPI static ::Scripting::EnumBinding bindRotationEnum();
99
100 MCAPI static ::Scripting::EnumBinding bindStructureSaveModeEnum();
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCAPI void* $ctor(
107 ::std::string const& id,
108 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
111 ::LevelStorage& levelStorage
112 );
113 // NOLINTEND
114};
115
116} // namespace ScriptModuleMinecraft
Definition LevelStorage.h:25
Definition ScriptBlockPermutation.h:23
Definition ScriptStructureManager.h:34
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:7
Definition WeakTypedObjectHandle.h:8
Definition StructureManager.h:45
Definition Vec3.h:10
Definition ScriptInvalidStructureError.h:15
Definition ClassBinding.h:19
Definition EngineError.h:15
Definition EnumBinding.h:15
Definition InvalidArgumentError.h:17