summaryrefslogtreecommitdiffstats
path: root/src/World.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/World.cpp')
-rw-r--r--src/World.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/World.cpp b/src/World.cpp
index 2e079d447..212566194 100644
--- a/src/World.cpp
+++ b/src/World.cpp
@@ -2729,6 +2729,28 @@ bool cWorld::FindAndDoWithPlayer(const AString & a_PlayerNameHint, cPlayerListCa
+bool cWorld::FindAndDoWithUUID(const AString & a_PlayerUUID, cPlayerListCallback & a_Callback)
+{
+ cPlayer * FoundPlayer = nullptr;
+ cCSLock Lock(m_CSPlayers);
+ for (cPlayerList::iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr)
+ {
+ if ((*itr)->GetUUID() == a_PlayerUUID) { // Match found and exit
+ FoundPlayer = *itr;
+ break;
+ }
+ }
+ if (FoundPlayer != nullptr)
+ {
+ return a_Callback.Item (FoundPlayer);
+ }
+ return false;
+}
+
+
+
+
+
// TODO: This interface is dangerous!
cPlayer * cWorld::FindClosestPlayer(const Vector3d & a_Pos, float a_SightLimit, bool a_CheckLineOfSight)
{