LeviLamina
Loading...
Searching...
No Matches
BlockMultiBlockComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/v1_26_10/block/MultiBlockPart.h"
7#include "mc/platform/brstd/function_ref.h"
8#include "mc/world/level/block/components/EventRespondingComponent.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Block;
14class BlockPos;
15class CircuitSystem;
16struct BlockPart;
17namespace BlockEvents { class BlockBreakEvent; }
18// clang-format on
19
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<1, 1, uchar> mDirection;
25 ::ll::TypedStorage<1, 1, uchar> mPartCount;
26 // NOLINTEND
27
28public:
29 // member functions
30 // NOLINTBEGIN
31 MCAPI bool forEachPart(::Block const& part, ::brstd::function_ref<bool(::BlockPart const&)> callback) const;
32
33 MCAPI bool forEachPartInWorldSpace(
34 ::Block const& part,
35 ::BlockPos const& partPos,
36 ::brstd::function_ref<bool(::BlockPart const&)> callback
37 ) const;
38
39#ifdef LL_PLAT_C
40 MCAPI ::AABB getOutlineShape(::Block const& part, ::BlockPos const& partWorldPos) const;
41#endif
42
43 MCAPI void onEvent(::BlockEvents::BlockBreakEvent& event) const;
44 // NOLINTEND
45
46public:
47 // static functions
48 // NOLINTBEGIN
49 MCAPI static ::SharedTypes::v1_26_10::MultiBlockPart getMultiBlockPartId(::Block const& part);
50
51 MCAPI static void
52 setupRedstoneConsumerComponent(::Block const& block, ::BlockPos const& pos, ::CircuitSystem& circuitSystem);
53 // NOLINTEND
54};
Definition AABB.h:18
Definition BlockBreakEvent.h:17
Definition BlockMultiBlockComponent.h:20
Definition BlockPos.h:19
Definition Block.h:43
Definition CircuitSystem.h:15
Definition function_ref.h:60
Definition BlockPart.h:14
Definition EventRespondingComponent.h:10