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