mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 01:15:52 +01:00
Merge branch 'development' into dev-quests
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user