@ -3,10 +3,34 @@ import { server } from '@ccms/api'
|
||||
let Bungee: net.md_5.bungee.api.ProxyServer = base.getInstance().getProxy()
|
||||
|
||||
export class BungeeNativePluginManager extends server.NativePluginManager {
|
||||
has(name: string) {
|
||||
return !!this.get(name)
|
||||
private bungeePluginManager: net.md_5.bungee.api.plugin.PluginManager
|
||||
|
||||
constructor() {
|
||||
super()
|
||||
this.bungeePluginManager = Bungee.getPluginManager()
|
||||
}
|
||||
get(name: string) {
|
||||
return Bungee.getPluginManager().getPlugin(name)
|
||||
|
||||
list(): server.NativePlugin[] {
|
||||
return Java.from(this.bungeePluginManager.getPlugins()).map(plugin => this.convert(plugin))
|
||||
}
|
||||
has(name: string): boolean {
|
||||
return !!this.bungeePluginManager.getPlugin(name)
|
||||
}
|
||||
get(name: string): server.NativePlugin {
|
||||
return this.convert(this.bungeePluginManager.getPlugin(name))
|
||||
}
|
||||
|
||||
private convert(plugin: net.md_5.bungee.api.plugin.Plugin): server.NativePlugin {
|
||||
if (!plugin) return plugin as any
|
||||
let desc = plugin.getDescription()
|
||||
return {
|
||||
name: desc.getName(),
|
||||
version: desc.getVersion(),
|
||||
authors: [desc.getAuthor()],
|
||||
depends: Java.from(desc.getDepends()) as any,
|
||||
softDepends: Java.from(desc.getSoftDepends()) as any,
|
||||
enable: true,
|
||||
origin: plugin
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user