mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-18 09:54:59 +01:00
Fix Mail SendToAll Freeze (#1913)
* Avoid iterating over every offline player * getAllPlayers by stream * Use the new method without changing the old signature * Annotate deprecated `getAllPlayers`
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package emu.grasscutter.database;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import com.mongodb.client.result.DeleteResult;
|
||||
|
||||
@@ -154,6 +155,11 @@ public final class DatabaseHelper {
|
||||
DatabaseManager.getAccountDatastore().find(Account.class).filter(Filters.eq("id", target.getId())).delete();
|
||||
}
|
||||
|
||||
public static <T> Stream<T> getByGameClass(Class<T> classType) {
|
||||
return DatabaseManager.getGameDatastore().find(classType).stream();
|
||||
}
|
||||
|
||||
@Deprecated(forRemoval = true)
|
||||
public static List<Player> getAllPlayers() {
|
||||
return DatabaseManager.getGameDatastore().find(Player.class).stream().toList();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user