LeviLamina
Loading...
Searching...
No Matches
ScriptBlockComponents.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/deps/script_core/lifetime_registry/scripting/StrongTypedObjectHandle.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
12class BlockSource;
13namespace ScriptModuleMinecraft { class BaseScriptBlockComponent; }
14namespace ScriptModuleMinecraft { class IScriptBlockComponentFactory; }
15namespace ScriptModuleMinecraft { class IScriptBlockCustomComponentReader; }
16namespace ScriptModuleMinecraft { class ScriptBlockPermutation; }
17namespace ScriptModuleMinecraft { class ScriptComponentTypeEnumBuilder; }
18namespace Scripting { class ModuleBindingBuilder; }
19namespace Scripting { class WeakLifetimeScope; }
20namespace Scripting { struct Version; }
21// clang-format on
22
23namespace ScriptModuleMinecraft {
24
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<
30 8,
31 64,
32 ::std::
33 unordered_map<::std::string_view, ::std::shared_ptr<::ScriptModuleMinecraft::IScriptBlockComponentFactory>>>
34 mNativeFactories;
35 ::ll::TypedStorage<8, 16, ::WeakRef<::ScriptModuleMinecraft::IScriptBlockCustomComponentReader const>>
36 mCustomComponentReader;
37 // NOLINTEND
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCAPI ::std::unordered_map<
43 ::std::string_view,
44 ::std::shared_ptr<::ScriptModuleMinecraft::IScriptBlockComponentFactory>> const&
45 getOrCreateBlockComponentFactories() const;
46
47 MCAPI ::std::vector<::std::string_view> getSupportedComponentIds(
49 bool includeCustom
50 ) const;
51
52 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>
53 tryCreateComponent(
54 ::std::string_view componentName,
55 ::BlockSource& region,
56 ::BlockPos position,
58 bool allowCustomComponent
59 ) const;
60 // NOLINTEND
61
62public:
63 // static functions
64 // NOLINTBEGIN
65 MCAPI static void bind(
67 ::Scripting::Version const& scriptingVersion,
69 ::std::shared_ptr<::ScriptModuleMinecraft::ScriptBlockComponents> const& blockComponents
70 );
71 // NOLINTEND
72};
73
74} // namespace ScriptModuleMinecraft
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition BaseScriptBlockComponent.h:18
Definition IScriptBlockComponentFactory.h:21
Definition IScriptBlockCustomComponentReader.h:18
Definition ScriptBlockComponents.h:25
Definition ScriptBlockPermutation.h:22
Definition ScriptComponentTypeEnumBuilder.h:18
Definition ModuleBindingBuilder.h:22
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:7
Definition Version.h:7