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;
13namespace BlockTrait { class IConnectionUpdateCallback; }
14// clang-format on
15
17public:
18 // BlockConnectionComponent inner types declare
19 // clang-format off
21 struct ConnectionData;
22 // clang-format on
23
24 // BlockConnectionComponent inner types define
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Block const*>> mBlock;
30 ::ll::TypedStorage<4, 4, int> mUpdateFlags;
31 // NOLINTEND
32 };
33
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<2, 2, ::NeighborBlockDirections> mDirections;
39 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BlockTrait::IConnectionUpdateCallback>> mUpdateCallback;
40 ::ll::TypedStorage<4, 4, int> mUpdateFlags;
41 // NOLINTEND
42 };
43
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<8, 24, ::std::vector<::BlockConnectionComponent::ConnectionData>> mConnectionData;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI ::Block const& handleConnectionUpdate(
54 ::BlockSource& region,
55 ::Block const& block,
56 ::BlockPos const& pos,
57 ::NeighborBlockDirections neighborDirections
58 ) const;
59 // NOLINTEND
60};
Definition BlockConnectionComponent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition Block.h:38
Definition NeighborBlockDirections.h:13
Definition BlockConnectionComponent.h:25
Definition BlockConnectionComponent.h:34