Find by player's UID not IID

This commit is contained in:
KingRainbow44
2022-04-18 22:23:22 -04:00
parent a4932c7557
commit 2e01c7d5ad
4 changed files with 15 additions and 13 deletions

View File

@@ -1,12 +1,7 @@
package emu.grasscutter.server.game;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import emu.grasscutter.GenshinConstants;
@@ -115,6 +110,12 @@ public final class GameServer extends MihoyoKcpServer {
return this.getPlayers().get(id);
}
public GenshinPlayer getPlayerByUid(int uid) {
return this.getPlayers().values().stream()
.filter(player -> player.getAccount().getPlayerId() == uid)
.findFirst().orElse(this.getPlayerById(uid));
}
public GenshinPlayer forceGetPlayerById(int id) {
// Console check
if (id == GenshinConstants.SERVER_CONSOLE_UID) {