所以我正在开发一个 Java 插件,我需要做一些像现在的 KitPvP 服务器所做的事情,玩家选择一个工具包,然后他们只能在他们死后再次获得一个工具包。
我试过使用字符串来检查玩家是否处于指挥状态,但我真的不知道如何/“如何”处理它们。有什么建议吗?
最佳答案
您可以使用列表来检查玩家是否在“此生”中获得了工具包。 例如,在您的主插件类或您的命令类中,您可以像这样添加一个静态成员:
public static ArrayList<UUID> usedKit = new ArrayList<UUID>();
在 onCommand() 方法中,您可以检查玩家是否还没有得到他的工具包:
if (!usedKit.contains(player.getUniqueId())) {
// Code to give the kit here...
usedKit.add(player.getUniqueId()); // Adds the player to the list
} else
player.sendMessage("You already got your kit.");
return true;
当玩家死亡时,您必须将他从列表中移除:
@EventHandler
public void onPlayerDeath(PlayerDeathEvent event) {
if (usedKit.contains(event.getPlayer().getUniqueId()))
usedKit.remove(event.getPlayer().getUniqueId());
}
我知道这个答案与 Kerooker 的相似,但您应该尝试使用 UniqueIds,因为您可以在 minecraft 中更改您的名字。
关于java - bukkit - 防止玩家在战斗中运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40730546/