From 83009cd29c0f7c61d4b29172342334d33d47e691 Mon Sep 17 00:00:00 2001
From: Tsubasa6848 <116721335+Tsubasa6848@users.noreply.github.com>
Date: Wed, 15 May 2024 19:57:56 +0800
Subject: [PATCH] feat: add getAllPlayerInfo
---
lib/GMLIB_API-JS.js | 11 +++++++---
manifest.json | 2 +-
src/CompatibilityApi.cpp | 47 ++++++++++++++++++++++++++++++++++++----
src/Global.h | 2 +-
tooth.json | 4 ++--
5 files changed, 55 insertions(+), 11 deletions(-)
diff --git a/lib/GMLIB_API-JS.js b/lib/GMLIB_API-JS.js
index 5df68b9..04de1a4 100644
--- a/lib/GMLIB_API-JS.js
+++ b/lib/GMLIB_API-JS.js
@@ -1,6 +1,3 @@
-// LiteLoader-AIDS automatic generated
-///
-
const GMLIB_API = {
createFloatingText: ll.import("GMLIB_API", "createFloatingText"),
deleteFloatingText: ll.import("GMLIB_API", "deleteFloatingText"),
@@ -85,6 +82,9 @@ const GMLIB_API = {
clearDisplayObjective: ll.import("GMLIB_API", "clearDisplayObjective"),
getAllObjectives: ll.import("GMLIB_API", "getAllObjectives"),
getAllTrackedTargets: ll.import("GMLIB_API", "getAllTrackedTargets"),
+ getAllScoreboardPlayers: ll.import("GMLIB_API", "getAllScoreboardPlayers"),
+ getAllScoreboardFakePlayers: ll.import("GMLIB_API", "getAllScoreboardFakePlayers"),
+ getAllScoreboardEntities: ll.import("GMLIB_API", "getAllScoreboardEntities"),
getPlayerFromUuid: ll.import("GMLIB_API", "getPlayerFromUuid"),
getPlayerFromUniqueId: ll.import("GMLIB_API", "getPlayerFromUniqueId"),
getEntityFromUniqueId: ll.import("GMLIB_API", "getEntityFromUniqueId"),
@@ -105,6 +105,7 @@ const GMLIB_API = {
getNameByXuid: ll.import("GMLIB_API", "getNameByXuid"),
getXuidByName: ll.import("GMLIB_API", "getXuidByName"),
getUuidByName: ll.import("GMLIB_API", "getUuidByName"),
+ getAllPlayerInfo: ll.import("GMLIB_API", "getAllPlayerInfo")
}
const FloatingTextList = [];
@@ -866,6 +867,10 @@ class UserCache {
let result = GMLIB_API.getUuidByName(name);
return result == "" ? null : result;
}
+
+ static getAllPlayerInfo() {
+ return GMLIB_API.getAllPlayerInfo();
+ }
};
LLSE_Player.prototype.toEntity = function () {
diff --git a/manifest.json b/manifest.json
index ca6b444..bf503af 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"name": "${pluginName}",
"entry": "${pluginFile}",
- "version": "0.12.5",
+ "version": "0.12.6",
"author": "GroupMountain",
"type": "native",
"dependencies": [
diff --git a/src/CompatibilityApi.cpp b/src/CompatibilityApi.cpp
index d79871b..2fa18bc 100644
--- a/src/CompatibilityApi.cpp
+++ b/src/CompatibilityApi.cpp
@@ -395,32 +395,56 @@ void Export_Compatibility_API() {
RemoteCall::exportAs("GMLIB_API", "getAllObjectives", []() -> std::vector {
auto objs = GMLIB_Scoreboard::getInstance()->getObjectives();
std::vector result;
- for (auto obj : objs) {
+ for (auto& obj : objs) {
result.push_back(obj->getName());
}
return result;
});
+ RemoteCall::exportAs("GMLIB_API", "getAllScoreboardPlayers", []() -> std::vector {
+ auto uuids = GMLIB_Scoreboard::getInstance()->getAllPlayerUuids();
+ std::vector result;
+ for (auto& uuid : uuids) {
+ result.push_back(uuid.asString());
+ }
+ return result;
+ });
+ RemoteCall::exportAs("GMLIB_API", "getAllScoreboardFakePlayers", []() -> std::vector {
+ auto names = GMLIB_Scoreboard::getInstance()->getAllFakePlayers();
+ std::vector result;
+ for (auto& name : names) {
+ result.push_back(name);
+ }
+ return result;
+ });
+ RemoteCall::exportAs("GMLIB_API", "getAllScoreboardEntities", []() -> std::vector {
+ auto uniqueIds = GMLIB_Scoreboard::getInstance()->getAllEntities();
+ std::vector result;
+ for (auto& uniqueId : uniqueIds) {
+ result.push_back(std::to_string(uniqueId.id));
+ }
+ return result;
+ });
RemoteCall::exportAs(
"GMLIB_API",
"getAllTrackedTargets",
[]() -> std::vector> {
std::vector> result;
auto uuids = GMLIB_Scoreboard::getInstance()->getAllPlayerUuids();
- for (auto uuid : uuids) {
+ for (auto& uuid : uuids) {
std::unordered_map data;
data["Type"] = "Player";
data["Uuid"] = uuid.asString();
result.push_back(data);
}
auto names = GMLIB_Scoreboard::getInstance()->getAllFakePlayers();
- for (auto name : names) {
+ for (auto& name : names) {
std::unordered_map data;
data["Type"] = "FakePlayer";
data["Name"] = name;
result.push_back(data);
}
auto uniqueIds = GMLIB_Scoreboard::getInstance()->getAllEntities();
- for (auto uniqueId : uniqueIds) {
+ for (auto& uniqueId : uniqueIds) {
std::unordered_map data;
data["Type"] = "Entity";
data["UniqueId"] = std::to_string(uniqueId.id);
@@ -500,4 +524,19 @@ void Export_Compatibility_API() {
auto result = GMLIB::UserCache::getUuidByName(name);
return result ? result.value().asString() : "";
});
+ RemoteCall::exportAs(
+ "GMLIB_API",
+ "getAllPlayerInfo",
+ []() -> std::vector> {
+ std::vector> result;
+ GMLIB::UserCache::forEach([&result](const GMLIB::UserCache::UserCacheEntry& entry) {
+ std::unordered_map info;
+ info["Name"] = entry.mName;
+ info["Xuid"] = entry.mXuid;
+ info["Uuid"] = entry.mUuid.asString();
+ result.push_back(info);
+ });
+ return result;
+ }
+ );
}
\ No newline at end of file
diff --git a/src/Global.h b/src/Global.h
index e143786..054d234 100644
--- a/src/Global.h
+++ b/src/Global.h
@@ -5,7 +5,7 @@
#define PLUGIN_NAME fmt::format(fg(fmt::color::light_green), "GMLIB-LRCA")
-#define LIB_VERSION GMLIB::Version(0, 12, 5)
+#define LIB_VERSION GMLIB::Version(0, 12, 6)
extern ll::Logger logger;
diff --git a/tooth.json b/tooth.json
index 49a98d9..425e110 100644
--- a/tooth.json
+++ b/tooth.json
@@ -1,7 +1,7 @@
{
"format_version": 2,
"tooth": "github.com/GroupMountain/GMLIB-LegacyRemoteCallApi",
- "version": "0.12.5",
+ "version": "0.12.6",
"info": {
"name": "GMLIB-LegacyRemoteCallApi",
"description": "Legacy RemoteCall API for GMLIB",
@@ -14,7 +14,7 @@
"library"
]
},
- "asset_url": "https://github.com/GroupMountain/GMLIB-LegacyRemoteCallApi/releases/download/v0.12.5/GMLIB-LegacyRemoteCallApi-windows-x64.zip",
+ "asset_url": "https://github.com/GroupMountain/GMLIB-LegacyRemoteCallApi/releases/download/v0.12.6/GMLIB-LegacyRemoteCallApi-windows-x64.zip",
"dependencies": {
"github.com/GroupMountain/GMLIB": ">=0.12.4"
},