mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-06 15:12:13 -07:00
Implement API for dealing with player UUIDs. Adds BUKKIT-5071
This commit is contained in:
@@ -14,7 +14,6 @@ import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Level;
|
||||
@@ -22,7 +21,6 @@ import java.util.logging.Logger;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import net.minecraft.server.BanEntry;
|
||||
import net.minecraft.server.ChunkCoordinates;
|
||||
import net.minecraft.server.CommandAchievement;
|
||||
import net.minecraft.server.CommandBan;
|
||||
@@ -141,6 +139,7 @@ import org.bukkit.craftbukkit.updater.BukkitDLUpdaterService;
|
||||
import org.bukkit.craftbukkit.util.CraftIconCache;
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.craftbukkit.util.DatFileFilter;
|
||||
import org.bukkit.craftbukkit.util.MojangNameLookup;
|
||||
import org.bukkit.craftbukkit.util.Versioning;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
@@ -514,6 +513,17 @@ public final class CraftServer implements Server {
|
||||
return null;
|
||||
}
|
||||
|
||||
// TODO: In 1.7.6+ this should use the server's UUID->EntityPlayer map
|
||||
public Player getPlayer(UUID id) {
|
||||
for (Player player : getOnlinePlayers()) {
|
||||
if (player.getUniqueId().equals(id)) {
|
||||
return player;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public int broadcastMessage(String message) {
|
||||
return broadcast(message, BROADCAST_CHANNEL_USERS);
|
||||
}
|
||||
@@ -1282,6 +1292,17 @@ public final class CraftServer implements Server {
|
||||
return result;
|
||||
}
|
||||
|
||||
// TODO: In 1.7.6+ this should just lookup the UUID-based player data filename
|
||||
public OfflinePlayer getOfflinePlayer(UUID id) {
|
||||
String name = MojangNameLookup.lookupName(id);
|
||||
if (name == null) {
|
||||
// This is completely wrong
|
||||
name = "InvalidUUID";
|
||||
}
|
||||
|
||||
return getOfflinePlayer(name);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public Set<String> getIPBans() {
|
||||
return new HashSet<String>(playerList.getIPBans().getEntries().keySet());
|
||||
|
Reference in New Issue
Block a user