Created by
Eric Young
| pub struct PlayerCache {
players: HashMap<String, MinecraftPlayer>,
}
impl PlayerCache {
pub fn new() -> PlayerCache {
PlayerCache { players: HashMap::new() }
}
pub fn get_online_players(&self) -> Vec<&MinecraftPlayer> {
self.players.values().filter(|&player| {
player.online
}).collect()
}
pub fn get_op_players(&self) -> Vec<&MinecraftPlayer> {
self.players.values().filter(|&player| {
player.op
}).collect()
}
pub fn get_whitelist_players(&self) -> Vec<&MinecraftPlayer> {
self.players.values().filter(|&player| {
player.white_listed
}).collect()
}
pub fn get_all_players(&self) -> Vec<&MinecraftPlayer> {
self.players.values().collect()
}
pub fn get_cached_player(&mut self, player_name: &str) -> &mut MinecraftPlayer {
self.players.entry(player_name.to_lowercase()).or_insert(MinecraftPlayer::new(player_name))
}
}
|