Skip to content

Commit 4e78286

Browse files
committed
fix: fix #39 #40
1 parent 4cdcf36 commit 4e78286

File tree

4 files changed

+24
-16
lines changed

4 files changed

+24
-16
lines changed

docs/apis/DataAPI/PlayerData.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ When a player enters the server for the first time, his name and XUID are automa
108108
- If the return value is `Null`, it means the query failed.
109109

110110

111-
111+
!!! tip
112+
getAllPlayerInfo has been deprecated, it will only return online players's data
112113
#### Get all player information
113114

114115
`data.getAllPlayerInfo()`

docs/apis/DataAPI/PlayerData.zh.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ XUID数据库让你可以即使在玩家离线的时候,也可以查询玩家
108108
- 如果返回值为`Null`,则代表查询失败
109109

110110

111-
111+
!!!tip
112+
getAllPlayerInfo已被弃用,它现在只会返回在线玩家的信息
112113
#### 获取所有的玩家信息
113114

114115
`data.getAllPlayerInfo()`

src/legacy/api/DataAPI.cpp

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -743,15 +743,18 @@ Local<Value> DataClass::getAllPlayerInfo(const Arguments& args) {
743743
CHECK_ARGS_COUNT(args, 0);
744744

745745
try {
746-
auto arr = Array::newArray();
747-
ll::service::getLevel()->forEachPlayer([&arr](Player& player) {
748-
auto obj = Object::newObject();
749-
obj.set("name", String::newString(player.getRealName()));
750-
obj.set("xuid", String::newString(player.getXuid()));
751-
obj.set("uuid", String::newString(player.getUuid().asString()));
752-
arr.add(obj);
753-
return true;
754-
});
746+
auto arr = Array::newArray();
747+
auto level = ll::service::getLevel();
748+
if (level.has_value()) {
749+
level->forEachPlayer([&arr](Player& player) {
750+
auto obj = Object::newObject();
751+
obj.set("name", String::newString(player.getRealName()));
752+
obj.set("xuid", String::newString(player.getXuid()));
753+
obj.set("uuid", String::newString(player.getUuid().asString()));
754+
arr.add(obj);
755+
return true;
756+
});
757+
}
755758

756759
return arr;
757760
}

src/legacy/api/PlayerAPI.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -579,11 +579,14 @@ Local<Value> McClass::getPlayer(const Arguments& args) {
579579

580580
Local<Value> McClass::getOnlinePlayers(const Arguments& args) {
581581
try {
582-
Local<Array> list = Array::newArray();
583-
ll::service::getLevel()->forEachPlayer([&](Player& player) {
584-
list.add(PlayerClass::newPlayer(&player));
585-
return true;
586-
});
582+
Local<Array> list = Array::newArray();
583+
auto level = ll::service::getLevel();
584+
if (level.has_value()) {
585+
level->forEachPlayer([&](Player& player) {
586+
list.add(PlayerClass::newPlayer(&player));
587+
return true;
588+
});
589+
}
587590
return list;
588591
}
589592
CATCH("Fail in GetOnlinePlayers!")

0 commit comments

Comments
 (0)