Merge branch 'development' into dev-quests

This commit is contained in:
Melledy
2022-05-11 03:56:59 -07:00
44 changed files with 702 additions and 495 deletions

View File

@@ -1,6 +1,5 @@
package emu.grasscutter.database;
import com.mongodb.MongoClientURI;
import com.mongodb.MongoCommandException;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
@@ -23,11 +22,9 @@ import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.quest.GameMainQuest;
import emu.grasscutter.game.quest.GameQuest;
import static emu.grasscutter.Configuration.*;
public final class DatabaseManager {
private static MongoClient mongoClient;
private static MongoClient dispatchMongoClient;
private static Datastore datastore;
private static Datastore dispatchDatastore;
@@ -47,7 +44,7 @@ public final class DatabaseManager {
// Yes. I very dislike this method. However, this will be good for now.
// TODO: Add dispatch routes for player account management
public static Datastore getAccountDatastore() {
if(Grasscutter.getConfig().RunMode == ServerRunMode.GAME_ONLY) {
if(SERVER.runMode == ServerRunMode.GAME_ONLY) {
return dispatchDatastore;
} else {
return datastore;
@@ -56,13 +53,13 @@ public final class DatabaseManager {
public static void initialize() {
// Initialize
MongoClient mongoClient = MongoClients.create(Grasscutter.getConfig().DatabaseUrl);
MongoClient mongoClient = MongoClients.create(DATABASE.connectionUri);
// Set mapper options.
MapperOptions mapperOptions = MapperOptions.builder()
.storeEmpties(true).storeNulls(false).build();
// Create data store.
datastore = Morphia.createDatastore(mongoClient, Grasscutter.getConfig().DatabaseCollection, mapperOptions);
datastore = Morphia.createDatastore(mongoClient, DATABASE.collection, mapperOptions);
// Map classes.
datastore.getMapper().map(mappedClasses);
@@ -83,9 +80,9 @@ public final class DatabaseManager {
}
}
if(Grasscutter.getConfig().RunMode == ServerRunMode.GAME_ONLY) {
dispatchMongoClient = MongoClients.create(Grasscutter.getConfig().getGameServerOptions().DispatchServerDatabaseUrl);
dispatchDatastore = Morphia.createDatastore(dispatchMongoClient, Grasscutter.getConfig().getGameServerOptions().DispatchServerDatabaseCollection);
if(SERVER.runMode == ServerRunMode.GAME_ONLY) {
MongoClient dispatchMongoClient = MongoClients.create(GAME_OPTIONS.databaseInfo.connectionUri);
dispatchDatastore = Morphia.createDatastore(dispatchMongoClient, GAME_OPTIONS.databaseInfo.collection);
// Ensure indexes for dispatch server
try {