From 5fde2e5554331224122330b819bce8736f528e18 Mon Sep 17 00:00:00 2001 From: MiaoWoo Date: Sat, 15 Feb 2020 19:40:25 +0800 Subject: [PATCH] feat: update example plugin Signed-off-by: MiaoWoo --- packages/plugins/src/HelloWorld.ts | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/plugins/src/HelloWorld.ts b/packages/plugins/src/HelloWorld.ts index e2ce61aa..de0f5391 100644 --- a/packages/plugins/src/HelloWorld.ts +++ b/packages/plugins/src/HelloWorld.ts @@ -2,18 +2,23 @@ /// /// +import { server } from '@ms/api'; +import { inject } from '@ms/container'; import { plugin, interfaces, cmd, listener, tab } from '@ms/plugin' @plugin({ name: 'HelloWorld', version: '1.0.0', author: 'MiaoWoo', source: __filename }) export class HelloWorld extends interfaces.Plugin { + @inject(server.Server) + private Server: server.Server + load() { - this.logger.log('Test Plugin load from MiaoScript Plugin System...'); + this.logger.log('Plugin load from MiaoScript Plugin System...'); } enable() { - this.logger.log('Test Plugin enable from MiaoScript Plugin System...'); + this.logger.log('Plugin enable from MiaoScript Plugin System...'); } disable() { - this.logger.log('Test Plugin disable from MiaoScript Plugin System...'); + this.logger.log('Plugin disable from MiaoScript Plugin System...'); } bukkitload() { @@ -61,13 +66,18 @@ export class HelloWorld extends interfaces.Plugin { PlayerJoin(event: org.bukkit.event.player.PlayerJoinEvent) { let plyaer = event.getPlayer(); this.logger.console(`§cBukkit §aPlayerJoinEvent: §b${plyaer.getName()}`) - setTimeout(() => this.logger.sender(plyaer, `§a欢迎来到 §bMiaoScript §a的世界!`), 10); + setTimeout(() => this.sendWelcome(plyaer), 10); } @listener({ servers: ['sponge'] }) ClientConnectionEvent$Join(event: org.spongepowered.api.event.network.ClientConnectionEvent.Join) { this.logger.console(`§cSponge §aClientConnectionEvent.Join: §b${event.getTargetEntity().getName()}`) - setTimeout(() => this.logger.sender(event.getTargetEntity(), `§a欢迎来到 §bMiaoScript §a的世界!`), 10); + setTimeout(() => this.sendWelcome(event.getTargetEntity()), 10); + } + + private sendWelcome(player: any) { + this.logger.sender(player, `§a欢迎来到 §bMiaoScript §a的世界!`) + this.logger.sender(player, `§6当前版本: §c${this.Server.getVersion()}`) } @listener({ servers: ['bungee'] }) @@ -76,10 +86,4 @@ export class HelloWorld extends interfaces.Plugin { this.logger.console(`§cBungeeCord §aServerConnectedEvent: §b${event.getPlayer().getDisplayName()}`) setTimeout(() => this.logger.sender(event.getPlayer(), `§a欢迎来到 §bMiaoScript §a的世界 §6来自 §cBungeeCord §6的问候!`), 10); } - - @listener({ servers: ["bungee"] }) - PluginMessage(e: any) { - let event = e as net.md_5.bungee.api.event.PluginMessageEvent - this.logger.console(`§cBungeeCord §aPluginMessageEvent: §b${event.getTag()}`) - } }