Separate the dispatch and game servers (pt. 2)

this commit fixes the gacha page
This commit is contained in:
KingRainbow44
2023-05-15 02:37:35 -04:00
parent e079eebc0f
commit 15b1718052
4 changed files with 36 additions and 24 deletions

View File

@@ -1,7 +1,5 @@
package emu.grasscutter.database;
import static com.mongodb.client.model.Filters.eq;
import com.mongodb.client.result.DeleteResult;
import dev.morphia.query.FindOptions;
import dev.morphia.query.Sort;
@@ -22,9 +20,12 @@ import emu.grasscutter.game.mail.Mail;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.quest.GameMainQuest;
import emu.grasscutter.game.world.SceneGroupInstance;
import java.util.List;
import java.util.stream.Stream;
import static com.mongodb.client.model.Filters.eq;
public final class DatabaseHelper {
public static Account createAccount(String username) {
return createAccountWithUid(username, 0);
@@ -217,6 +218,20 @@ public final class DatabaseHelper {
.first();
}
/**
* Use {@link DatabaseHelper#getPlayerByAccount(Account, Class)} for creating a real player.
* This method is used for fetching the player's data.
*
* @param accountId The account's ID.
* @return The player.
*/
public static Player getPlayerByAccount(String accountId) {
return DatabaseManager.getGameDatastore()
.find(Player.class)
.filter(Filters.eq("accountId", accountId))
.first();
}
public static boolean checkIfPlayerExists(int uid) {
return DatabaseManager.getGameDatastore()
.find(Player.class)