Command Framework 是一个轻量级、基于注解的命令框架,灵感来源于 Bukkit 的事件系统。它无需在 plugin.yml 中注册命令,同时允许你直接在代码中定义用法、描述、权限、别名、发送者类型、冷却时间和参数限制。框架包含额外的辅助方法,以简化命令处理并提升代码可读性。
<dependency>
<groupId>dev.despical</groupId>
<artifactId>command-framework</artifactId>
<version>1.6.2</version>
</dependency> dependencies {
implementation 'dev.despical:command-framework:1.6.2'
}在你的主类中,启用时初始化框架并注册命令。
public class ExampleClass extends JavaPlugin {
@Override
public void onEnable() {
// 初始化框架
CommandFramework commandFramework = new CommandFramework(this);
// 注册所有带有 @Command 注解的方法
commandFramework.registerCommands(this);
}
}使用 @Command 注解来定义一个命令。
@Command(
name = "example",
aliases = {"firstAlias", "secondAlias"},
permission = "example.permission",
desc = "向发送者发送一条示例消息",
usage = "/example",
min = 1,
max = 5
)
public void exampleCommand(CommandArguments arguments) {
arguments.sendMessage("这是使用框架创建示例命令的方法。");
}CommandFramework#addCustomParameter 方法注册自定义参数类型。@Param 和 @Default 注解来灵活处理命令参数。 @Command(name = "customParams", min = 1)
public void customParamsCommand(CommandArguments arguments,
@Param("secondAsInt") @Default("50") int secondArg) {
arguments.sendMessage("第二个参数(整数)是: " + secondArg);
}@Cooldown 注解为命令添加冷却。@Confirmation 注解要求用户二次确认。@Flag 和 @Option 注解来解析类似 --flag 或 --option value 的参数。@Completer 注解为命令提供 Tab 补全列表。public class ExampleClass extends JavaPlugin {
@Override
public void onEnable() {
CommandFramework framework = new CommandFramework(this);
// 添加自定义参数处理器
framework.addCustomParameter("String", args -> args.getArgument(0));
framework.registerCommands(this);
}
@Command(name = "noParams")
public void commandWithoutParameters() {
Bukkit.getConsoleSender().sendMessage("此命令无需任何参数即可运行。");
}
@Command(name = "flag")
@Flag(value = "test", prefix = "--")
public void flagTest(CommandArguments arguments) {
arguments.sendMessage("Flag Present: " + arguments.isFlagPresent("test"));
}
@Completer(name = "example", aliases = {"firstAlias", "secondAlias"})
public List<String> exampleCommandCompletion() {
return Arrays.asList("first", "second", "third");
}
}以下插件使用了 Command Framework,可供参考:
如果你也在使用此框架并希望加入列表,可以随时联系作者。
如果你喜欢这个框架,可以考虑 捐赠支持 开发工作。捐赠更像是一种鼓励,能有效加速开发进程。
版权声明 © 2025 Berke Akçen
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:2,664,567 | 历史访问人次:3,229,676
今日访问人数:9,761 | 今日访问人次:10,654
昨日访问人数:30,655 | 昨日访问人次:36,381
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6