LeviLamina
Loading...
Searching...
No Matches
PortalShape.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/legacy/facing/Name.h"
7#include "mc/world/level/BlockPos.h"
8#include "mc/world/level/block/PortalAxis.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockSource;
13class Vec3;
15// clang-format on
16
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<4, 4, ::PortalAxis> mAxis;
22 ::ll::TypedStorage<1, 1, ::Facing::Name> mRightDir;
23 ::ll::TypedStorage<1, 1, ::Facing::Name> mLeftDir;
24 ::ll::TypedStorage<4, 4, int> mNumPortalBlocks;
25 ::ll::TypedStorage<4, 12, ::BlockPos> mBottomLeft;
26 ::ll::TypedStorage<1, 1, bool> mBottomLeftValid;
27 ::ll::TypedStorage<4, 4, int> mHeight;
28 ::ll::TypedStorage<4, 4, int> mWidth;
29 // NOLINTEND
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI int _calculatePortalHeight(::BlockSource const& source);
35
36 MCAPI void createPortalBlocks(::WorldChangeTransaction& transaction) const;
37
38 MCAPI void evaluate(::BlockPos const& originalPosition, ::BlockSource const& source);
39
40 MCAPI void removePortalBlocks(::WorldChangeTransaction& transaction, ::BlockPos const& firstPortalPosition) const;
41
42 MCAPI void updateNeighboringBlocks(::BlockSource& source, ::Vec3 const& perpendicularAxis) const;
43 // NOLINTEND
44};
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition PortalShape.h:17
Definition Vec3.h:10
Definition WorldChangeTransaction.h:12