LeviLamina
Loading...
Searching...
No Matches
BaseCommandBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/safety/RedactableString.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class BlockSource;
12class Command;
13class CommandOrigin;
14class CompoundTag;
15class DataLoadHelper;
16class Level;
17struct ActorUniqueID;
18// clang-format on
19
20class BaseCommandBlock {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 32, ::std::string> mLastOutputId;
25 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mLastOutputParams;
26 ::ll::TypedStorage<8, 32, ::std::string> mCommand;
27 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mName;
28 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Command>> mCompiledCommand;
29 ::ll::TypedStorage<8, 8, uint64> mLastExecution;
30 ::ll::TypedStorage<4, 4, int> mVersion;
31 ::ll::TypedStorage<4, 4, int> mSuccessCount;
32 ::ll::TypedStorage<4, 4, int> mTickDelay;
33 ::ll::TypedStorage<1, 1, bool> mExecuteOnFirstTick;
34 ::ll::TypedStorage<1, 1, bool> mTrackOutput;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 BaseCommandBlock& operator=(BaseCommandBlock const&);
40 BaseCommandBlock(BaseCommandBlock const&);
41 BaseCommandBlock();
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI bool _performCommand(::BlockSource& region, ::CommandOrigin const& origin, bool& markForSaving);
47
48 MCAPI void _setCommand(::BlockSource& region, ::CommandOrigin const& origin, ::std::string const& command);
49
50 MCAPI void compile(::CommandOrigin const& origin, ::Level& level);
51
52 MCAPI ::std::string getLastOutput() const;
53
54 MCAPI void load(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
55
56 MCAPI ::BaseCommandBlock& operator=(::BaseCommandBlock&&);
57
58 MCAPI bool performCommand(::BlockSource& region, ::ActorUniqueID const& minecartId);
59
60#ifdef LL_PLAT_C
61 MCAPI bool performCommand(::BlockSource& region, ::BlockPos const& pos, bool& markForSaving);
62#endif
63
64 MCAPI bool save(::CompoundTag& tag) const;
65
66 MCAPI void setCommand(::BlockSource& region, ::ActorUniqueID const& entityId, ::std::string const& command);
67
68 MCAPI void setCommand(::BlockSource& region, ::BlockPos const& pos, ::std::string const& command);
69
70 MCAPI void setLastOutput(::std::string const& lastOutput, ::std::vector<::std::string> const& params);
71
72 MCAPI void setTrackOutput(bool trackOutput);
73
74 MCAPI ~BaseCommandBlock();
75 // NOLINTEND
76
77public:
78 // static variables
79 // NOLINTBEGIN
80 MCAPI static ::Bedrock::Safety::RedactableString const& DefaultCommandBlockName();
81 // NOLINTEND
82
83public:
84 // destructor thunk
85 // NOLINTBEGIN
86 MCAPI void $dtor();
87 // NOLINTEND
88};
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition CommandOrigin.h:32
Definition Command.h:17
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition Level.h:254
Definition ActorUniqueID.h:5