Compare commits

..

3 Commits

Author SHA1 Message Date
1ddcf02bbb v0.28.0-beta.11 2025-07-15 18:30:42 +08:00
af76fe723c feat(bukkit): 支持 Minecraft 1.20 版本 2025-07-14 17:01:25 +08:00
9250dbb2ad feat: use workspace version 2025-07-14 16:56:16 +08:00
23 changed files with 155 additions and 140 deletions

View File

@@ -1,5 +1,5 @@
{
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"npmClient": "pnpm",
"command": {
"run": {

View File

@@ -21,7 +21,7 @@
"postpublish": "pnpm sync"
},
"devDependencies": {
"@ccms/nashorn": "^0.28.0-beta.3",
"@ccms/nashorn": "workspace:*",
"@javatypes/jdk": "^0.0.3",
"@lerna-lite/cli": "^2.6.0",
"@lerna-lite/publish": "^2.6.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/api",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript api package",
"keywords": [
"miaoscript",
@@ -24,14 +24,14 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"dependencies": {
"@ccms/common": "^0.28.0-beta.10",
"@ccms/container": "^0.28.0-beta.10",
"@ccms/i18n": "^0.28.0-beta.10",
"@ccms/polyfill": "^0.28.0-beta.10",
"@ccms/common": "workspace:*",
"@ccms/container": "workspace:*",
"@ccms/i18n": "workspace:*",
"@ccms/polyfill": "workspace:*",
"base64-js": "^1.5.1",
"source-map-builder": "^0.0.7"
},
"devDependencies": {
"@types/base64-js": "^1.3.0"
"@types/base64-js": "^1.5.0"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/bukkit",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript bukkit package",
"keywords": [
"miaoscript",
@@ -27,8 +27,8 @@
"@javatypes/spigot-api": "^0.0.3"
},
"dependencies": {
"@ccms/api": "^0.28.0-beta.10",
"@ccms/common": "^0.28.0-beta.10",
"@ccms/container": "^0.28.0-beta.10"
"@ccms/api": "workspace:*",
"@ccms/common": "workspace:*",
"@ccms/container": "workspace:*"
}
}

View File

@@ -65,28 +65,32 @@ abstract class BukkitChatInvoke {
return base.getClass(['net.minecraft.server', this.nmsVersion, name].join('.'))
}
remapMethod(clazz: any, origin: string, test: string, params: any) {
try {
return clazz.getMethod(origin, params)
} catch (ex: any) {
if (this.RemapUtils) {
return clazz.getMethod(this.RemapUtils.mapMethod(clazz, origin, params), params)
} else {
return clazz.getMethod(test, params)
remapMethod(clazz: any, methods: string[], params: any) {
for (const method of methods) {
try {
if (this.RemapUtils) {
return clazz.getMethod(this.RemapUtils.mapMethod(clazz, method, params), params)
} else {
return clazz.getMethod(method, params)
}
} catch (error) {
}
}
throw new Error(`Class ${clazz} not found method ${methods}`)
}
remapFieldName(clazz: any, origin: string, test: string) {
try {
return clazz.getField(origin)
} catch (ex: any) {
if (this.RemapUtils) {
return clazz.getField(this.RemapUtils.mapFieldName(clazz, origin))
} else {
return clazz.getField(test)
remapFieldName(clazz: any, fields: string[]) {
for (const field of fields) {
try {
if (this.RemapUtils) {
return clazz.getField(this.RemapUtils.mapFieldName(clazz, field))
} else {
return clazz.getField(field)
}
} catch (ex: any) {
}
}
throw new Error(`Class ${clazz} not found field ${fields}`)
}
json(sender: any, json: string) {
@@ -107,10 +111,10 @@ abstract class BukkitChatInvoke {
class BukkitChatInvokeBase extends BukkitChatInvoke {
getSendPacketMethodName(playerConnectionClass: any) {
return this.remapMethod(playerConnectionClass, 'sendPacket', 'func_179290_a', this.getPacketClass()).getName()
return this.remapMethod(playerConnectionClass, ['sendPacket', 'a', 'func_179290_a'], this.getPacketClass()).getName()
}
getNmsChatSerializerMethodName(nmsChatSerializerClass: any) {
let nmsChatSerializerMethod = this.remapMethod(nmsChatSerializerClass, 'a', 'func_150699_a', base.getClass('java.lang.String'))
let nmsChatSerializerMethod = this.remapMethod(nmsChatSerializerClass, ['serialize', 'a', 'func_150699_a'], base.getClass('java.lang.String'))
return nmsChatSerializerMethod.getName()
}
getPacketPlayOutChat(sender: any, json: any, type: number) {
@@ -123,7 +127,7 @@ class BukkitChatInvokeBase extends BukkitChatInvoke {
return this.nmsCls("PacketPlayOutChat")
}
getPlayerConnectionField() {
return this.remapFieldName(this.nmsCls('EntityPlayer'), 'playerConnection', 'field_71135_a')
return this.remapFieldName(this.nmsCls('EntityPlayer'), ['playerConnection', 'field_71135_a'])
}
getPacketClass() {
return this.nmsCls('Packet')
@@ -174,13 +178,27 @@ class BukkitChatInvoke_1_19 extends BukkitChatInvoke_1_18_2 {
return new this.PacketPlayOutChat(this.ChatSerializer[this.nmsChatSerializerMethodName](json), type)
}
}
class BukkitChatInvoke_1_20 extends BukkitChatInvoke_1_19 {
getNmsChatSerializerClass() {
return base.getClass('net.minecraft.network.chat.IChatBaseComponent')
}
getNmsChatSerializerMethodName(nmsChatSerializerClass: any) {
let nmsChatSerializerMethod = this.remapMethod(nmsChatSerializerClass, ['literal', 'a'], base.getClass('java.lang.String'))
return nmsChatSerializerMethod.getName()
}
getPlayerConnectionField() {
return base.getClass('net.minecraft.server.level.EntityPlayer').getField('f')
}
}
try {
let Bukkit: typeof org.bukkit.Bukkit = Java.type('org.bukkit.Bukkit')
// @ts-ignore
let nmsVersion = Bukkit.getServer().class.name.split('.')[3]
let nmsSubVersion = nmsVersion.split("_")[1]
if (nmsSubVersion >= 19) {
if (nmsSubVersion >= 20) {
bukkitChatInvoke = new BukkitChatInvoke_1_20(nmsVersion)
} else if (nmsSubVersion >= 19) {
bukkitChatInvoke = new BukkitChatInvoke_1_19(nmsVersion)
} else if (nmsSubVersion >= 18) {
bukkitChatInvoke = new BukkitChatInvoke_1_18_2(nmsVersion)

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/bungee",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript bungee package",
"keywords": [
"miaoscript",
@@ -27,8 +27,8 @@
"@javatypes/bungee-api": "^0.0.3"
},
"dependencies": {
"@ccms/api": "^0.28.0-beta.10",
"@ccms/common": "^0.28.0-beta.10",
"@ccms/container": "^0.28.0-beta.10"
"@ccms/api": "workspace:*",
"@ccms/common": "workspace:*",
"@ccms/container": "workspace:*"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/common",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript common package",
"keywords": [
"miaoscript",
@@ -24,7 +24,7 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"devDependencies": {
"@ccms/nashorn": "^0.28.0-beta.10",
"@ccms/nashorn": "workspace:*",
"@javatypes/jdk": "^0.0.3"
},
"gitHead": "562e2d00175c9d3a99c8b672aa07e6d92706a027"

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/compile",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript compile package",
"keywords": [
"miaoscript",

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/container",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript container package",
"keywords": [
"miaoscript",
@@ -23,11 +23,11 @@
"build": "pnpm clean && tsc",
"test": "echo \"Error: run tests from root\" && exit 1"
},
"devDependencies": {
"@ccms/nashorn": "^0.28.0-beta.10"
},
"dependencies": {
"inversify": "^6.0.1",
"inversify-binding-decorators": "^4.0.0"
},
"devDependencies": {
"@ccms/nashorn": "workspace:*"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/core",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript core package",
"keywords": [
"miaoscript",
@@ -24,15 +24,15 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"devDependencies": {
"@rollup/plugin-typescript": "^11.1.5",
"rollup": "^2.79.1",
"@rollup/plugin-typescript": "^11.1.6",
"rollup": "^2.79.2",
"rollup-obfuscator": "^3.0.2",
"rollup-plugin-peer-deps-external": "^2.2.4"
},
"dependencies": {
"@ccms/api": "^0.28.0-beta.10",
"@ccms/common": "^0.28.0-beta.10",
"@ccms/container": "^0.28.0-beta.10",
"@ccms/api": "workspace:*",
"@ccms/common": "workspace:*",
"@ccms/container": "workspace:*",
"js-yaml": "^4.1.0"
},
"gitHead": "781524f83e52cad26d7c480513e3c525df867121"

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/database",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript database package",
"keywords": [
"miaoscript",
@@ -27,7 +27,7 @@
"@javatypes/spring-jdbc": "^0.0.3"
},
"dependencies": {
"@ccms/api": "^0.28.0-beta.10",
"@ccms/container": "^0.28.0-beta.10"
"@ccms/api": "workspace:*",
"@ccms/container": "workspace:*"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/i18n",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript i18n package",
"keywords": [
"miaoscript",
@@ -24,12 +24,12 @@
"build": "pnpm clean && tsc",
"test": "echo \"Error: run tests from root\" && exit 1"
},
"devDependencies": {
"@ccms/nashorn": "^0.28.0-beta.10",
"@types/js-yaml": "^4.0.5"
},
"dependencies": {
"js-yaml": "^4.1.0"
},
"devDependencies": {
"@ccms/nashorn": "workspace:*",
"@types/js-yaml": "^4.0.9"
},
"gitHead": "781524f83e52cad26d7c480513e3c525df867121"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/molang",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "A fast parser for Minecraft's MoLang",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -26,6 +26,6 @@
},
"homepage": "https://github.com/solvedDev/MoLang#readme",
"devDependencies": {
"@types/node": "^18.17.15"
"@types/node": "^18.19.118"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/nashorn",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript nashorn package",
"keywords": [
"miaoscript",

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/nodejs",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript nodejs package",
"keywords": [
"miaoscript",
@@ -24,7 +24,7 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"devDependencies": {
"@ccms/nashorn": "^0.28.0-beta.10"
"@ccms/nashorn": "workspace:*"
},
"gitHead": "781524f83e52cad26d7c480513e3c525df867121"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/nukkit",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript nukkit package",
"keywords": [
"miaoscript",
@@ -27,8 +27,8 @@
"@javatypes/nukkit-api": "^0.0.3"
},
"dependencies": {
"@ccms/api": "^0.28.0-beta.10",
"@ccms/common": "^0.28.0-beta.10",
"@ccms/container": "^0.28.0-beta.10"
"@ccms/api": "workspace:*",
"@ccms/common": "workspace:*",
"@ccms/container": "workspace:*"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/plugin",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript plugin package",
"keywords": [
"miaoscript",
@@ -24,16 +24,16 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"devDependencies": {
"@types/crypto-js": "^4.1.2",
"@types/js-yaml": "^4.0.5"
"@types/crypto-js": "^4.2.2",
"@types/js-yaml": "^4.0.9"
},
"dependencies": {
"@ccms/api": "^0.28.0-beta.10",
"@ccms/common": "^0.28.0-beta.10",
"@ccms/container": "^0.28.0-beta.10",
"@ccms/i18n": "^0.28.0-beta.10",
"@ccms/api": "workspace:*",
"@ccms/common": "workspace:*",
"@ccms/container": "workspace:*",
"@ccms/i18n": "workspace:*",
"@ccms/verify": "^0.26.1",
"crypto-js": "^4.1.1",
"crypto-js": "^4.2.0",
"js-yaml": "^4.1.0"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/polyfill",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript polyfill package",
"author": "MiaoWoo <admin@yumc.pw>",
"homepage": "https://github.com/circlecloud/ms.git",
@@ -19,11 +19,8 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"dependencies": {
"@ccms/i18n": "^0.28.0-beta.10",
"@ccms/nodejs": "^0.28.0-beta.10",
"core-js": "^3.33.2"
},
"devDependencies": {
"@ccms/nashorn": "^0.28.0-beta.10"
"@ccms/i18n": "workspace:*",
"@ccms/nodejs": "workspace:*",
"core-js": "^3.44.0"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/protocol",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript protocol package",
"keywords": [
"miaoscript",

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/qrcode",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript qrcode package",
"keywords": [
"miaoscript",

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@ccms/runtime",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "development runtime",
"keywords": [
"miaoscript",
@@ -25,23 +25,23 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"devDependencies": {
"@ccms/api": "^0.28.0-beta.10",
"@ccms/bukkit": "^0.28.0-beta.10",
"@ccms/bungee": "^0.28.0-beta.10",
"@ccms/common": "^0.28.0-beta.10",
"@ccms/container": "^0.28.0-beta.10",
"@ccms/core": "^0.28.0-beta.10",
"@ccms/database": "^0.28.0-beta.10",
"@ccms/i18n": "^0.28.0-beta.10",
"@ccms/molang": "^0.28.0-beta.10",
"@ccms/nashorn": "^0.28.0-beta.10",
"@ccms/nodejs": "^0.28.0-beta.10",
"@ccms/nukkit": "^0.28.0-beta.10",
"@ccms/plugin": "^0.28.0-beta.10",
"@ccms/polyfill": "^0.28.0-beta.10",
"@ccms/protocol": "^0.28.0-beta.10",
"@ccms/qrcode": "^0.28.0-beta.10",
"@ccms/sponge": "^0.28.0-beta.10",
"@ccms/websocket": "^0.28.0-beta.10"
"@ccms/api": "workspace:*",
"@ccms/bukkit": "workspace:*",
"@ccms/bungee": "workspace:*",
"@ccms/common": "workspace:*",
"@ccms/container": "workspace:*",
"@ccms/core": "workspace:*",
"@ccms/database": "workspace:*",
"@ccms/i18n": "workspace:*",
"@ccms/molang": "workspace:*",
"@ccms/nashorn": "workspace:*",
"@ccms/nodejs": "workspace:*",
"@ccms/nukkit": "workspace:*",
"@ccms/plugin": "workspace:*",
"@ccms/polyfill": "workspace:*",
"@ccms/protocol": "workspace:*",
"@ccms/qrcode": "workspace:*",
"@ccms/sponge": "workspace:*",
"@ccms/websocket": "workspace:*"
}
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ccms/sponge",
"version": "0.28.0-beta.10",
"version": "0.28.0-beta.11",
"description": "MiaoScript sponge package",
"keywords": [
"miaoscript",
@@ -27,8 +27,8 @@
"@javatypes/sponge-api": "^0.0.3"
},
"dependencies": {
"@ccms/api": "^0.28.0-beta.10",
"@ccms/common": "^0.28.0-beta.10",
"@ccms/container": "^0.28.0-beta.10"
"@ccms/api": "workspace:*",
"@ccms/common": "workspace:*",
"@ccms/container": "workspace:*"
}
}

View File

@@ -1,35 +1,35 @@
{
"name": "@ccms/websocket",
"version": "0.28.0-beta.10",
"description": "MiaoScript websocket package",
"keywords": [
"miaoscript",
"minecraft",
"bukkit",
"sponge"
],
"author": "MiaoWoo <admin@yumc.pw>",
"homepage": "https://github.com/circlecloud/ms.git",
"license": "ISC",
"main": "dist/index.js",
"files": [
"dist/**/*.js",
"dist/**/*.ts",
"dist/**/*.map"
],
"scripts": {
"clean": "rimraf dist",
"watch": "tsc --watch",
"build": "pnpm clean && tsc",
"test": "echo \"Error: run tests from root\" && exit 1"
},
"dependencies": {
"@socket.io/component-emitter": "3.1.0",
"backo2": "^1.0.2",
"parseuri": "^0.0.6"
},
"devDependencies": {
"@ccms/nashorn": "^0.28.0-beta.10",
"@javatypes/tomcat-websocket-api": "^0.0.3"
}
"name": "@ccms/websocket",
"version": "0.28.0-beta.11",
"description": "MiaoScript websocket package",
"keywords": [
"miaoscript",
"minecraft",
"bukkit",
"sponge"
],
"author": "MiaoWoo <admin@yumc.pw>",
"homepage": "https://github.com/circlecloud/ms.git",
"license": "ISC",
"main": "dist/index.js",
"files": [
"dist/**/*.js",
"dist/**/*.ts",
"dist/**/*.map"
],
"scripts": {
"clean": "rimraf dist",
"watch": "tsc --watch",
"build": "pnpm clean && tsc",
"test": "echo \"Error: run tests from root\" && exit 1"
},
"dependencies": {
"@ccms/container": "workspace:*",
"@socket.io/component-emitter": "3.1.0",
"backo2": "^1.0.2",
"parseuri": "^0.0.6"
},
"devDependencies": {
"@javatypes/tomcat-websocket-api": "^0.0.3"
}
}