LeviLamina
Loading...
Searching...
No Matches
BlockMultiBlockDelayedPlacement.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/world/level/BlockPos.h"
8#include "mc/world/level/chunk/IRequestAction.h"
9
10// auto generated forward declare list
11// clang-format off
12class Block;
14class BlockSource;
15class CompoundTag;
16class Dimension;
18class ServerLevel;
19// clang-format on
20
21class BlockMultiBlockDelayedPlacement : public ::IRequestAction {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<4, 12, ::BlockPos> mFirstPartPos;
26 ::ll::TypedStorage<1, 1, uchar> mDirection;
27 ::ll::TypedStorage<1, 1, uchar> mPartCount;
28 ::ll::TypedStorage<8, 8, ::Block const&> mFirstPart;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 BlockMultiBlockDelayedPlacement& operator=(BlockMultiBlockDelayedPlacement const&);
34 BlockMultiBlockDelayedPlacement(BlockMultiBlockDelayedPlacement const&);
35 BlockMultiBlockDelayedPlacement();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual void execute(::ServerLevel&, ::Dimension& dimension) /*override*/;
41
42 virtual void serialize(::CompoundTag& tag) /*override*/;
43
44 virtual bool operator==(::IRequestAction const& action) const /*override*/;
45 // NOLINTEND
46
47public:
48 // static functions
49 // NOLINTBEGIN
50 MCAPI static bool isValidTag(::CompoundTag const& tag);
51
52 MCAPI static ::std::unique_ptr<::BlockMultiBlockDelayedPlacement>
53 load(::CompoundTag const& tag, ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry> unknownBlockTypeRegistry);
54
55 MCAPI static bool tryQueueOrExecuteAction(
56 ::BlockSource const& region,
57 ::Block const& blockToPlace,
58 ::BlockPos const& pos,
59 bool isClientSide,
60 ::BlockChangeContext const& blockChangeContext
61 );
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67 MCAPI void $execute(::ServerLevel&, ::Dimension& dimension);
68
69 MCAPI void $serialize(::CompoundTag& tag);
70
71
72 // NOLINTEND
73};
Definition NonOwnerPointer.h:9
Definition BlockChangeContext.h:10
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition CompoundTag.h:18
Definition Dimension.h:86
Definition IRequestAction.h:12
Definition IUnknownBlockTypeRegistry.h:14
Definition ServerLevel.h:57