我正在尝试使用命令/ gm 1将玩家的游戏模式更改为游戏模式1。我知道那里有一个名为Essentials的插件,该插件具有该命令,但是我正在尝试练习构建bukkit插件。
所以这是我的Main.java:
if(cmd.getName().equalsIgnoreCase("gm 1")){
String gm1 = "gamemode 1 " + player.getName();
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), gm1);
player.sendMessage(ChatColor.GRAY + "Your now in Creative Mode.");
}
Plugin.yml:
commands:
gm 1:
description: Sets your game mode to creative.
我对Java很陌生,有人可以帮忙吗?
问题是cmd.getName()
仅返回命令的第一部分。(在此gm
)。之所以1
会被存储为,是args[0]
因为第一个单词之后的每个单词都作为单独的字符串存储在args
变量中。您想要更多类似的东西:
if(cmd.getName().equalsIgnoreCase("gm") && args[0] == "1"){
String gm1 = "gamemode 1 " + player.getName();
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), gm1);
player.sendMessage(ChatColor.GRAY + "You're now in Creative Mode.");
}
和
commands:
gm:
description: Sets your game mode to creative.
因为如上所述,该命令为gm
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句