Convert to the far superior config system

This commit is contained in:
KingRainbow44
2022-05-11 00:30:07 -04:00
parent 5ad58a4566
commit 6894ab8aae
39 changed files with 504 additions and 373 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;
@@ -21,11 +20,9 @@ import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.game.mail.Mail;
import emu.grasscutter.game.player.Player;
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;
@@ -44,7 +41,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;
@@ -53,13 +50,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);
@@ -80,9 +77,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 {