LeviLamina
Loading...
Searching...
No Matches
EffectCommand.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/CommandSelector.h"
8#include "mc/server/commands/CommandSelectorResults.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class CommandOrigin;
14class CommandOutput;
15class CommandRegistry;
16class MobEffect;
17struct EffectDuration;
18// clang-format on
19
20class EffectCommand : public ::Command {
21public:
22 // EffectCommand inner types define
23 enum class Mode : int {
24 Add = 0,
25 Clear = 1,
26 AddInfinite = 2,
27 };
28
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 200, ::CommandSelector<::Actor>> mTargets;
33 ::ll::TypedStorage<4, 4, ::EffectCommand::Mode> mMode;
34 ::ll::TypedStorage<8, 8, ::MobEffect const*> mEffect;
35 ::ll::TypedStorage<4, 4, int> mDuration;
36 ::ll::TypedStorage<4, 4, int> mAmplifier;
37 ::ll::TypedStorage<1, 1, bool> mHideParticles;
38 // NOLINTEND
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual void execute(::CommandOrigin const& origin, ::CommandOutput& output) const /*override*/;
44
45 virtual ~EffectCommand() /*override*/ = default;
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI void
52 _add(::CommandSelectorResults<::Actor>& targets, ::CommandOutput& output, ::EffectDuration duration) const;
53
54 MCAPI bool _checkIsValidAmplifierRange(::CommandOutput& output) const;
55
56 MCAPI void _clearAllEffects(::CommandSelectorResults<::Actor>& targets, ::CommandOutput& output) const;
57
58 MCAPI void _clearEffect(
60 ::CommandOutput& output,
61 ::MobEffect const& effect,
62 bool throwsErrorOnNoEffect
63 ) const;
64 // NOLINTEND
65
66public:
67 // static functions
68 // NOLINTBEGIN
69 MCAPI static void setup(::CommandRegistry& registry);
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCAPI void $execute(::CommandOrigin const& origin, ::CommandOutput& output) const;
76
77
78 // NOLINTEND
79
80public:
81 // vftables
82 // NOLINTBEGIN
83 MCNAPI static void** $vftable();
84 // NOLINTEND
85};
Definition Actor.h:105
Definition CommandOrigin.h:32
Definition CommandOutput.h:19
Definition CommandRegistry.h:47
Definition CommandSelectorResults.h:6
Definition Command.h:17
Definition EffectCommand.h:20
static MCAPI void ** $vftable()
Definition MobEffect.h:27
Definition EffectDuration.h:5