LeviLamina
Loading...
Searching...
No Matches
BlockConnectionComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/NeighborBlockDirections.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockPos;
12class BlockSource;
13class BlockType;
14namespace BlockTrait { class IConnectionUpdateCallback; }
15// clang-format on
16
18public:
19 // BlockConnectionComponent inner types declare
20 // clang-format off
22 struct ConnectionData;
23 // clang-format on
24
25 // BlockConnectionComponent inner types define
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Block const*>> mBlock;
31 ::ll::TypedStorage<4, 4, int> mUpdateFlags;
32 // NOLINTEND
33 };
34
36 public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<2, 2, ::NeighborBlockDirections> mDirections;
40 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BlockTrait::IConnectionUpdateCallback>> mUpdateCallback;
41 ::ll::TypedStorage<4, 4, int> mUpdateFlags;
42 // NOLINTEND
43 };
44
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 24, ::std::vector<::BlockConnectionComponent::ConnectionData>> mConnectionData;
49 // NOLINTEND
50
51public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI void addCallback(
55 ::BlockType& blockType,
56 ::NeighborBlockDirections const& neighborBlockDirections,
57 ::std::unique_ptr<::BlockTrait::IConnectionUpdateCallback> callback,
58 int updateFlags
59 );
60
61 MCAPI ::Block const& handleConnectionUpdate(
62 ::BlockSource& region,
63 ::Block const& block,
64 ::BlockPos const& pos,
65 ::NeighborBlockDirections const& neighborDirections
66 ) const;
67 // NOLINTEND
68};
Definition BlockConnectionComponent.h:17
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition IConnectionUpdateCallback.h:15
Definition BlockType.h:79
Definition Block.h:41
Definition NeighborBlockDirections.h:14
Definition BlockConnectionComponent.h:26
Definition BlockConnectionComponent.h:35