From 7f6bc59d1450731fadb8ec5b20a0eabcb9aec665 Mon Sep 17 00:00:00 2001 From: MeexReay Date: Wed, 7 May 2025 19:39:12 +0300 Subject: [PATCH] fix players find --- src/context.rs | 3 +++ src/player/context.rs | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/context.rs b/src/context.rs index 3c2aa57..5f5daf7 100644 --- a/src/context.rs +++ b/src/context.rs @@ -38,6 +38,7 @@ impl ServerContext { self .clients .iter() + .filter(|o| o.entity_info_opt().is_some()) .find(|o| { let info = o.player_info(); if let Some(info) = info { @@ -53,6 +54,7 @@ impl ServerContext { self .clients .iter() + .filter(|o| o.entity_info_opt().is_some()) .find(|o| { let info = o.player_info(); if let Some(info) = info { @@ -69,6 +71,7 @@ impl ServerContext { .clients .iter() .filter(|o| o.player_info().is_some()) + .filter(|o| o.entity_info_opt().is_some()) .map(|o| o.clone()) .collect() } diff --git a/src/player/context.rs b/src/player/context.rs index a481be3..99d5a8f 100644 --- a/src/player/context.rs +++ b/src/player/context.rs @@ -107,6 +107,10 @@ impl ClientContext { self.player_info.read().unwrap().clone() } + pub fn entity_info_opt(self: &Arc) -> Option> { + self.entity_info.read().unwrap().clone() + } + pub fn entity_info(self: &Arc) -> Arc { self.entity_info.read().unwrap().clone().unwrap() }