Compare commits

..

6 Commits

Author SHA1 Message Date
14d30a7b3e v0.19.8 2022-04-04 05:17:27 +08:00
16502ecc01 feat: remove global initialize
Signed-off-by: MiaoWoo <admin@yumc.pw>
2022-04-04 05:13:24 +08:00
9d891b5596 v0.19.7 2022-04-04 04:28:12 +08:00
87b7c66282 fix: 修复子命令权限处理异常
Signed-off-by: MiaoWoo <admin@yumc.pw>
2022-04-04 04:27:47 +08:00
c8df79a072 v0.19.6 2022-04-03 03:10:13 +08:00
2aef84604b fix: api interface error
Signed-off-by: MiaoWoo <admin@yumc.pw>
2022-04-03 03:07:18 +08:00
17 changed files with 90 additions and 56 deletions

View File

@@ -1,5 +1,5 @@
{ {
"version": "0.19.5", "version": "0.19.8",
"useWorkspaces": true, "useWorkspaces": true,
"npmClient": "yarn", "npmClient": "yarn",
"packages": [ "packages": [

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/amqp", "name": "@ccms/amqp",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript amqp package", "description": "MiaoScript amqp package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -19,7 +19,7 @@
"test": "echo \"Error: run tests from root\" && exit 1" "test": "echo \"Error: run tests from root\" && exit 1"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/common": "^0.19.0", "@ccms/common": "^0.19.0",
"@ccms/container": "^0.19.0" "@ccms/container": "^0.19.0"
}, },

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/api", "name": "@ccms/api",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript api package", "description": "MiaoScript api package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",

View File

@@ -20,7 +20,7 @@ export namespace plugin {
export abstract class PluginManager { export abstract class PluginManager {
abstract scan(folder: string): void abstract scan(folder: string): void
abstract build(): void abstract build(): void
abstract loadFromFile(file: string, ext: any): Plugin abstract loadFromFile(file: string, ext?: any): Plugin
abstract load(...args: any[]): void abstract load(...args: any[]): void
abstract enable(...args: any[]): void abstract enable(...args: any[]): void
abstract disable(...args: any[]): void abstract disable(...args: any[]): void

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/bukkit", "name": "@ccms/bukkit",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript bukkit package", "description": "MiaoScript bukkit package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -25,7 +25,7 @@
"typescript": "^4.5.5" "typescript": "^4.5.5"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/common": "^0.19.0", "@ccms/common": "^0.19.0",
"@ccms/container": "^0.19.0" "@ccms/container": "^0.19.0"
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/bungee", "name": "@ccms/bungee",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript bungee package", "description": "MiaoScript bungee package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -25,7 +25,7 @@
"typescript": "^4.5.5" "typescript": "^4.5.5"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/common": "^0.19.0", "@ccms/common": "^0.19.0",
"@ccms/container": "^0.19.0" "@ccms/container": "^0.19.0"
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/core", "name": "@ccms/core",
"version": "0.19.5", "version": "0.19.8",
"description": "MiaoScript api package", "description": "MiaoScript api package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -24,7 +24,7 @@
"typescript": "^4.5.5" "typescript": "^4.5.5"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/container": "^0.19.0" "@ccms/container": "^0.19.0"
}, },
"gitHead": "781524f83e52cad26d7c480513e3c525df867121" "gitHead": "781524f83e52cad26d7c480513e3c525df867121"

View File

@@ -1,4 +1,13 @@
function exit() { function exit() {
var http = require('@ccms/common/dist/http').default
function upgradeModules(core) {
if (base.version && global.ScriptEngineVersion != core['dist-tags']['latest']) {
var Paths = Java.type('java.nio.file.Paths')
base.save(Paths.get(root, "upgrade"), core['dist-tags']['latest'])
console.info('@ccms/core found new version ' + core['dist-tags']['latest'] + ' will upgrade after reboot!')
}
}
upgradeModules(http.get('https://registry.npmmirror.com/@ccms/core'))
console.debug('exit finish!') console.debug('exit finish!')
} }
exit() exit()

View File

@@ -1,22 +1,34 @@
var fs = require('@ccms/common/dist/fs') global.initialize = function () {
function updateJar() {
if (!base.version) {
var pluginFolder = fs.file(fs.concat(root, '..'))
var updateFolder = fs.concat(pluginFolder, 'update')
}
}
function upgradeModules(core) {
if (base.version && global.ScriptEngineVersion != core['dist-tags']['latest']) {
var Paths = Java.type('java.nio.file.Paths')
base.save(Paths.get(root, "upgrade"), core['dist-tags']['latest'])
console.info('@ccms/core found new version ' + core['dist-tags']['latest'] + ' will upgrade after reboot!')
}
}
function initialize() {
var mspmc = 'https://ms.yumc.pw/api/plugin/download/name/' var mspmc = 'https://ms.yumc.pw/api/plugin/download/name/'
var artifact = 'https://ci.yumc.pw/job/Minecraft/job/MiaoScript/lastSuccessfulBuild/artifact'
var fs = require('@ccms/common/dist/fs')
var http = require('@ccms/common/dist/http').default var http = require('@ccms/common/dist/http').default
function updateJar() {
var DocumentBuilderFactory = Java.type('javax.xml.parsers.DocumentBuilderFactory')
var URLDecoder = Java.type('java.net.URLDecoder')
var pom = DocumentBuilderFactory.newInstance().newDocumentBuilder()
.parse(artifact + "/pom.xml")
var latestVersion = pom.getElementsByTagName("version").item(0).getTextContent()
if (base.version != latestVersion) {
var pluginFolder = fs.file(fs.concat(root, '..'))
var updateFolder = fs.concat(pluginFolder, 'update')
fs.mkdirs(updateFolder)
var filePath = base.getInstance().class.classLoader.getURLs()[0]
var pluginFile = fs.file(URLDecoder.decode(filePath.getFile(), "UTF-8"))
var updateFile = fs.file(updateFolder, pluginFile.getName())
http.download(artifact + "/target/MiaoScript.jar", updateFile.getAbsolutePath())
console.info('MiaoScript found new version ' + latestVersion + ' will upgrade after reboot!')
}
}
function upgradeModules(core) {
if (base.version && global.ScriptEngineVersion != core['dist-tags']['latest']) {
var Paths = Java.type('java.nio.file.Paths')
base.save(Paths.get(root, "upgrade"), core['dist-tags']['latest'])
console.info('@ccms/core found new version ' + core['dist-tags']['latest'] + ' will upgrade after reboot!')
}
}
var pluginFolder = fs.concat(root, 'plugins') var pluginFolder = fs.concat(root, 'plugins')
var updateFolder = fs.concat(pluginFolder, 'update') var updateFolder = fs.concat(pluginFolder, 'update')
var pluginFile = fs.concat(pluginFolder, 'MiaoScriptPackageManager.js') var pluginFile = fs.concat(pluginFolder, 'MiaoScriptPackageManager.js')
@@ -43,9 +55,14 @@ function initialize() {
try { try {
Java.type("org.bukkit.Bukkit") Java.type("org.bukkit.Bukkit")
updateJar() updateJar()
} catch (ignore) { } catch (error) {
console.debug(error)
if (global.debug) {
console.ex(error)
}
} }
upgradeModules(http.get('https://registry.npmmirror.com/@ccms/core')) upgradeModules(http.get('https://registry.npmmirror.com/@ccms/core'))
console.debug('initialize finish!') console.debug('initialize finish!')
} }
initialize() global.initialize()
delete global.initialize

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/database", "name": "@ccms/database",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript database package", "description": "MiaoScript database package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -25,7 +25,7 @@
"typescript": "^4.5.5" "typescript": "^4.5.5"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/container": "^0.19.0" "@ccms/container": "^0.19.0"
} }
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/keyvalue", "name": "@ccms/keyvalue",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript keyvalue package", "description": "MiaoScript keyvalue package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -19,7 +19,7 @@
"test": "echo \"Error: run tests from root\" && exit 1" "test": "echo \"Error: run tests from root\" && exit 1"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/common": "^0.19.0", "@ccms/common": "^0.19.0",
"@ccms/container": "^0.19.0" "@ccms/container": "^0.19.0"
}, },

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/nukkit", "name": "@ccms/nukkit",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript nukkit package", "description": "MiaoScript nukkit package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -25,7 +25,7 @@
"typescript": "^4.5.5" "typescript": "^4.5.5"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/common": "^0.19.0", "@ccms/common": "^0.19.0",
"@ccms/container": "^0.19.0" "@ccms/container": "^0.19.0"
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/plugin", "name": "@ccms/plugin",
"version": "0.19.5", "version": "0.19.7",
"description": "MiaoScript api package", "description": "MiaoScript api package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -25,7 +25,7 @@
"typescript": "^4.5.5" "typescript": "^4.5.5"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/common": "^0.19.0", "@ccms/common": "^0.19.0",
"@ccms/container": "^0.19.0", "@ccms/container": "^0.19.0",
"@ccms/i18n": "^0.19.0", "@ccms/i18n": "^0.19.0",

