Merge changes from hamusuke (#1)

This commit is contained in:
KingRainbow44
2023-08-26 17:57:46 -04:00
parent 7dd63e9816
commit 396f302eac
14 changed files with 195 additions and 89 deletions

View File

@@ -21,6 +21,7 @@ import emu.grasscutter.game.quest.GameMainQuest;
import emu.grasscutter.game.world.SceneGroupInstance;
import emu.grasscutter.utils.objects.Returnable;
import io.netty.util.concurrent.FastThreadLocalThread;
import javax.annotation.Nullable;
import java.util.List;
import java.util.concurrent.*;
import java.util.stream.Stream;
@@ -541,11 +542,20 @@ public final class DatabaseHelper {
DatabaseHelper.saveGameAsync(musicGameBeatmap);
}
@Nullable
public static Achievements getAchievementData(int uid) {
return DatabaseManager.getGameDatastore()
try {
return DatabaseManager.getGameDatastore()
.find(Achievements.class)
.filter(Filters.and(Filters.eq("uid", uid)))
.first();
} catch (IllegalArgumentException e) {
Grasscutter.getLogger().debug("Error occurred while getting uid " + uid + "'s achievement data", e);
DatabaseManager.getGameDatabase()
.getCollection("achievements")
.deleteMany(eq("uid", uid));
return null;
}
}
public static void saveAchievementData(Achievements achievements) {