gpt4 book ai didi

java - 启用/禁用命令

转载 作者:行者123 更新时间:2023-12-01 06:23:32 24 4
gpt4 key购买 nike

我的插件 yml 中有这个命令:

rankup:
description: Allows to rankup through the prison ranks
aliases: [ru]

但是有一个用于禁用命令的配置文件,如果禁用此命令:

rankupstrue: false

我需要将其保留在插件 yml 中,以防配置文件中此 boolean 值设置为 true。但是,如果他们禁用此功能,我会在发生任何事情之前返回 onCommand boolean 值,如下所示:

public boolean onCommand(CommandSender s, Command cmd, String label, String[] args){
if(main.getConfig().getBoolean("rankupstrue"))return true;
// code
}

然后我在 onEnable 中启用它

getCommand("rankup").setExecutor(new RankupCore(this, qm));

但是,如果禁用此命令的 boolean 值设置为 false 并且替代插件具有相同的命令,则替代插件的命令将不起作用。为了解决这个问题,我尝试在 onEnable 中停止启用它:

if(main.getConfig().getBoolean("rankupstrue"))
{
// getCommand
}

但是这给我带来了相同的结果。然后我默认返回插件 yml。有没有办法删除:

rankup:
description: Allows to rankup through the prison ranks
aliases: [ru]

如果 rankupstrue 为 false,则来自插件 yml?或者如果该 boolean 值为 true,有没有办法将其添加到插件 yml 中?或者除了插件 yml 之外还有其他方法可以阻止此命令吗?

最佳答案

要清楚地回答这个问题,请使用指定的 PlayerCommandPreprocessEvent 事件,并使用 e.getMessage() 方法确保该事件有效。我要做的是创建一个空间“解析器”来创建一个像feel这样的参数。

public void onCommandEvent(PlayerCommandPreprocessEvent e) {
Player player = e.getPlayer();
String message = e.getMessage();
String[] args = message.split(" ");

if(args[0] == "command") {
print(args[1]); // Prints the first argument
}
}

现在您需要做的另一件事是使用 args.length() 检查参数长度,它将返回长度的整数。我没有添加它,因为这只是一个示例。

关于java - 启用/禁用命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32161914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com