LeviLamina
Loading...
Searching...
No Matches
TagCommand.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/server/commands/Command.h"
7#include "mc/server/commands/WildcardCommandSelector.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class CommandOrigin;
13class CommandOutput;
14class CommandRegistry;
15// clang-format on
16
17class TagCommand : public ::Command {
18public:
19 // TagCommand inner types define
20 enum class Action : uchar {
21 Add = 0,
22 Remove = 1,
23 List = 2,
24 };
25
26 using ActorRefList = ::std::vector<::std::reference_wrapper<::Actor>>;
27
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<1, 1, ::TagCommand::Action> mAction;
32 ::ll::TypedStorage<8, 200, ::WildcardCommandSelector<::Actor>> mSelector;
33 ::ll::TypedStorage<8, 32, ::std::string> mTagString;
34 // NOLINTEND
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual void execute(::CommandOrigin const& origin, ::CommandOutput& output) const /*override*/;
40
41 virtual ~TagCommand() /*override*/ = default;
42 // NOLINTEND
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI void
48 _addTag(::CommandOutput& output, ::std::vector<::std::reference_wrapper<::Actor>> const& selectorResults) const;
49
50 MCAPI ::std::vector<::std::reference_wrapper<::Actor>>
51 _getSelectorResults(::CommandOrigin const& origin, ::CommandOutput& output) const;
52
53 MCAPI void
54 _listTags(::CommandOutput& output, ::std::vector<::std::reference_wrapper<::Actor>> const& selectorResults) const;
55
56 MCAPI void
57 _removeTag(::CommandOutput& output, ::std::vector<::std::reference_wrapper<::Actor>> const& selectorResults) const;
58 // NOLINTEND
59
60public:
61 // static functions
62 // NOLINTBEGIN
63 MCAPI static void setup(::CommandRegistry& registry);
64 // NOLINTEND
65
66public:
67 // virtual function thunks
68 // NOLINTBEGIN
69 MCAPI void $execute(::CommandOrigin const& origin, ::CommandOutput& output) const;
70
71
72 // NOLINTEND
73
74public:
75 // vftables
76 // NOLINTBEGIN
77 MCNAPI static void** $vftable();
78 // NOLINTEND
79};
Definition Actor.h:106
Definition CommandOrigin.h:32
Definition CommandOutput.h:20
Definition CommandRegistry.h:50
Definition Command.h:17
Definition TagCommand.h:17
static MCAPI void ** $vftable()