LeviLamina
Loading...
Searching...
No Matches
RuntimeOverload.h
1#pragma once
2
3#include "ll/api/command/OverloadData.h"
4#include "ll/api/command/runtime/ParamKind.h"
5#include "ll/api/command/runtime/RuntimeCommand.h"
6
7#include "mc/server/commands/CommandOrigin.h"
8#include "mc/server/commands/CommandOutput.h"
9#include "mc/server/commands/CommandParameterDataType.h"
10
11namespace ll::command {
13 friend CommandHandle;
14
15 struct Impl;
16 std::unique_ptr<Impl> impl;
17
18 RuntimeOverload(CommandHandle&, std::weak_ptr<mod::Mod> mod);
19
20 void addParam(std::string_view name, ParamKindType kind, bool optional);
21
22public:
23 LLNDAPI RuntimeOverload& optional(std::string_view name, ParamKindType kind);
24
25 LLNDAPI RuntimeOverload& required(std::string_view name, ParamKindType kind);
26
27 LLNDAPI RuntimeOverload& optional(std::string_view name, ParamKindType enumKind, std::string_view enumName);
28
29 LLNDAPI RuntimeOverload& required(std::string_view name, ParamKindType enumKind, std::string_view enumName);
30
31 LLNDAPI RuntimeOverload& text(std::string_view text);
32
33 LLNDAPI RuntimeOverload& postfix(std::string_view postfix);
34
35 LLNDAPI RuntimeOverload& option(CommandParameterOption option);
36
37 LLNDAPI RuntimeOverload& deoption(CommandParameterOption option);
38
39 LLAPI void execute(RuntimeCommand::Fn);
40
42 LLAPI ~RuntimeOverload();
43};
44} // namespace ll::command
Definition CommandHandle.h:13
Definition OverloadData.h:20
Definition RuntimeOverload.h:12