Bukkit - UUID 到 Player 方法?
Bukkit - UUID to Player method?
所以,我对 Bukkit 还很陌生 API,老实说,我去年参加的 Java class 并没有像它那样帮助我应该有。
我将在整个 post 中引用来自 StackExchange[URL] 的 post。
回答我问题的好用户告诉我使用 HashMap,其中每对玩家的 UUID 作为键和值。他说不要使用 Player 变量,而是使用他们的 UUID。
我的问题是,如何通过指定他们的 UUID 对玩家使用方法?我可以使用某种 UUID.toPlayer(UUID) 方法吗?
提前致谢:D
--Bukkit 论坛上没有人回复此 post,这就是我来这里的原因--
您可以遍历服务器上的所有玩家并尝试匹配他们的 UUID。
public Player getPlayerByUuid(UUID uuid) {
for(Player p : getServer().getOnlinePlayers()) {
if(p.getUniqueId().equals(uuid)
return p;
}
}
}
已找到 here。
这将遍历所有在线玩家并匹配 UUID。
您可以将它们存储在类型为 UUID, Player
或字符串的哈希图中,以存储玩家的姓名。然后访问,
Player p = hashMap.get(uuid here (key) );
您可能会在玩家加入后将其添加到哈希图中。
hashMap.put(UUID (key), Player (value) );
如果你想通过播放器访问UUID,只需切换即可。
一个更简单的方法是这样的
UUID myUUID = myPlayer.getUniqueID();
String configLine = myUUID.toString();
然后
Player newPlayer = Bukkit.getPlayer(myUUID);
或者
Player newPlayer = Bukkit.getPlayer(UUID.fromString(configLine));
Player p = Bukkit.getPlayer(uuid);
您可以使用
UUID.fromString("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
或从player.getUUID()
获取
所以,我对 Bukkit 还很陌生 API,老实说,我去年参加的 Java class 并没有像它那样帮助我应该有。
我将在整个 post 中引用来自 StackExchange[URL]
提前致谢:D
--Bukkit 论坛上没有人回复此 post,这就是我来这里的原因--
您可以遍历服务器上的所有玩家并尝试匹配他们的 UUID。
public Player getPlayerByUuid(UUID uuid) {
for(Player p : getServer().getOnlinePlayers()) {
if(p.getUniqueId().equals(uuid)
return p;
}
}
}
已找到 here。
这将遍历所有在线玩家并匹配 UUID。
您可以将它们存储在类型为 UUID, Player
或字符串的哈希图中,以存储玩家的姓名。然后访问,
Player p = hashMap.get(uuid here (key) );
您可能会在玩家加入后将其添加到哈希图中。
hashMap.put(UUID (key), Player (value) );
如果你想通过播放器访问UUID,只需切换即可。
一个更简单的方法是这样的
UUID myUUID = myPlayer.getUniqueID();
String configLine = myUUID.toString();
然后
Player newPlayer = Bukkit.getPlayer(myUUID);
或者
Player newPlayer = Bukkit.getPlayer(UUID.fromString(configLine));
Player p = Bukkit.getPlayer(uuid);
您可以使用
UUID.fromString("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
或从player.getUUID()