v3.3.1
Pre-release
Pre-release
v3.3 仅支持147+,146请使用v3.2.1版本
主要更新
- ✨(coreLib) PlaceHoldLib v7.3 @way-zer (3365a88)
- 🐛(wayzer/maps) Vars.world.loadMap内部会捕获异常,导致无法检测换图失败 @way-zer (5d3ab25)
- 🐛(wayzer/user/ext/skills) mono技能 NPE @way-zer (33a5a5a)
- ✨(wayzer/cmds/vote) 更新新的跳波算法 @way-zer (8167efb)
- ✨(loader) 增加Bukkit/Folia支持 @way-zer (a4f8863)
- ✨(coreLib/extApi/rpcService) 基于rmi的主从RPC通讯 @way-zer (9fcb3d5)
- 🏗️(coreLib/PermissionApi) 重制升级,支持过期和context筛选 @way-zer (827aaa4)
- 👽️(wayzer/map/resourceHelper) Jval not for json @way-zer (84ae7a5)
- 🚚(mapScript/shared/hexed) 开源HEXED系列 @way-zer (36cf890)
- ✨(kcp/serialization) 基于新CompileDepends接口实现 @way-zer (4d99364)
- ✨(wayzer/ext/profiler) 基于AsyncProfiler的性能诊断 @way-zer (7c0b0f0)
- ✨(wayzer/user/ext/skills) 重制技能接口,增加
@noSkills支持 @way-zer (561de84) - ✨(wayzer/cmd/gatherTp) 作为特殊技能实现 @way-zer (50b5f37)
- ✨(mapScript/tags/autoExchange) 等价交换 @way-zer (7d967e3)
PlaceHoldLib升级
很久前重制的v7.3版本,一直没更新。但是遇到一些问题还是把v7.3版本上了。
新特性:支持Pipe语法({list|joinLines}),更好的DynamicVar支持函数变量,支持变量嵌套模板
BREAKCHANGE:
- Remove Color
- PlaceHoldContext -> VarString
- DynamicVar.obj -> ObjChild
- DynamicVar.v -> DynamicVar
- DynamicVar params split with ' ' instead ':'
{delta:分钟}->{delta 分钟} - Remove TemplateHandler, Add PlaceHold.templateHandler for lang
Bukkit/Folia支持 (实验性功能)
Loader现在可以作为Bukkit插件,被Paper/Folia服务端加载了。配套功能模块
- https://github.com/way-zer/ScriptAgentRegistry/tree/coreBukkit
- https://github.com/way-zer/ScriptAgentRegistry/tree/superItem
增加[@noSkills]地图标签
可以禁用所有技能和gather使用
完整更新日记
- ✨(coreLib) PlaceHoldLib v7.3 @way-zer (3365a88)
NEW:
- Support Pipe and better DynamicVar
- add Var like
joinandjoinLines
BREAKCHANGE:
- Remove Color
- PlaceHoldContext -> VarString
- DynamicVar.obj -> ObjChild
- DynamicVar.v -> DynamicVar
- DynamicVar params split with ' ' instead ':'
- Remove TemplateHandler, Add PlaceHold.templateHandler for lang
- 🐛(wayzer/maps) Vars.world.loadMap内部会捕获异常,导致无法检测换图失败 @way-zer (5d3ab25)
- 🐛(wayzer/user/ext/skills) mono技能 NPE @way-zer (33a5a5a)
- ⚡️(ci) 减少对rootProject的重复依赖 @way-zer (d905b68)
- 🎨(coreLib/lang) clean @way-zer (f7647cf)
- ✨(wayzer/cmds/vote) 更新新的跳波算法 @way-zer (8167efb)
- ✨(wayzer/cmds/voteMap) 回档增加save显示 @way-zer (2f6f9f1)
- 🏗️(core/util/*)不再直接以源码提供 @way-zer (b0e46c7)
- ✨(wayzer/ext/autoUpdate) 支持MDTX新版本 @way-zer (2c2df9b)
- 🏗️(loader) 拆分common和mindustry的loader @way-zer (e6e6f5b)
- ✨(loader) 增加Bukkit/Folia支持 @way-zer (a4f8863)
- 🐛(loader) Bukkit运行加载 @way-zer (ed5e75d)
- ✨(coreLib) Commands.addWatcher @way-zer (199b4d2)
- 🚑️(loader) 适配coreBukkit @way-zer (f3e0806)
- 🐛(coreLib) Commands.watchers不工作 @way-zer (51fdcfe)
- 🚑️(loader) Target 17 @way-zer (c6ed8cc)
- 🎨(core/menu) 将MenuChooseEvent移出kts @way-zer (1ba6b9e)
- 🎨(core) 将updateOriginCommandHandler移动到CommandImpl内 @way-zer (1c7e303)
- 🎨(wayzer/*) 优先使用thisContextScript而不是contextScript @way-zer (b405c8e)
- ✨(coreLib/extApi/rpcService) 基于rmi的主从RPC通讯 @way-zer (9fcb3d5)
- ✨(wayzer/user/ban) 基于RPC分离主从,拆分为ban和banStore @way-zer (fa254ff)
- 🏗️(coreLib/PermissionApi) 重制升级,支持过期和context筛选 @way-zer (827aaa4)
BreakChange
- 重制PermissionHandler,相关实现全部修改,需重新适配。
- 权限使用接口保持不变,弃用handle接口,改为check接口。
- 🚑️(coreLib/extApi/rpcService)进行测试,修复bug @way-zer (bb1a809)
- ✨(coreLib/extApi/rpcService) 优化关于unexport相关逻辑 @way-zer (3198ddc)
- 🚑️(coreLib/extApi/rpcService) NPE in get when master. @way-zer (bf5e212)
- 🐛(wayzer/ext/autoUpdate) 错误判断mdtx版本 @way-zer (59f827b)
- ⬆️ Mindustry v149 @way-zer (03cec71)
- ⚡️(extApi/rpcService) 支持端口复用 @way-zer (4fe6e05)
- 🐛(wayzer/map/resourceHelper) 通过list获取的地图没有简介 @way-zer (e26ebb9)
- ⬆️ library v1.11.3.1 @way-zer (48bde4f)
KCP插件配套更新
- 🚑️(mapScript/tags/mapRule) unRegisterPermission不存在 @way-zer (33da754)
- ⬆️ MDTX v2025.06.X10 @way-zer (683574f)
- 👷 将 repositories 移回 build.gradle.kts @way-zer (25d4ed9)
- 👽️(core/scoreboard) 变量格式更新 @way-zer (ccd0471)
- 🚚(core/scoreboard) 纠正命名 @way-zer (e6ff3fd)
- 🚚(mapScript/shared/hexed) 开源HEXED系列 @way-zer (36cf890)
- ✨(coreLib) ServiceRegistry.createProxy() @way-zer (d9c5c23)
- (core/scoreboard) 纠正命名 @way-zer (fb0a8a8)
- ✨(wayzer) PlayerData.findByShortId @way-zer (a97943d)
- 👽️(wayzer/map/resourceHelper) Jval not for json @way-zer (84ae7a5)
- ⬆️(wayzer/map/mapSnap) v150 @way-zer (e2faf0c)
- ✨(kcp/serialization) 基于新CompileDepends接口实现 @way-zer (4d99364)
- ✨(wayzer/ext/profiler) 基于AsyncProfiler的性能诊断 @way-zer (7c0b0f0)
- 📝(metadata) @way-zer (7cc01b7)
- ✨(wayzer/user/ext/skills) 重制技能接口,增加
@noSkills支持 @way-zer (561de84) - ✨(wayzer/cmd/gatherTp) 作为特殊技能实现 @way-zer (50b5f37)
- ✨(mapScript/tags/autoExchange) 等价交换 @way-zer (7d967e3)
- 💚(mapScript) 编译错误 @way-zer (f095d7e)
- ⚡️(bootStrap/generate) 使用ScriptManager.compileScript @way-zer (2612b69)
- ⏪️(mapScript) lazy load coreSchema @way-zer (e5de6a2)
- ⬆️(loader) v1.11.4 @way-zer (981284d)
- 💚 fix generate @way-zer (f09e309)
文件变更
95 文件
- 📝 build.gradle.kts +61 -16
- 📝 buildSrc/src/Module.kt +3 -1
- ➕ loader/bukkit/res/plugin.yml
- ➕ loader/bukkit/src/Main.kt
- 🚚 loader/common/ConfigExt.kt <= loader/src/ConfigExt.kt
- 🚚 loader/common/standalone/Main.kt <= loader/src/standalone/Main.kt
- 🚚 loader/common/standalone/loader.kt <= loader/src/standalone/loader.kt
- 🚚 loader/common/util/BuiltinScriptRegistry.kt <= loader/src/util/BuiltinScriptRegistry.kt
- 🚚 loader/common/util/CASPackScriptRegistry.kt <= loader/src/util/CASPackScriptRegistry.kt
- 🚚 loader/common/util/CASScriptPacker.kt <= loader/src/util/CASScriptPacker.kt
- 🚚 loader/common/util/CASScriptSource.kt <= loader/src/util/CASScriptSource.kt
- 🚚 loader/common/util/CAStore.kt <= loader/src/util/CAStore.kt
- 🚚 loader/common/util/CommonMain.kt <= loader/src/util/CommonMain.kt
- 🚚 loader/mindustry/res/META-INF/kotlin/script/templates/.gitkeep <= loader/res/META-INF/kotlin/script/templates/.gitkeep
- 🚚 loader/mindustry/res/plugin.json <= loader/res/plugin.json
- 🚚 loader/mindustry/src/Loader.kt <= loader/src/mindustry/Loader.kt
- 🚚 loader/mindustry/src/Main.kt <= loader/src/mindustry/Main.kt
- 📝 scripts/bootStrap/generate.kts +35 -5
- 📝 scripts/build.gradle.kts +5 -6
- 📝 scripts/coreLibrary/commands/configCmd.kts +1 -1
- 📝 scripts/coreLibrary/commands/control.kts +2 -2
- 📝 scripts/coreLibrary/commands/permissionCmd.kts +2 -2
- ➕ scripts/coreLibrary/extApi/rpcService.kts
- 📝 scripts/coreLibrary/lang.kts +21 -18
- 📝 scripts/coreLibrary/lib/ColorApi.kt +0 -48
- 📝 scripts/coreLibrary/lib/CommandApi.kt +35 -26
- 📝 scripts/coreLibrary/lib/PermissionApi.kt +92 -103
- 📝 scripts/coreLibrary/lib/PlaceHoldApi.kt +23 -13
- 📝 scripts/coreLibrary/lib/util/ServiceRegistry.kt +13 -1
- 📝 scripts/coreLibrary/lib/util/menu.kt +1 -1
- 📝 scripts/coreLibrary/module.kts +3 -3
- 📝 scripts/coreLibrary/variables.kts +18 -19
- 📝 scripts/coreMindustry/contentsTweaker.kts +4 -4
- 📝 scripts/coreMindustry/lib/CommandImpl.kt +31 -2
- 📝 scripts/coreMindustry/menu.kts +0 -7
- 📝 scripts/coreMindustry/menu.lib.kt +15 -7
- 📝 scripts/coreMindustry/menu.new.kt +4 -4
- 📝 scripts/coreMindustry/module.kts +1 -26
- 🚚 scripts/coreMindustry/scoreboard.kts <= scripts/coreMindustry/scorebroad.kts
- 🔥 scripts/coreMindustry/util/README.md
- 🔥 scripts/coreMindustry/util/packetHelper.kt
- ➕ scripts/coreMindustry/util/packetHelper.kts
- 🚚 scripts/coreMindustry/util/spawnAround.api.kt <= scripts/coreMindustry/util/spawnAround.kt
- ➕ scripts/coreMindustry/util/spawnAround.kts
- 🚚 scripts/coreMindustry/util/trackBuilding.api.kt <= scripts/coreMindustry/util/trackBuilding.kt
- ➕ scripts/coreMindustry/util/trackBuilding.kts
- 📝 scripts/coreMindustry/variables.kts +54 -53
- 🚚 scripts/kcp/serialization.kts <= scripts/coreLibrary/kcp/serialization.kts
- ➕ scripts/mapScript/1001.kts
- ➕ scripts/mapScript/1002.kts
- ➕ scripts/mapScript/1003.kts
- ➕ scripts/mapScript/1009.kts
- ➕ scripts/mapScript/shared/hexed.GeneratorHelper.kt
- ➕ scripts/mapScript/shared/hexed.HexData.kt
- ➕ scripts/mapScript/shared/hexed.HexedGenerator.kt
- ➕ scripts/mapScript/shared/hexed.kts
- ➕ scripts/mapScript/tags/autoExchange.kts
- 📝 scripts/mapScript/tags/mapRule.kts +1 -1
- 📝 scripts/metadata/coreLibrary.metadata +5 -15
- 📝 scripts/metadata/coreMindustry.metadata +12 -0
- ➕ scripts/metadata/kcp.metadata
- 📝 scripts/metadata/mapScript.metadata +40 -4
- 📝 scripts/metadata/wayzer.metadata +37 -0
- 📝 scripts/wayzer/cmds/gatherTp.kts +32 -37
- 📝 scripts/wayzer/cmds/vote.kts +11 -9
- 📝 scripts/wayzer/cmds/voteKick.kts +3 -3
- 📝 scripts/wayzer/cmds/voteMap.kts +5 -5
- 📝 scripts/wayzer/cmds/voteOb.kts +2 -2
- 📝 scripts/wayzer/ext/autoUpdate.kts +13 -4
- 📝 scripts/wayzer/ext/goServer.kts +1 -1
- 📝 scripts/wayzer/ext/observer.kts +2 -2
- ➕ scripts/wayzer/ext/profiler.kts
- 📝 scripts/wayzer/lib/PlayerData.kt +21 -1
- 📝 scripts/wayzer/map/autoSave.kts +2 -2
- 📝 scripts/wayzer/map/betterTeam.kts +3 -4
- 📝 scripts/wayzer/map/mapInfo.kts +1 -1
- 📝 scripts/wayzer/map/mapSnap.block_colors.png +0 -0
- 📝 scripts/wayzer/map/pvpProtect.kts +1 -1
- 📝 scripts/wayzer/map/resourceHelper.kts +19 -9
- 📝 scripts/wayzer/maps.kts +9 -10
- 📝 scripts/wayzer/maps.manager.kt +1 -1
- 📝 scripts/wayzer/maps.registry.kt +8 -1
- 📝 scripts/wayzer/reGrief/history.kts +4 -4
- 🔥 scripts/wayzer/user/ban.dao.kt
- 📝 scripts/wayzer/user/ban.kts +42 -17
- ➕ scripts/wayzer/user/banStore.kts
- 📝 scripts/wayzer/user/ext/skills.kts +17 -98
- ➕ scripts/wayzer/user/ext/skills.lib.kt
- 📝 scripts/wayzer/user/lang.kts +1 -1
- 📝 scripts/wayzer/user/nameExt.kts +24 -13
- 📝 scripts/wayzer/user/shortID.kts +11 -11
- 📝 scripts/wayzer/user/suffix.kts +3 -3
- 📝 scripts/wayzer/vote.kts +2 -2
- 📝 scripts/wayzer/vote.lib.kt +2 -3
- 📝 settings.gradle.kts +0 -26