Custom Permission Handler (#1282)

Co-authored-by: Melledy <52122272+Melledy@users.noreply.github.com>
This commit is contained in:
4Benj_
2022-06-16 23:00:03 +08:00
committed by GitHub
parent 6d59159b8b
commit bb07d9ea41
6 changed files with 75 additions and 16 deletions

View File

@@ -6,6 +6,8 @@ import java.util.Calendar;
import emu.grasscutter.auth.AuthenticationSystem;
import emu.grasscutter.auth.DefaultAuthentication;
import emu.grasscutter.command.CommandMap;
import emu.grasscutter.command.DefaultPermissionHandler;
import emu.grasscutter.command.PermissionHandler;
import emu.grasscutter.game.managers.energy.EnergyManager;
import emu.grasscutter.game.managers.stamina.StaminaManager;
import emu.grasscutter.plugin.PluginManager;
@@ -58,6 +60,7 @@ public final class Grasscutter {
private static GameServer gameServer;
private static PluginManager pluginManager;
private static AuthenticationSystem authenticationSystem;
private static PermissionHandler permissionHandler;
public static final Reflections reflector = new Reflections("emu.grasscutter");
public static ConfigContainer config;
@@ -114,8 +117,9 @@ public final class Grasscutter {
// Initialize database.
DatabaseManager.initialize();
// Initialize the default authentication system.
// Initialize the default systems.
authenticationSystem = new DefaultAuthentication();
permissionHandler = new DefaultPermissionHandler();
// Create server instances.
httpServer = new HttpServer();
@@ -287,6 +291,10 @@ public final class Grasscutter {
return authenticationSystem;
}
public static PermissionHandler getPermissionHandler() {
return permissionHandler;
}
public static int getCurrentDayOfWeek() {
return day;
}
@@ -346,6 +354,14 @@ public final class Grasscutter {
Grasscutter.authenticationSystem = authenticationSystem;
}
/**
* Sets the permission handler for the server.
* @param permissionHandler The permission handler to use.
*/
public static void setPermissionHandler(PermissionHandler permissionHandler) {
Grasscutter.permissionHandler = permissionHandler;
}
/*
* Enums for the configuration.
*/