View File

@@ -57,6 +57,7 @@ export class PluginCommandManager {
let subcommandexec = pluginInstance[cmdKey] let subcommandexec = pluginInstance[cmdKey]
if (!subcommandexec) { if (!subcommandexec) {
subcommandexec = pluginInstance['cmdmain'] subcommandexec = pluginInstance['cmdmain']
subcommand = 'main'
} else { } else {
args.shift() args.shift()
} }
@@ -66,30 +67,37 @@ export class PluginCommandManager {
sender, sender,
pluginInstance['cmdhelp'] ? pluginInstance['cmdhelp'] ?
`§6请执行 §b/${command} §ahelp §6查看帮助!` : `§6请执行 §b/${command} §ahelp §6查看帮助!` :
`§b版本: §a ${pluginInstance.description.version}` [
`§6插件: §b${pluginInstance.description.name}`,
`§6版本: §a${pluginInstance.description.version}`
]
) )
return return
} }
let permission: string let permission: string
if (typeof cmd.permission == "string") { if (cmd.permission && sender.hasPermission) {
permission = cmd.permission as string if (typeof cmd.permission == "string") {
} else if (cmd.permission) { permission = cmd.permission as string
permission = `${pluginInstance.description.name.toLocaleLowerCase()}.${command}.${subcommand}` } else {
} permission = `${pluginInstance.description.name.toLocaleLowerCase()}.${command}.${subcommand}`
if (sender.hasPermission && !sender.hasPermission(permission)) { }
return pluginInstance.logger.sender(sender, `§c你需要 ${permission} 权限 才可执行此命令.`) if (!sender.hasPermission(permission)) {
return pluginInstance.logger.sender(sender, `§c你需要 ${permission} 权限 才可执行此命令.`)
}
} }
return subcommandexec.apply(pluginInstance, [sender, ...args]) return subcommandexec.apply(pluginInstance, [sender, ...args])
} }
let originCompleter = cmdCompleter let originCompleter = cmdCompleter
cmdCompleter = (sender: any, command: string, args: string[]) => { cmdCompleter = (sender: any, command: string, args: string[]) => {
let permission: string let permission: string
if (typeof cmd.permission == "string") { if (cmd.permission && sender.hasPermission) {
permission = cmd.permission as string if (typeof cmd.permission == "string") {
} else if (cmd.permission) { permission = cmd.permission as string
permission = `${pluginInstance.description.name.toLocaleLowerCase()}.${command}` } else {
permission = `${pluginInstance.description.name.toLocaleLowerCase()}.${command}`
}
if (!sender.hasPermission(permission)) { return [] }
} }
if (sender.hasPermission && !sender.hasPermission(permission)) { return [] }
return (args.length == 1 ? cmdSubCache : []).concat(originCompleter?.apply(pluginInstance, [sender, command, args]) || []) return (args.length == 1 ? cmdSubCache : []).concat(originCompleter?.apply(pluginInstance, [sender, command, args]) || [])
} }
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/sponge", "name": "@ccms/sponge",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript api package", "description": "MiaoScript api package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -25,7 +25,7 @@
"typescript": "^4.5.5" "typescript": "^4.5.5"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/common": "^0.19.0", "@ccms/common": "^0.19.0",
"@ccms/container": "^0.19.0" "@ccms/container": "^0.19.0"
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/spring", "name": "@ccms/spring",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript spring package", "description": "MiaoScript spring package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -24,9 +24,9 @@
"typescript": "^4.5.5" "typescript": "^4.5.5"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/common": "^0.19.0", "@ccms/common": "^0.19.0",
"@ccms/container": "^0.19.0", "@ccms/container": "^0.19.0",
"@ccms/database": "^0.19.5" "@ccms/database": "^0.19.6"
} }
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ccms/web", "name": "@ccms/web",
"version": "0.19.5", "version": "0.19.6",
"description": "MiaoScript web package", "description": "MiaoScript web package",
"keywords": [ "keywords": [
"miaoscript", "miaoscript",
@@ -29,7 +29,7 @@
"typescript": "^4.5.5" "typescript": "^4.5.5"
}, },
"dependencies": { "dependencies": {
"@ccms/api": "^0.19.5", "@ccms/api": "^0.19.6",
"@ccms/container": "^0.19.0" "@ccms/container": "^0.19.0"
} }
} }