@ -1,12 +1,36 @@
|
||||
import { server } from '@ccms/api'
|
||||
|
||||
const Bukkit = org.bukkit.Bukkit
|
||||
const Bukkit: typeof org.bukkit.Bukkit = Java.type('org.bukkit.Bukkit')
|
||||
|
||||
export class BukkitNativePluginManager extends server.NativePluginManager {
|
||||
has(name: string) {
|
||||
return !!this.get(name)
|
||||
private bukkitPluginManager: org.bukkit.plugin.PluginManager
|
||||
|
||||
constructor() {
|
||||
super()
|
||||
this.bukkitPluginManager = Bukkit.getPluginManager()
|
||||
}
|
||||
get(name: string) {
|
||||
return Bukkit.getPluginManager().getPlugin(name)
|
||||
|
||||
list(): server.NativePlugin[] {
|
||||
return Java.from(this.bukkitPluginManager.getPlugins()).map(plugin => this.convert(plugin))
|
||||
}
|
||||
has(name: string): boolean {
|
||||
return !!Bukkit.getPluginManager().getPlugin(name)
|
||||
}
|
||||
get(name: string): server.NativePlugin {
|
||||
return this.convert(Bukkit.getPluginManager().getPlugin(name))
|
||||
}
|
||||
|
||||
private convert(plugin: org.bukkit.plugin.Plugin): server.NativePlugin {
|
||||
if (!plugin) return plugin as any
|
||||
let desc = plugin.getDescription()
|
||||
return {
|
||||
name: plugin.getName(),
|
||||
version: desc.getVersion(),
|
||||
authors: Java.from(desc.getAuthors()),
|
||||
depends: Java.from(desc.getDepend()),
|
||||
softDepends: Java.from(desc.getSoftDepend()),
|
||||
enable: plugin.isEnabled(),
|
||||
origin: plugin
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,11 +21,11 @@ export class BukkitTaskManager extends task.TaskManager {
|
||||
export class BukkitTask extends task.Task {
|
||||
submit0(...args: any[]): task.Cancelable {
|
||||
let run = new BukkitRunnable({ run: () => this.run(...args) })
|
||||
let funcName = `runTask${this.interval ? 'Timer' : 'Later'}${this.isAsync ? 'Asynchronously' : ''}`
|
||||
let suffix = this.isAsync ? 'Asynchronously' : ''
|
||||
if (this.interval) {
|
||||
return run[funcName](base.getInstance(), this.laterTime, this.interval)
|
||||
return run[`runTaskTimer${suffix}`](base.getInstance(), this.laterTime, this.interval)
|
||||
} else {
|
||||
return run[funcName](base.getInstance(), this.laterTime)
|
||||
return run[`runTaskLater${suffix}`](base.getInstance(), this.laterTime)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user