LeviLamina
Loading...
Searching...
No Matches
BlockCustomComponentsComponent.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/scripting/modules/minecraft/ScriptCustomComponentParameterCacheHandle.h"
8#include "mc/scripting/modules/minecraft/events/ScriptCustomComponentToExecute.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockType;
13class HashedString;
15namespace ScriptModuleMinecraft { class ScriptBlockCustomComponentInterface; }
16namespace ScriptModuleMinecraft { class ScriptBlockCustomComponentsRegistry; }
17namespace ScriptModuleMinecraft { class ScriptCustomComponentParameterCache; }
18// clang-format on
19
21public:
22 // BlockCustomComponentsComponent inner types declare
23 // clang-format off
25 // clang-format on
26
27 // BlockCustomComponentsComponent inner types define
28 struct ExecutableComponent {
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 8, ::HashedString const&> mName;
33 ::ll::TypedStorage<8, 16, ::ScriptModuleMinecraft::ScriptCustomComponentParameterCacheHandle const> mData;
34 ::ll::TypedStorage<8, 8, ::gsl::not_null<::ScriptModuleMinecraft::ScriptBlockCustomComponentInterface const*>>
35 mComponent;
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 ExecutableComponent& operator=(ExecutableComponent const&);
41 ExecutableComponent(ExecutableComponent const&);
42 ExecutableComponent();
43 };
44
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<1, 1, bool> mIsCustomComponentsV1;
49 ::ll::TypedStorage<1, 1, bool> mHasPlayerInteractEvent;
50 ::ll::TypedStorage<1, 1, bool> mHasPlayerPlacingEvent;
51 ::ll::TypedStorage<8, 16, ::WeakRef<::ScriptModuleMinecraft::ScriptBlockCustomComponentsRegistry>> mScriptRegistry;
52 ::ll::TypedStorage<8, 24, ::std::vector<::BlockCustomComponentData>> mCustomComponentData;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI ::std::vector<::BlockCustomComponentsComponent::ExecutableComponent> _gatherComponentsToExecute() const;
59
60 MCAPI void finalize(
63 );
64
65 MCFOLD bool hasPlayerInteractEvent() const;
66
67 MCFOLD bool hasPlayerPlacingEvent() const;
68
69 MCFOLD bool isV1() const;
70
73 void>>
74 tryGetComponentsToExecute(::BlockType const& baseBlock) const;
75 // NOLINTEND
76};
Definition BlockCustomComponentsComponent.h:20
Definition BlockType.h:84
Definition HashedString.h:5
Definition ScriptBlockCustomComponentInterface.h:10
Definition ScriptBlockCustomComponentsRegistry.h:62
Definition ScriptCustomComponentParameterCache.h:21
Definition ScriptCustomComponentToExecute.h:8
Definition WeakRef.h:8
Definition BlockCustomComponentData.h:10
Definition BlockCustomComponentsComponent.h:28