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
12class BlockActorDataPacket;
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
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
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 // vIndex: 2
46 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
47
48 // vIndex: 4
49 virtual void saveBlockData(::CompoundTag& tag, ::BlockSource& region) const /*override*/;
50
51 // vIndex: 1
52 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
53
54 // vIndex: 5
55 virtual void
56 loadBlockData(::CompoundTag const& tag, ::BlockSource& region, ::DataLoadHelper& dataLoadHelper) /*override*/;
57
58 // vIndex: 6
59 virtual void onCustomTagLoadDone(::BlockSource& region) /*override*/;
60
61 // vIndex: 10
62 virtual void onChanged(::BlockSource& region) /*override*/;
63
64 // vIndex: 11
65 virtual void onPlace(::BlockSource& region) /*override*/;
66
67 // vIndex: 24
68 virtual ::Bedrock::Safety::RedactableString const& getCustomName() const /*override*/;
69
70 // vIndex: 26
71 virtual void setCustomName(::Bedrock::Safety::RedactableString const& str) /*override*/;
72
73 // vIndex: 41
74 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource& region) /*override*/;
75
76 // vIndex: 42
77 virtual void _onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region) /*override*/;
78
79 // vIndex: 43
80 virtual bool _playerCanUpdate(::Player const& player) const /*override*/;
81
82 // vIndex: 0
83 virtual ~CommandBlockActor() /*override*/ = default;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI CommandBlockActor(::BlockPos const& pos, ::CommandBlockMode mode);
90
91 MCAPI void _setAutomatic(::BlockSource& region, bool alwaysActive, ::CommandBlockMode currentMode);
92
93 MCAPI ::CommandBlock const* getCommandBlock(::BlockSource& region) const;
94
95 MCAPI bool getConditionalMode(::BlockSource& region) const;
96
97 MCAPI bool markConditionMet(::BlockSource& region);
98
99 MCAPI void markForSaving(::BlockSource& region);
100
101 MCAPI void markForSaving(::BlockSource& region, int oldSuccessCount, bool oldConditionMet);
102
103 MCAPI bool performCommand(::BlockSource& region);
104
105 MCAPI void updateBlock(
106 ::BlockSource& region,
107 ::std::string const& cmd,
109 ::CommandBlockMode newMode,
110 bool isConditional,
111 bool redstoneMode,
112 bool trackOutput,
113 int tickDelay,
114 bool executeFirstTick
115 );
116 // NOLINTEND
117
118public:
119 // constructor thunks
120 // NOLINTBEGIN
121 MCAPI void* $ctor(::BlockPos const& pos, ::CommandBlockMode mode);
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
128
129 MCAPI void $saveBlockData(::CompoundTag& tag, ::BlockSource& region) const;
130
131 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
132
133 MCAPI void $loadBlockData(::CompoundTag const& tag, ::BlockSource& region, ::DataLoadHelper& dataLoadHelper);
134
135 MCAPI void $onCustomTagLoadDone(::BlockSource& region);
136
137 MCFOLD void $onChanged(::BlockSource& region);
138
139 MCAPI void $onPlace(::BlockSource& region);
140
141 MCFOLD ::Bedrock::Safety::RedactableString const& $getCustomName() const;
142
143 MCAPI void $setCustomName(::Bedrock::Safety::RedactableString const& str);
144
145 MCAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource& region);
146
147 MCAPI void $_onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region);
148
149 MCAPI bool $_playerCanUpdate(::Player const& player) const;
150 // NOLINTEND
151
152public:
153 // vftables
154 // NOLINTBEGIN
155 MCAPI static void** $vftable();
156 // NOLINTEND
157};
Definition RedactableString.h:10
Definition BlockActor.h:32
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition CommandBlockActor.h:24
Definition CommandBlock.h:26
Definition CompoundTag.h:13
Definition DataLoadHelper.h:20
Definition ILevel.h:207
Definition Player.h:123
Definition SaveContext.h:5