Skip to content
LeviMC
English
AutoLightDark
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/VanillaBlockActor.h"
9
10// auto generated forward declare list
11// clang-format off
13class BlockSource;
14class CompoundTag;
15class DataLoadHelper;
16class ILevel;
17class Player;
18class SaveContext;
19namespace Bedrock::Safety { class RedactableString; }
20// clang-format on
21
22class CommandBlockActor : public ::VanillaBlockActor {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 192, ::BaseCommandBlock> mBaseCB;
27 ::ll::TypedStorage<1, 1, bool> mPowered;
28 ::ll::TypedStorage<1, 1, bool> mConditionMet;
29 ::ll::TypedStorage<1, 1, bool> mRedstoneMode;
30 ::ll::TypedStorage<1, 1, bool> mLastPerformedConditionalMode;
31 ::ll::TypedStorage<1, 1, bool> mLastPerformedRedstoneMode;
32 ::ll::TypedStorage<1, 1, bool> mExecuteFirstTickOnPlace;
33 ::ll::TypedStorage<2, 2, ::CommandBlockMode> mLastPerformedCBMode;
34 // NOLINTEND
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
40
41 virtual void saveBlockData(::CompoundTag& tag, ::BlockSource& region) const /*override*/;
42
43 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
44
45 virtual void
46 loadBlockData(::CompoundTag const& tag, ::BlockSource& region, ::DataLoadHelper& dataLoadHelper) /*override*/;
47
48 virtual void onCustomTagLoadDone(::BlockSource& region) /*override*/;
49
50 virtual void onChanged(::BlockSource& region) /*override*/;
51
52 virtual void onPlace(::BlockSource& region) /*override*/;
53
54 virtual ::Bedrock::Safety::RedactableString const& getCustomName() const /*override*/;
55
56 virtual void setCustomName(::Bedrock::Safety::RedactableString const& str) /*override*/;
57
58 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource& region) /*override*/;
59
60 virtual void _onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region) /*override*/;
61
62 virtual bool _playerCanUpdate(::Player const& player) const /*override*/;
63 // NOLINTEND
64
65public:
66 // member functions
67 // NOLINTBEGIN
68 MCNAPI bool getConditionalMode(::BlockSource& region) const;
69
70#ifdef LL_PLAT_C
71 MCNAPI ::std::string getLastOutput() const;
72#endif
73
74 MCNAPI bool markConditionMet(::BlockSource& region);
75
76 MCNAPI bool performCommand(::BlockSource& region);
77
78 MCNAPI void setAutomatic(::BlockSource& region, bool automatic, ::CommandBlockMode oldMode);
79
80 MCNAPI void updateBlock(
81 ::BlockSource& region,
82 ::std::string const& cmd,
84 ::CommandBlockMode newMode,
85 bool isConditional,
86 bool redstoneMode,
87 bool trackOutput,
88 int tickDelay,
89 bool executeFirstTick
90 );
91 // NOLINTEND
92
93public:
94 // virtual function thunks
95 // NOLINTBEGIN
96 MCNAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
97
98 MCNAPI void $saveBlockData(::CompoundTag& tag, ::BlockSource& region) const;
99
100 MCNAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
101
102 MCNAPI void $loadBlockData(::CompoundTag const& tag, ::BlockSource& region, ::DataLoadHelper& dataLoadHelper);
103
105
106 MCNAPI void $onChanged(::BlockSource& region);
107
108 MCNAPI void $onPlace(::BlockSource& region);
109
110 MCNAPI ::Bedrock::Safety::RedactableString const& $getCustomName() const;
111
113
114 MCNAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource& region);
115
116 MCNAPI void $_onUpdatePacket(::CompoundTag const& tag, ::BlockSource& region);
117
118 MCNAPI bool $_playerCanUpdate(::Player const& player) const;
119
120
121 // NOLINTEND
122
123public:
124 // vftables
125 // NOLINTBEGIN
127
129
130 MCNAPI static void** $vftableForBlockActor();
131
133 // NOLINTEND
134};
Definition RedactableString.h:10
Definition BlockActorDataPacket.h:19
Definition BlockSource.h:72
Definition CommandBlockActor.h:22
MCAPI void $onPlace(::BlockSource &region)
MCAPI void $loadBlockData(::CompoundTag const &tag, ::BlockSource &region, ::DataLoadHelper &dataLoadHelper)
MCAPI void $saveBlockData(::CompoundTag &tag, ::BlockSource &region) const
MCAPI bool $_playerCanUpdate(::Player const &player) const
static MCAPI void ** $vftableForIVanillaMainBlockActorComponent()
MCAPI void $onCustomTagLoadDone(::BlockSource &region)
MCAPI void $setCustomName(::Bedrock::Safety::RedactableString const &str)
MCAPI::Bedrock::Safety::RedactableString const & $getCustomName() const
MCAPI void $_onUpdatePacket(::CompoundTag const &tag, ::BlockSource &region)
static MCAPI void ** $vftableForIVanillaRenderBlockActorComponent()
MCAPI bool markConditionMet(::BlockSource &region)
MCAPI void setAutomatic(::BlockSource &region, bool automatic, ::CommandBlockMode oldMode)
static MCAPI void ** $vftableForBlockActor()
MCAPI void $load(::ILevel &level, ::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)
static MCAPI void ** $vftableForIVanillaTickBlockActorComponent()
MCAPI bool performCommand(::BlockSource &region)
MCAPI bool getConditionalMode(::BlockSource &region) const
MCAPI void $onChanged(::BlockSource &region)
MCAPI void updateBlock(::BlockSource &region, ::std::string const &cmd, ::Bedrock::Safety::RedactableString const &name, ::CommandBlockMode newMode, bool isConditional, bool redstoneMode, bool trackOutput, int tickDelay, bool executeFirstTick)
MCAPI ::std::unique_ptr<::BlockActorDataPacket > $_getUpdatePacket(::BlockSource &region)
MCAPI bool $save(::CompoundTag &tag, ::SaveContext const &saveContext) const
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition ILevel.h:223
Definition Player.h:131
Definition SaveContext.h:5