LeviLamina
Loading...
Searching...
No Matches
CommandBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/CommandBlockMode.h"
7#include "mc/world/level/block/actor/BaseCommandBlock.h"
8#include "mc/world/level/block/actor/BlockActor.h"
9
10// auto generated forward declare list
11// clang-format off
13class BlockPos;
14class BlockSource;
15class CommandBlock;
16class CompoundTag;
17class DataLoadHelper;
18class ILevel;
19class Player;
20class SaveContext;
21namespace Bedrock::Safety { class RedactableString; }
22// clang-format on
23
24class CommandBlockActor : public ::BlockActor {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 192, ::BaseCommandBlock> mBaseCB;
29 ::ll::TypedStorage<1, 1, bool> mPowered;
30 ::ll::TypedStorage<1, 1, bool> mConditionMet;
31 ::ll::TypedStorage<1, 1, bool> mRedstoneMode;
32 ::ll::TypedStorage<1, 1, bool> mLastPerformedConditionalMode;
33 ::ll::TypedStorage<1, 1, bool> mLastPerformedRedstoneMode;
34 ::ll::TypedStorage<1, 1, bool> mExecuteFirstTickOnPlace;
35 ::ll::TypedStorage<2, 2, ::CommandBlockMode> mLastPerformedCBMode;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 CommandBlockActor();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
46
47 virtual void saveBlockData(::CompoundTag& tag, ::BlockSource& region) const /*override*/;
48
49 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
50
51 virtual void
52 loadBlockData(::CompoundTag const& tag, ::BlockSource& region, ::DataLoadHelper& dataLoadHelper) /*override*/;
53
54 virtual void onCustomTagLoadDone(::BlockSource& region) /*override*/;
55
56 virtual void onChanged(::BlockSource& region) /*override*/;
57
58 virtual void onPlace(::BlockSource& region) /*override*/;
59
60 virtual ::Bedrock::Safety::RedactableString const& getCustomName() const /*override*/;
61
62 virtual void setCustomName(::Bedrock::Safety::RedactableString const& str) /*override*/;
63
64 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource& region) /*override*/;
65
66 virtual void _onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region) /*override*/;
67
68 virtual bool _playerCanUpdate(::Player const& player) const /*override*/;
69
70 virtual ~CommandBlockActor() /*override*/ = default;
71 // NOLINTEND
72
73public:
74 // member functions
75 // NOLINTBEGIN
76 MCAPI CommandBlockActor(::BlockPos const& pos, ::CommandBlockMode mode);
77
78 MCAPI void _setAutomatic(::BlockSource& region, bool alwaysActive, ::CommandBlockMode currentMode);
79
80 MCAPI ::CommandBlock const* getCommandBlock(::BlockSource& region) const;
81
82 MCAPI bool getConditionalMode(::BlockSource& region) const;
83
84 MCAPI bool markConditionMet(::BlockSource& region);
85
86 MCAPI bool performCommand(::BlockSource& region);
87
88 MCAPI void updateBlock(
89 ::BlockSource& region,
90 ::std::string const& cmd,
92 ::CommandBlockMode newMode,
93 bool isConditional,
94 bool redstoneMode,
95 bool trackOutput,
96 int tickDelay,
97 bool executeFirstTick
98 );
99 // NOLINTEND
100
101public:
102 // constructor thunks
103 // NOLINTBEGIN
104 MCAPI void* $ctor(::BlockPos const& pos, ::CommandBlockMode mode);
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
111
112 MCAPI void $saveBlockData(::CompoundTag& tag, ::BlockSource& region) const;
113
114 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
115
116 MCAPI void $loadBlockData(::CompoundTag const& tag, ::BlockSource& region, ::DataLoadHelper& dataLoadHelper);
117
118 MCAPI void $onCustomTagLoadDone(::BlockSource& region);
119
120 MCFOLD void $onChanged(::BlockSource& region);
121
122 MCAPI void $onPlace(::BlockSource& region);
123
124 MCFOLD ::Bedrock::Safety::RedactableString const& $getCustomName() const;
125
126 MCAPI void $setCustomName(::Bedrock::Safety::RedactableString const& str);
127
128 MCAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource& region);
129
130 MCAPI void $_onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region);
131
132 MCAPI bool $_playerCanUpdate(::Player const& player) const;
133
134
135 // NOLINTEND
136
137public:
138 // vftables
139 // NOLINTBEGIN
140 MCAPI static void** $vftable();
141 // NOLINTEND
142};
Definition RedactableString.h:10
Definition BlockActorDataPacket.h:19
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition CommandBlock.h:26
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition ILevel.h:214
Definition Player.h:125
Definition SaveContext.h:5