From ed588e45028427a6bf5646ba91517c7c4158cf43 Mon Sep 17 00:00:00 2001 From: MiaoWoo Date: Mon, 25 Oct 2021 15:54:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=85=AC=E5=91=8A?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MiaoWoo --- packages/api/src/console.ts | 2 +- packages/api/src/server.ts | 6 ++++++ packages/api/src/task.ts | 2 +- packages/bukkit/src/server.ts | 8 +++++++- packages/bungee/src/server.ts | 6 ++++++ packages/nukkit/src/server.ts | 6 ++++++ packages/sponge/src/server.ts | 9 ++++++++- 7 files changed, 35 insertions(+), 4 deletions(-) diff --git a/packages/api/src/console.ts b/packages/api/src/console.ts index 81566745..3b4a88d0 100644 --- a/packages/api/src/console.ts +++ b/packages/api/src/console.ts @@ -105,7 +105,7 @@ export class MiaoScriptConsole implements Console { let sourceMappingURL = lastLine.split('sourceMappingURL=', 2)[1] if (sourceMappingURL.startsWith('data:application/json;base64,')) { sourceContent = String.fromCharCode(...Array.from(base64.toByteArray(sourceMappingURL.split(',', 2)[1]))) - } else if (sourceMappingURL.startsWith('http')) { + } else if (sourceMappingURL.startsWith('http://') || sourceMappingURL.startsWith('https://')) { // TODO } else { let file = Paths.get(Paths.get(fileName, '..', sourceMappingURL).toFile().getCanonicalPath()).toFile() diff --git a/packages/api/src/server.ts b/packages/api/src/server.ts index 37c48924..4449feff 100644 --- a/packages/api/src/server.ts +++ b/packages/api/src/server.ts @@ -73,6 +73,12 @@ export namespace server { getService(service: string): any { throw new Error("Method not implemented.") } + broadcast(message: string, permission: string) { + throw new Error("Method not implemented.") + } + broadcastMessage(message: string) { + throw new Error("Method not implemented.") + } dispatchCommand(sender: string | any, command: string): boolean { throw new Error("Method not implemented.") } diff --git a/packages/api/src/task.ts b/packages/api/src/task.ts index bae11bee..cd630db8 100644 --- a/packages/api/src/task.ts +++ b/packages/api/src/task.ts @@ -17,7 +17,7 @@ export namespace task { this.cacheTasks.delete(taskId) let ownerName = task.getOwner()?.description.name if (ownerName && this.pluginCacheTasks.has(ownerName)) { - this.pluginCacheTasks.get(ownerName).delete(taskId) + this.pluginCacheTasks.get(ownerName)?.delete(taskId) } }) } diff --git a/packages/bukkit/src/server.ts b/packages/bukkit/src/server.ts index 4fef8586..f889652c 100644 --- a/packages/bukkit/src/server.ts +++ b/packages/bukkit/src/server.ts @@ -4,7 +4,7 @@ import { provideSingleton } from '@ccms/container' import * as reflect from '@ccms/common/dist/reflect' import chat from './enhance/chat' -let Bukkit = org.bukkit.Bukkit +let Bukkit: typeof org.bukkit.Bukkit = org.bukkit.Bukkit @provideSingleton(server.Server) export class BukkitServer extends server.ReflectServer { @@ -30,6 +30,12 @@ export class BukkitServer extends server.ReflectServer { getService(service: string) { return Bukkit.getServicesManager().getRegistration(base.getClass(service))?.getProvider() } + broadcast(message: string, permission: string) { + return Bukkit.broadcast(message, permission) + } + broadcastMessage(message: string) { + return Bukkit.broadcastMessage(message) + } dispatchCommand(sender: string | any, command: string): boolean { if (typeof sender === 'string') { sender = this.getPlayer(sender) diff --git a/packages/bungee/src/server.ts b/packages/bungee/src/server.ts index 87acac73..a4280cae 100644 --- a/packages/bungee/src/server.ts +++ b/packages/bungee/src/server.ts @@ -58,6 +58,12 @@ export class BungeeServer implements server.Server { getService(service: string) { throw new Error("Method not implemented.") } + broadcast(message: string, permission: string) { + return Bungee.broadcast(message) + } + broadcastMessage(message: string) { + return Bungee.broadcast(message) + } dispatchCommand(sender: string | any, command: string): boolean { if (typeof sender === 'string') { sender = this.getPlayer(sender) diff --git a/packages/nukkit/src/server.ts b/packages/nukkit/src/server.ts index dea99d1f..8ba8f444 100644 --- a/packages/nukkit/src/server.ts +++ b/packages/nukkit/src/server.ts @@ -27,6 +27,12 @@ export class NukkitServer implements server.Server { getService(service: string) { return Nukkit.getServiceManager().getProvider(base.getClass(service)) } + broadcast(message: string, permission: string) { + return Nukkit.broadcast(message, permission) + } + broadcastMessage(message: string) { + return Nukkit.broadcastMessage(message) + } dispatchCommand(sender: string | any, command: string): boolean { if (typeof sender === 'string') { sender = this.getPlayer(sender) diff --git a/packages/sponge/src/server.ts b/packages/sponge/src/server.ts index 4aeca897..ba729d85 100644 --- a/packages/sponge/src/server.ts +++ b/packages/sponge/src/server.ts @@ -3,7 +3,8 @@ import { provideSingleton } from '@ccms/container' import * as reflect from '@ccms/common/dist/reflect' -const Sponge = org.spongepowered.api.Sponge +const Sponge: typeof org.spongepowered.api.Sponge = org.spongepowered.api.Sponge +const Text: typeof org.spongepowered.api.text.Text = org.spongepowered.api.text.Text const File = Java.type("java.io.File") @provideSingleton(server.Server) @@ -30,6 +31,12 @@ export class SpongeServer extends server.ReflectServer { getService(service: string) { return Sponge.getServiceManager().provide(base.getClass(service)).orElse(null) } + broadcast(message: string, permission: string) { + return Sponge.getServer().getBroadcastChannel().permission(permission).send(Text.of(message) as any) + } + broadcastMessage(message: string) { + return Sponge.getServer().getBroadcastChannel().TO_ALL.send(Text.of(message) as any) + } dispatchCommand(sender: string | any, command: string): boolean { if (typeof sender === 'string') { sender = this.getPlayer(sender)