mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 01:15:52 +01:00
Fix PlayerCreationEvent to match expected logic
This commit is contained in:
@@ -39,11 +39,11 @@ public final class DatabaseHelper {
|
||||
if (reservedUid == GameConstants.SERVER_CONSOLE_UID) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
if (DatabaseHelper.checkIfAccountExists(reservedUid)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
// Make sure no existing player already has this id.
|
||||
if (DatabaseHelper.checkIfPlayerExists(reservedUid)) {
|
||||
return null;
|
||||
@@ -105,11 +105,11 @@ public final class DatabaseHelper {
|
||||
public static Account getAccountByPlayerId(int playerId) {
|
||||
return DatabaseManager.getAccountDatastore().find(Account.class).filter(Filters.eq("reservedPlayerId", playerId)).first();
|
||||
}
|
||||
|
||||
|
||||
public static boolean checkIfAccountExists(String name) {
|
||||
return DatabaseManager.getAccountDatastore().find(Account.class).filter(Filters.eq("username", name)).count() > 0;
|
||||
}
|
||||
|
||||
|
||||
public static boolean checkIfAccountExists(int reservedUid) {
|
||||
return DatabaseManager.getAccountDatastore().find(Account.class).filter(Filters.eq("reservedPlayerId", reservedUid)).count() > 0;
|
||||
}
|
||||
@@ -120,11 +120,11 @@ public final class DatabaseHelper {
|
||||
// database in an inconsistent state, but unfortunately Mongo only supports that when we have a replica set ...
|
||||
|
||||
Player player = Grasscutter.getGameServer().getPlayerByAccountId(target.getId());
|
||||
|
||||
|
||||
if (player != null) {
|
||||
// Close session first
|
||||
player.getSession().close();
|
||||
|
||||
|
||||
// Delete data from collections
|
||||
DatabaseManager.getGameDatabase().getCollection("mail").deleteMany(eq("ownerUid", player.getUid()));
|
||||
DatabaseManager.getGameDatabase().getCollection("avatars").deleteMany(eq("ownerId", player.getUid()));
|
||||
@@ -153,11 +153,16 @@ public final class DatabaseHelper {
|
||||
public static Player getPlayerByUid(int id) {
|
||||
return DatabaseManager.getGameDatastore().find(Player.class).filter(Filters.eq("_id", id)).first();
|
||||
}
|
||||
|
||||
|
||||
@Deprecated
|
||||
public static Player getPlayerByAccount(Account account) {
|
||||
return DatabaseManager.getGameDatastore().find(Player.class).filter(Filters.eq("accountId", account.getId())).first();
|
||||
}
|
||||
|
||||
|
||||
public static Player getPlayerByAccount(Account account, Class<? extends Player> playerClass) {
|
||||
return DatabaseManager.getGameDatastore().find(playerClass).filter(Filters.eq("accountId", account.getId())).first();
|
||||
}
|
||||
|
||||
public static boolean checkIfPlayerExists(int uid) {
|
||||
return DatabaseManager.getGameDatastore().find(Player.class).filter(Filters.eq("_id", uid)).count() > 0;
|
||||
}
|
||||
@@ -218,7 +223,7 @@ public final class DatabaseHelper {
|
||||
public static List<GameItem> getInventoryItems(Player player) {
|
||||
return DatabaseManager.getGameDatastore().find(GameItem.class).filter(Filters.eq("ownerId", player.getUid())).stream().toList();
|
||||
}
|
||||
|
||||
|
||||
public static List<Friendship> getFriends(Player player) {
|
||||
return DatabaseManager.getGameDatastore().find(Friendship.class).filter(Filters.eq("ownerId", player.getUid())).stream().toList();
|
||||
}
|
||||
@@ -272,40 +277,40 @@ public final class DatabaseHelper {
|
||||
public static void saveGachaRecord(GachaRecord gachaRecord){
|
||||
DatabaseManager.getGameDatastore().save(gachaRecord);
|
||||
}
|
||||
|
||||
|
||||
public static List<Mail> getAllMail(Player player) {
|
||||
return DatabaseManager.getGameDatastore().find(Mail.class).filter(Filters.eq("ownerUid", player.getUid())).stream().toList();
|
||||
}
|
||||
|
||||
|
||||
public static void saveMail(Mail mail) {
|
||||
DatabaseManager.getGameDatastore().save(mail);
|
||||
}
|
||||
|
||||
|
||||
public static boolean deleteMail(Mail mail) {
|
||||
DeleteResult result = DatabaseManager.getGameDatastore().delete(mail);
|
||||
return result.wasAcknowledged();
|
||||
}
|
||||
|
||||
|
||||
public static List<GameMainQuest> getAllQuests(Player player) {
|
||||
return DatabaseManager.getGameDatastore().find(GameMainQuest.class).filter(Filters.eq("ownerUid", player.getUid())).stream().toList();
|
||||
}
|
||||
|
||||
|
||||
public static void saveQuest(GameMainQuest quest) {
|
||||
DatabaseManager.getGameDatastore().save(quest);
|
||||
}
|
||||
|
||||
|
||||
public static boolean deleteQuest(GameMainQuest quest) {
|
||||
return DatabaseManager.getGameDatastore().delete(quest).wasAcknowledged();
|
||||
}
|
||||
|
||||
|
||||
public static GameHome getHomeByUid(int id) {
|
||||
return DatabaseManager.getGameDatastore().find(GameHome.class).filter(Filters.eq("ownerUid", id)).first();
|
||||
}
|
||||
|
||||
|
||||
public static void saveHome(GameHome gameHome) {
|
||||
DatabaseManager.getGameDatastore().save(gameHome);
|
||||
}
|
||||
|
||||
|
||||
public static BattlePassManager loadBattlePass(Player player) {
|
||||
BattlePassManager manager = DatabaseManager.getGameDatastore().find(BattlePassManager.class).filter(Filters.eq("ownerUid", player.getUid())).first();
|
||||
if (manager == null) {
|
||||
@@ -316,7 +321,7 @@ public final class DatabaseHelper {
|
||||
}
|
||||
return manager;
|
||||
}
|
||||
|
||||
|
||||
public static void saveBattlePass(BattlePassManager manager) {
|
||||
DatabaseManager.getGameDatastore().save(manager);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user