30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import '@ccms/nashorn'
|
|
import { MiaoScriptConsole } from '@ccms/api'
|
|
|
|
let Sponge = Java.type('org.spongepowered.api.Sponge');
|
|
var Text = Java.type('org.spongepowered.api.text.Text');
|
|
let CommandSource = Java.type('org.spongepowered.api.command.CommandSource');
|
|
|
|
export class SpongeConsole extends MiaoScriptConsole {
|
|
sender(sender, ...args) {
|
|
if (!(sender instanceof CommandSource)) {
|
|
this.error('第一个参数未实现 org.spongepowered.api.command.CommandSource 无法发送消息!')
|
|
return
|
|
}
|
|
if (Object.prototype.toString.call(args[0]) === '[object Array]') {
|
|
args[0].forEach(line => sender.sendMessage(Text.of(this.prefix + line)))
|
|
} else {
|
|
sender.sendMessage(Text.of(this.prefix + args.join(' ')));
|
|
}
|
|
}
|
|
console(...args): void {
|
|
this.sender(Sponge.server.console, args.join(' '));
|
|
}
|
|
warn(...args) {
|
|
this.logger.warn(this.name + args.join(' '));
|
|
}
|
|
error(...args) {
|
|
this.logger.error(this.name + args.join(' '));
|
|
}
|
|
}
|