mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-02-09 10:53:21 +08:00
Add methods to get players from the server
This commit is contained in:
parent
8b9ca5ec7e
commit
8210fe6485
@ -10,6 +10,8 @@ import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.server.game.GameServer;
|
||||
import emu.grasscutter.server.http.HttpServer;
|
||||
import emu.grasscutter.server.http.Router;
|
||||
import emu.grasscutter.server.scheduler.ServerTaskScheduler;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
@ -42,6 +44,13 @@ public class ServerHelper {
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The server's current run mode.
|
||||
*/
|
||||
public Grasscutter.ServerRunMode getRunMode() {
|
||||
return Grasscutter.getRunMode();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The game server.
|
||||
*/
|
||||
@ -61,7 +70,6 @@ public class ServerHelper {
|
||||
*
|
||||
* @return Players connected to the server.
|
||||
*/
|
||||
@Deprecated(forRemoval = true)
|
||||
public List<Player> getOnlinePlayers() {
|
||||
return new ArrayList<>(this.gameServer.getPlayers().values());
|
||||
}
|
||||
@ -123,4 +131,14 @@ public class ServerHelper {
|
||||
public void setPermissionHandler(PermissionHandler permHandler) {
|
||||
Grasscutter.setPermissionHandler(permHandler);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The server's task scheduler.
|
||||
*/
|
||||
public ServerTaskScheduler getScheduler() {
|
||||
if (this.getGameServer() == null)
|
||||
return null;
|
||||
|
||||
return this.getGameServer().getScheduler();
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,5 @@
|
||||
package emu.grasscutter.server.game;
|
||||
|
||||
import static emu.grasscutter.config.Configuration.DISPATCH_INFO;
|
||||
import static emu.grasscutter.config.Configuration.GAME_INFO;
|
||||
import static emu.grasscutter.utils.Language.translate;
|
||||
|
||||
import emu.grasscutter.GameConstants;
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.Grasscutter.ServerRunMode;
|
||||
@ -42,20 +38,26 @@ import emu.grasscutter.server.event.internal.ServerStopEvent;
|
||||
import emu.grasscutter.server.event.types.ServerEvent;
|
||||
import emu.grasscutter.server.scheduler.ServerTaskScheduler;
|
||||
import emu.grasscutter.task.TaskMap;
|
||||
import kcp.highway.ChannelConfig;
|
||||
import kcp.highway.KcpServer;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.SneakyThrows;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.URI;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import kcp.highway.ChannelConfig;
|
||||
import kcp.highway.KcpServer;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
import static emu.grasscutter.config.Configuration.DISPATCH_INFO;
|
||||
import static emu.grasscutter.config.Configuration.GAME_INFO;
|
||||
import static emu.grasscutter.utils.Language.translate;
|
||||
|
||||
@Getter
|
||||
public final class GameServer extends KcpServer {
|
||||
public final class GameServer extends KcpServer implements Iterable<Player> {
|
||||
// Game server base
|
||||
private final InetSocketAddress address;
|
||||
private final GameServerPacketHandler packetHandler;
|
||||
@ -357,4 +359,10 @@ public final class GameServer extends KcpServer {
|
||||
|
||||
getWorlds().forEach(World::save);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Iterator<Player> iterator() {
|
||||
return this.getPlayers().values().iterator();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user