From 819d64ad868dc434a73a79a5ae35526264ee259f Mon Sep 17 00:00:00 2001 From: Tsubasa6848 <116721335+Tsubasa6848@users.noreply.github.com> Date: Wed, 15 May 2024 19:34:01 +0800 Subject: [PATCH] refactor: remove some shit --- lib/GMLIB_API-JS.js | 74 ++++++++++++------------------ src/CompatibilityApi.cpp | 97 ++++++++++++++++++++++------------------ 2 files changed, 82 insertions(+), 89 deletions(-) diff --git a/lib/GMLIB_API-JS.js b/lib/GMLIB_API-JS.js index 45b4ed2..5df68b9 100644 --- a/lib/GMLIB_API-JS.js +++ b/lib/GMLIB_API-JS.js @@ -84,9 +84,7 @@ const GMLIB_API = { setDisplayObjective: ll.import("GMLIB_API", "setDisplayObjective"), clearDisplayObjective: ll.import("GMLIB_API", "clearDisplayObjective"), getAllObjectives: ll.import("GMLIB_API", "getAllObjectives"), - getAllScoreboardPlayers: ll.import("GMLIB_API", "getAllScoreboardPlayers"), - getAllScoreboardFakePlayers: ll.import("GMLIB_API", "getAllScoreboardFakePlayers"), - getAllScoreboardEntities: ll.import("GMLIB_API", "getAllScoreboardEntities"), + getAllTrackedTargets: ll.import("GMLIB_API", "getAllTrackedTargets"), getPlayerFromUuid: ll.import("GMLIB_API", "getPlayerFromUuid"), getPlayerFromUniqueId: ll.import("GMLIB_API", "getPlayerFromUniqueId"), getEntityFromUniqueId: ll.import("GMLIB_API", "getEntityFromUniqueId"), @@ -101,12 +99,12 @@ const GMLIB_API = { updateOrCreateLanguageFile: ll.import("GMLIB_API", "updateOrCreateLanguageFile"), loadLanguagePath: ll.import("GMLIB_API", "loadLanguagePath"), mergePatchJson: ll.import("GMLIB_API", "mergePatchJson"), - getXuidByUuid: ll.import("GMLIB_API","getXuidByUuid"), - getNameByUuid: ll.import("GMLIB_API","getNameByUuid"), - getUuidByXuid: ll.import("GMLIB_API","getUuidByXuid"), - getNameByXuid: ll.import("GMLIB_API","getNameByXuid"), - getXuidByName: ll.import("GMLIB_API","getXuidByName"), - getUuidByName: ll.import("GMLIB_API","getUuidByName"), + getXuidByUuid: ll.import("GMLIB_API", "getXuidByUuid"), + getNameByUuid: ll.import("GMLIB_API", "getNameByUuid"), + getUuidByXuid: ll.import("GMLIB_API", "getUuidByXuid"), + getNameByXuid: ll.import("GMLIB_API", "getNameByXuid"), + getXuidByName: ll.import("GMLIB_API", "getXuidByName"), + getUuidByName: ll.import("GMLIB_API", "getUuidByName"), } const FloatingTextList = []; @@ -553,29 +551,7 @@ class Scoreboard { } static getAllTrackedTargets() { - let result = []; - GMLIB_API.getAllScoreboardPlayers().forEach((uuid) => { - let key = { - "Type": "Player", - "Uuid": uuid - }; - result.push(key); - }); - GMLIB_API.getAllScoreboardEntities().forEach((uniqueId) => { - let key = { - "Type": "Entity", - "UniqueId": uniqueId - }; - result.push(key); - }); - GMLIB_API.getAllScoreboardFakePlayers().forEach((name) => { - let key = { - "Type": "FakePlayer", - "Name": name - }; - result.push(key); - }); - return result; + return GMLIB_API.getAllTrackedTargets(); } // Objectives @@ -861,28 +837,34 @@ class UserCache { throw new Error("Static class cannot be instantiated"); } - static getXuidByUuid(uuid){ - return GMLIB_API.getXuidByUuid(uuid); - } - - static getUuidByXuid(xuid){ - return GMLIB_API.getUuidByXuid(xuid); + static getXuidByUuid(uuid) { + let result = GMLIB_API.getXuidByUuid(uuid); + return result == "" ? null : result; } - static getNameByUuid(uuid){ - return GMLIB_API.getNameByUuid(uuid); + static getUuidByXuid(xuid) { + let result = GMLIB_API.getUuidByXuid(xuid); + return result == "" ? null : result; } - static getNameByXuid(xuid){ - return GMLIB_API.getNameByXuid(xuid); + static getNameByUuid(uuid) { + let result = GMLIB_API.getNameByUuid(uuid); + return result == "" ? null : result; } - static getXuidByName(name){ - return GMLIB_API.getXuidByName(name); + static getNameByXuid(xuid) { + let result = GMLIB_API.getNameByXuid(xuid); + return result == "" ? null : result; } - static getUuidByName(name){ - return GMLIB_API.getUuidByName(name); + static getXuidByName(name) { + let result = GMLIB_API.getXuidByName(name); + return result == "" ? null : result; + } + + static getUuidByName(name) { + let result = GMLIB_API.getUuidByName(name); + return result == "" ? null : result; } }; diff --git a/src/CompatibilityApi.cpp b/src/CompatibilityApi.cpp index b0866b7..d79871b 100644 --- a/src/CompatibilityApi.cpp +++ b/src/CompatibilityApi.cpp @@ -359,7 +359,7 @@ void Export_Compatibility_API() { return GMLIB_Scoreboard::getInstance()->resetScore(name); }); RemoteCall::exportAs("GMLIB_API", "addObjective", [](std::string obj) -> bool { - if (auto res = GMLIB_Scoreboard::getInstance()->getInstance()->addObjective(obj)) { + if (auto res = GMLIB_Scoreboard::getInstance()->addObjective(obj)) { return true; } return false; @@ -368,66 +368,67 @@ void Export_Compatibility_API() { "GMLIB_API", "addObjectiveWithDisplayName", [](std::string obj, std::string displayName) -> bool { - if (auto res = GMLIB_Scoreboard::getInstance()->getInstance()->addObjective(obj, displayName)) { + if (auto res = GMLIB_Scoreboard::getInstance()->addObjective(obj, displayName)) { return true; } return false; } ); RemoteCall::exportAs("GMLIB_API", "getDisplayName", [](std::string obj) -> std::string { - if (auto result = GMLIB_Scoreboard::getInstance()->getInstance()->getObjectiveDisplayName(obj)) { + if (auto result = GMLIB_Scoreboard::getInstance()->getObjectiveDisplayName(obj)) { return result.value(); } return ""; }); RemoteCall::exportAs("GMLIB_API", "setDisplayName", [](std::string obj, std::string displayName) -> bool { - return GMLIB_Scoreboard::getInstance()->getInstance()->setObjectiveDisplayName(obj, displayName); + return GMLIB_Scoreboard::getInstance()->setObjectiveDisplayName(obj, displayName); }); RemoteCall::exportAs("GMLIB_API", "removeObjective", [](std::string obj) -> bool { - return GMLIB_Scoreboard::getInstance()->getInstance()->removeObjective(obj); + return GMLIB_Scoreboard::getInstance()->removeObjective(obj); }); RemoteCall::exportAs("GMLIB_API", "setDisplayObjective", [](std::string obj, std::string slot, int order) -> void { - return GMLIB_Scoreboard::getInstance()->getInstance()->setObjectiveDisplay( - obj, - slot, - (ObjectiveSortOrder)order - ); + return GMLIB_Scoreboard::getInstance()->setObjectiveDisplay(obj, slot, (ObjectiveSortOrder)order); }); RemoteCall::exportAs("GMLIB_API", "clearDisplayObjective", [](std::string slot) -> void { - return GMLIB_Scoreboard::getInstance()->getInstance()->clearObjectiveDisplay(slot); + return GMLIB_Scoreboard::getInstance()->clearObjectiveDisplay(slot); }); RemoteCall::exportAs("GMLIB_API", "getAllObjectives", []() -> std::vector { - auto objs = GMLIB_Scoreboard::getInstance()->getInstance()->getObjectives(); + auto objs = GMLIB_Scoreboard::getInstance()->getObjectives(); std::vector result; for (auto obj : objs) { result.push_back(obj->getName()); } return result; }); - RemoteCall::exportAs("GMLIB_API", "getAllScoreboardPlayers", []() -> std::vector { - auto uuids = GMLIB_Scoreboard::getInstance()->getInstance()->getAllPlayerUuids(); - std::vector result; - for (auto& uuid : uuids) { - result.push_back(uuid.asString()); + RemoteCall::exportAs( + "GMLIB_API", + "getAllTrackedTargets", + []() -> std::vector> { + std::vector> result; + auto uuids = GMLIB_Scoreboard::getInstance()->getAllPlayerUuids(); + 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) { + std::unordered_map data; + data["Type"] = "FakePlayer"; + data["Name"] = name; + result.push_back(data); + } + auto uniqueIds = GMLIB_Scoreboard::getInstance()->getAllEntities(); + for (auto uniqueId : uniqueIds) { + std::unordered_map data; + data["Type"] = "Entity"; + data["UniqueId"] = std::to_string(uniqueId.id); + result.push_back(data); + } + return result; } - return result; - }); - RemoteCall::exportAs("GMLIB_API", "getAllScoreboardFakePlayers", []() -> std::vector { - auto names = GMLIB_Scoreboard::getInstance()->getInstance()->getAllFakePlayers(); - std::vector result; - for (auto name : names) { - result.push_back(name); - } - return result; - }); - RemoteCall::exportAs("GMLIB_API", "getAllScoreboardEntities", []() -> std::vector { - auto auids = GMLIB_Scoreboard::getInstance()->getInstance()->getAllEntities(); - std::vector result; - for (auto auid : auids) { - result.push_back(std::to_string(auid.id)); - } - return result; - }); + ); RemoteCall::exportAs("GMLIB_API", "getPlayerFromUuid", [](std::string uuid) -> Player* { auto uid = mce::UUID::fromString(uuid); return ll::service::getLevel()->getPlayer(uuid); @@ -470,23 +471,33 @@ void Export_Compatibility_API() { return oldData.dump(); }); RemoteCall::exportAs("GMLIB_API", "getXuidByUuid", [](std::string uuid) -> std::string { - auto uid = mce::UUID::fromString(uuid); - return GMLIB::UserCache::getXuidByUuid(uid).value(); + auto uid = mce::UUID::fromString(uuid); + auto result = GMLIB::UserCache::getXuidByUuid(uid); + return result ? result.value() : ""; }); RemoteCall::exportAs("GMLIB_API", "getNameByUuid", [](std::string uuid) -> std::string { - auto uid = mce::UUID::fromString(uuid); - return GMLIB::UserCache::getNameByUuid(uid).value(); + auto uid = mce::UUID::fromString(uuid); + auto result = GMLIB::UserCache::getNameByUuid(uid); + return result ? result.value() : ""; }); RemoteCall::exportAs("GMLIB_API", "getUuidByXuid", [](std::string xuid) -> std::string { - return GMLIB::UserCache::getUuidByXuid(xuid).value().asString(); + auto result = GMLIB::UserCache::getUuidByXuid(xuid); + return result ? result.value().asString() : ""; }); RemoteCall::exportAs("GMLIB_API", "getNameByXuid", [](std::string xuid) -> std::string { - return GMLIB::UserCache::getNameByXuid(xuid).value(); + auto result = GMLIB::UserCache::getNameByXuid(xuid); + return result ? result.value() : ""; }); RemoteCall::exportAs("GMLIB_API", "getXuidByName", [](std::string name) -> std::string { - return GMLIB::UserCache::getXuidByName(name).value(); + auto result = GMLIB::UserCache::getXuidByName(name); + return result ? result.value() : ""; }); RemoteCall::exportAs("GMLIB_API", "getUuidByName", [](std::string name) -> std::string { - return GMLIB::UserCache::getUuidByName(name).value().asString(); + auto result = GMLIB::UserCache::getUuidByName(name); + return result ? result.value().asString() : ""; + }); + RemoteCall::exportAs("GMLIB_API", "getUuidByName", [](std::string name) -> std::string { + auto result = GMLIB::UserCache::getUuidByName(name); + return result ? result.value().asString() : ""; }); } \ No newline at end of file