feat: 准备 1.4.0 稳定版本
This commit is contained in:
+35
@@ -0,0 +1,35 @@
|
||||
package cn.infstar.essentialsC.maintenance;
|
||||
|
||||
import cn.infstar.essentialsC.EssentialsC;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
final class MaintenancePermissionResolverFactory {
|
||||
|
||||
private static final String LUCKPERMS_RESOLVER_CLASS =
|
||||
"cn.infstar.essentialsC.maintenance.LuckPermsMaintenancePermissionResolver";
|
||||
|
||||
private MaintenancePermissionResolverFactory() {
|
||||
}
|
||||
|
||||
static MaintenancePermissionResolver create(EssentialsC plugin) {
|
||||
Plugin luckPerms = plugin.getServer().getPluginManager().getPlugin("LuckPerms");
|
||||
if (luckPerms == null || !luckPerms.isEnabled()) {
|
||||
plugin.getLogger().info("未检测到 LuckPerms,维护模式将在玩家加入后复核绕过权限。");
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
Class<?> resolverClass = Class.forName(LUCKPERMS_RESOLVER_CLASS, true, plugin.getClass().getClassLoader());
|
||||
return (MaintenancePermissionResolver) resolverClass
|
||||
.getConstructor(EssentialsC.class)
|
||||
.newInstance(plugin);
|
||||
} catch (ClassNotFoundException | NoSuchMethodException | InstantiationException
|
||||
| IllegalAccessException | InvocationTargetException | LinkageError exception) {
|
||||
plugin.getLogger().warning("LuckPerms 维护权限解析器初始化失败,将在玩家加入后复核权限: "
|
||||
+ exception.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user