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/scripting/lifetime_registry/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
25class ScriptBlockComponents {
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 // prevent constructor by default
41 ScriptBlockComponents();
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI explicit ScriptBlockComponents(
48 );
49
50 MCAPI ::std::unordered_map<
51 ::std::string_view,
52 ::std::shared_ptr<::ScriptModuleMinecraft::IScriptBlockComponentFactory>> const&
53 getOrCreateBlockComponentFactories() const;
54
55 MCAPI ::std::vector<::std::string_view> getSupportedComponentIds(
57 bool includeCustom
58 ) const;
59
60 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::BaseScriptBlockComponent>>
61 tryCreateComponent(
62 ::std::string_view componentName,
63 ::BlockSource& region,
64 ::BlockPos position,
66 bool allowCustomComponent
67 ) const;
68 // NOLINTEND
69
70public:
71 // static functions
72 // NOLINTBEGIN
73 MCAPI static void bind(
75 ::Scripting::Version const& scriptingVersion,
77 ::std::shared_ptr<::ScriptModuleMinecraft::ScriptBlockComponents> const& blockComponents
78 );
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCFOLD void*
86 // NOLINTEND
87};
88
89} // namespace ScriptModuleMinecraft
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition BaseScriptBlockComponent.h:20
Definition IScriptBlockComponentFactory.h:21
Definition IScriptBlockCustomComponentReader.h:18
Definition ScriptBlockPermutation.h:24
Definition ScriptComponentTypeEnumBuilder.h:18
Definition ModuleBindingBuilder.h:27
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:7
Definition WeakRef.h:8
Definition Version.h:7