Releases: way-zer/ScriptAgent4MindustryExt
v3.2.0 预发布(Build 89)
预发布版本,使用前记得备份
正式发布前,可能会多次更新(以标题build号为准)
主要内容
- 整理仓库
- Loader更新
- 支持编译器插件(KCP),例如
coreLibrary/kcp/serialization
- 新的打包方式(packed.zip)
- 该格式为precompile的替代,内部可包含多个预编译脚本及资源文件,放置在scripts目录即可被loader加载
- 允许无模块脚本
- 脚本可以独立运行,不要求所属模块。
- 自动搜索注册scripts中有效的所有kts文件
- 故可移除bootStrap/module.kts等文件
- 支持编译器插件(KCP),例如
- 整理wayzer模块,移除账号系统相关功能,仅保留id、封禁、认证等功能
这是一个重大改变,旧的解封记录、等级、绑定记录将全部失效
如有数据迁移需求,请与WayZer单独咨询
更新日记
- ⬆️ v1.11.1.3 @way-zer (5be3fd9)
- 🔥(mirai) 已存档至ScriptAgentRegistry @way-zer (0fd47df)
- ✨(coreLib/extApi/KVStore) KV数据储存 @way-zer (b13685b)
- ⬆️(coreLib) config4k 0.7.0 & slf4j 2.0.16 @way-zer (e1ee348)
- ✨(coreLibrary/kcp/serialization) serialization编译器插件支持 @way-zer (df97140)
- 🚚(coreLib/commands) @way-zer (65e06ae)
- ✨(plugin) 新增CASScriptRegistry类 @way-zer (447cd2c)
- 🚑️(coreLib/CommandApi) Script.command @way-zer (591298c)
- 🚚(main/*) 移动到wayzer.ext @way-zer (a6e00db)
- 🐛(*) findScriptInfo -> getScriptInfo @way-zer (64dce7d)
- 🐛(coreLibrary/extApi/KVStore)首次使用data文件夹不存在 @way-zer (e01943b)
- 🐛(coreLib/lang) 自动保存一直运行 @way-zer (03c0126)
- 🚑️(coreLib/CommandApi) 增加command函数常用重载 @way-zer (1ac8501)
- 🎨(coreLib) 使用nextTick代替yield;修复safeBlocking可能卡住 @way-zer (5f9ac2f)
- 🐛(coreMindustry/console) TAB补全可能卡住 @way-zer (a08d843)
- 🐛(coreMindustry) 后台help包括客户端命令 @way-zer (e99c2d7)
- 🏗️(wayzer/user) 移除PlayerData @way-zer (f1ae596)
- 🏗️(wayzer/user) 移除大量冗余功能,进行结构性简化 @way-zer (144d278)
- ✨(wayzer) 不再依赖DBApi @way-zer (f08dd38)
- 🚑️(wayzer/ext/observer) 菜单观战无效 @way-zer (871ff9e)
- 🚚(wayzer/*) 整理脚本 @way-zer (47b370b)
- 🚑️(coreLib) fixup @way-zer (995a5b6)
- 👽️(mapScript) ScriptManager.transaction @way-zer (226686c)
- 💚 使用packed.zip代替precompiled包 @way-zer (38e1801)
文件变更
112 文件
- 📝 .github/workflows/buildPlugin.yml +3 -3
- 📝 .github/workflows/checkScripts.yml +3 -3
- 📝 .github/workflows/release.yml +2 -2
- 📝 build.gradle.kts +106 -71
- ➕ gradle.properties
- 📝 gradle/wrapper/gradle-wrapper.jar +0 -0
- 📝 gradle/wrapper/gradle-wrapper.properties +2 -1
- 📝 gradlew +16 -10
- 📝 gradlew.bat +12 -10
- 📝 plugin/src/cf/wayzer/scriptAgent/util/BuiltinScriptRegistry.kt +12 -59
- ➕ plugin/src/cf/wayzer/scriptAgent/util/CASPackScriptRegistry.kt
- ➕ plugin/src/cf/wayzer/scriptAgent/util/CASScriptPacker.kt
- ➕ plugin/src/cf/wayzer/scriptAgent/util/CASScriptSource.kt
- 📝 plugin/src/cf/wayzer/scriptAgent/util/CAStore.kt +11 -0
- 📝 plugin/src/cf/wayzer/scriptAgent/util/CommonMain.kt +4 -1
- 📝 scripts/bootStrap/default.kts +6 -4
- 📝 scripts/bootStrap/generate.kts +14 -50
- 🔥 scripts/bootStrap/module.kts
- 📝 scripts/coreLibrary/DBConnector.kts +2 -3
- ➕ scripts/coreLibrary/commands/configCmd.kts
- ➕ scripts/coreLibrary/commands/control.kts
- 🚚 scripts/coreLibrary/commands/hotReload.kts <= scripts/coreLibrary/hotReload.kts
- 🚚 scripts/coreLibrary/commands/permissionCmd.kts <= scripts/coreLibrary/permissionCommand.kts
- 🚚 scripts/coreLibrary/commands/varsCmd.kts <= scripts/coreLibrary/varsCommand.kts
- 🔥 scripts/coreLibrary/configCommand.kts
- 🔥 scripts/coreLibrary/controlCommand.kts
- ➕ scripts/coreLibrary/extApi/KVStore.kts
- 📝 scripts/coreLibrary/extApi/redisApi.kts +2 -2
- ➕ scripts/coreLibrary/kcp/serialization.kts
- 📝 scripts/coreLibrary/lang.kts +4 -1
- 📝 scripts/coreLibrary/lib/CommandApi.kt +37 -22
- 📝 scripts/coreLibrary/lib/PermissionApi.kt +1 -4
- 📝 scripts/coreLibrary/lib/util/ReflectHelper.kt +1 -1
- 📝 scripts/coreLibrary/lib/util/coroutine.kt +15 -2
- 📝 scripts/coreLibrary/module.kts +4 -10
- 📝 scripts/coreMindustry/console.kts +6 -5
- 📝 scripts/coreMindustry/contentsTweaker.kts +26 -1
- 📝 scripts/coreMindustry/lib/CommandExt.kt +11 -5
- 📝 scripts/coreMindustry/lib/CommandImpl.kt +31 -27
- 📝 scripts/coreMindustry/lib/DispatcherExt.kt +33 -9
- 📝 scripts/coreMindustry/lib/ListenExt.kt +34 -37
- 📝 scripts/coreMindustry/module.kts +0 -1
- 🔥 scripts/main/helpfulCommand.kts
- 🔥 scripts/main/module.kts
- 📝 scripts/mapScript/lib/GeneratorSupport.kt +30 -28
- 📝 scripts/mapScript/lib/TagSupport.kt +1 -0
- 📝 scripts/mapScript/lib/util.kt +7 -9
- 📝 scripts/mapScript/module.kts +12 -8
- 🔥 scripts/mirai/broadcastToGroup.kts
- 🔥 scripts/mirai/codeSender.kts
- 🔥 scripts/mirai/lib/PermissionExt.kt
- 🔥 scripts/mirai/module.kts
- 🔥 scripts/mirai/simple.kts
- 🔥 scripts/mirai/status.kts
- 🚚 scripts/wayzer/cmds/gatherTp.kts <= scripts/wayzer/ext/gatherTp.kts
- 🚚 scripts/wayzer/cmds/helpfulCmd.kts <= scripts/main/showEffect.kts
- ➕ scripts/wayzer/cmds/jsCmd.kts
- 🚚 scripts/wayzer/cmds/mapsCmd.kts <= scripts/wayzer/ext/mapsCommand.kts
- 🚚 scripts/wayzer/cmds/pixelPicture.kts <= scripts/main/pixelPicture.kts
- 🚚 scripts/wayzer/cmds/restart.kts <= scripts/wayzer/admin/restart.kts
- 🚚 scripts/wayzer/cmds/serverStatus.kts <= scripts/wayzer/ext/serverStatus.kts
- 🚚 scripts/wayzer/cmds/spawnMob.kts <= scripts/main/spawnMob.kts
- 🚚 scripts/wayzer/cmds/vote.kts <= scripts/wayzer/ext/vote.kts
- 🚚 scripts/wayzer/cmds/voteKick.kts <= scripts/wayzer/ext/voteKick.kts
- ➕ scripts/wayzer/cmds/voteMap.kts
- 📝 scripts/wayzer/ext/autoUpdate.kts +6 -4
- 🚚 scripts/wayzer/ext/goServer.kts <= scripts/main/goServer.kts
- 🔥 scripts/wayzer/ext/lang.kts
- 📝 scripts/wayzer/ext/observer.kts +34 -33
- 🔥 scripts/wayzer/ext/resourceHelper.kts
- ➕ scripts/wayzer/ext/tpsLimit.kts
- 🔥 scripts/wayzer/ext/voteMap.kts
- 🚚 scripts/wayzer/lib/ConnectAsyncEvent.kt <= scripts/wayzer/lib/event/ConnectAsyncEvent.kt
- 🔥 scripts/wayzer/lib/PermissionExt.kt
- ➕ scripts/wayzer/lib/PlayerData.kt
- 🔥 scripts/wayzer/lib/dao/PlayerData.kt
- 🔥 scripts/wayzer/lib/dao/PlayerProfile.kt
- 🔥 scripts/wayzer/lib/dao/Setting.kt
- 🔥 scripts/wayzer/lib/dao/util/NeedTransaction.kt
- 🔥 scripts/wayzer/lib/dao/util/TransactionHelper.kt
- 🔥 scripts/wayzer/lib/dao/util/WithTransactionHelper.kt
- 📝 scripts/wayzer/map/autoHost.kts +4 -3
- 📝 scripts/wayzer/map/backCompatibility.kts +6 -6
- 📝 scripts/wayzer/map/betterTeam.kts +7 -5
- 📝 scripts/wayzer/map/mapInfo.kts +1 -1
- 📝 scripts/wayzer/map/mapSnap.kts +4 -3
- 📝 scripts/wayzer/map/pvpProtect.kts +33 -16
- ➕ scripts/wayzer/map/resourceHelper.kts
- 📝 scripts/wayzer/maps.kts +17 -15
- 📝 scripts/wayzer/maps.manager.kt +72 -52
- 📝 scripts/wayzer/maps.registry.kt +56 -36
- 📝 scripts/wayzer/module.kts +26 -6
- 🔥 scripts/wayzer/playerInfo.kts
- 📝 scripts/wayzer/reGrief/limitFire.kts +1 -0
- 📝 scripts/wayzer/reGrief/unitLimit.kts +6 -2
- 🔥 scripts/wayzer/user/achievement.db.kt
- 🔥 scripts/wayzer/user/achievement.kts
- 📝 scripts/wayzer/user/ban.dao.kt +11 -21
- 📝 scripts/wayzer/user/ban.kts +26 -40
- 🔥 scripts/wayzer/user/ext/infoCommand.kts
- 🔥 scripts/wayzer/user/ext/profileBind.kts
- 🔥 scripts/wayzer/user/ext/rank.dao.kt
- 🔥 scripts/wayzer/user/ext/rank.kts
- 📝 scripts/wayzer/user/ext/skills.kts +1 -2
- 🔥 scripts/wayzer/user/ext/statistics.kts
- ➕ scripts/wayzer/user/lang.kts
- 🔥 scripts/wayzer/user/level.kts
- ➕ scripts/wayzer/user/nameExt.kts
- 🔥 scripts/wayzer/user/notification.db.kt
- 🔥 scripts/wayzer/user/notification.kts
- ➕ scripts/wayzer/user/suffix.kts
- 🔥 scripts/wayzer/user/userService.kts
v3.1.4
亮点
- 工具链更新:
- Gradle 8.12
- 核心库1.10.6.3
- KT 2.0.21
- JDK 17
- 整理重构wayzer/maps模块,修复若干遗留问题,提高稳定性
- 修复遗留问题
- 地图目标的\n字符问题
- Windows下资源站乱码问题
nextSameMode
设置无效问题
- BreakChange
- 修改
MapInfo
结构,增加provider字段,移除BaseMapInfo
和MapInfo.beforeReset
MapChangeEvent
移除isSave
,增加modifyRule
loadMap
移除isSave
, 由SaveProvider代替- 加载存档不再触发PlayEvent
修复 state.tick (逻辑@time)与原版不一致问题
可考虑用WorldLoadEvent代替大部分PlayEvent功能) - 修改
- 修复遗留问题
- 提高网络换图稳定性:更换API,增加catch、重试等
- ✨(wayzer/ext/suffix) 玩家后缀标识(from wayzer_plus) @way-zer (693f86d)
更新日记
Core
- ✨ (core) listen 增加insert可选参数 @way-zer (92463a7)
- ✨ (core/contentsTweaker) 事件、后缀、信息显示 @way-zer (732abab)
- ✨ (coreLib) 为
loop
函数增加try catch @way-zer (27bac77) - 🐛 (coreLib) 找不到 LinkedList.addLast @way-zer (8f48bba)
- ⚡️(ci&coreLib) 优化 @way-zer (89679b6)
- ⬆️(loader) Library 1.10.6.5 @way-zer (5d5d96d)
- 🐛(coreLib/extApi/redisApi&remoteEventApi) 修复重载泄漏;增强稳定性 @way-zer (279f94a)
WayZer
- ✨ (wayzer/maps&wayzer/ext/resourceHelper) 增加错误处理,提高稳定性 @way-zer (c56eac3)
- ✨ (wayzer/maps) BREAK 加载存档不再触发PlayEvent @way-zer (87a8f0f)
修复 state.tick (逻辑@time)与原版不一致问题
可考虑用WorldLoadEvent代替大部分PlayEvent功能 - ⬆️ (*) PlayEvent->WorldLoadEvent @way-zer (1191334)
- 🐛 (mapScript) Tag脚本卸载后不能注销标签 @way-zer (9d62372)
- 🐛 (*) misc fix @way-zer (58ecb09)
- 🐛 (*) misc fix @way-zer (2a7dea4)
- ✨ (wayzer/maps) 重构maps @way-zer (dd104ed)
- 🚑️(wayzer/maps) 再次大规模重构。解决网络换图相关问题 @way-zer (aca9d25)
- fixup! 🚑️(wayzer/maps) 再次大规模重构。解决网络换图相关问题 @way-zer (47bca33)
- 🐛(wayzer/maps) 捕获loadMapSync错误 @way-zer (df03082)
- ✨(wayzer/maps) 支持GeneratorMap @way-zer (6891620)
- 🐛(wayzer/maps) ci编译报错 @way-zer (1a1d3af)
- 🐛(wayzer/map/backCompatibility) 跟随wayzer/maps改动 @way-zer (5c229fe)
- 🎨(wayzer/ext/observer) 整理 @way-zer (878dc56)
- 👽️(wayzer/ext/resourceHelper) 更新API @way-zer (f1c98ce)
- ✨ (wayzer/map/betterTeam) savedTeams @way-zer (c78acc3)
- 🐛 (wayzer/user/ext/rank) 自动建表失败 @way-zer (93806de)
- ✨ (wayzer/ext/autoUpdate) API mirror @way-zer (7bb551d)
- ➕ (wayzer/ext/tpsLimit) 限制TPS,防止过大delta @way-zer (85ac6fd)
- ✨ (wayzer/map/pvpProtect) 减少kill @way-zer (37a163c)
- ✨ (wayzer/playerInfo) 增加usid限制;steam uuid兼容 @way-zer (aff239a)
- 🔒️(wayzer/playerInfo)加强name和usid校验 @way-zer (60b115b)
- ✨(wayzer/ext/suffix) 玩家后缀标识(from wayzer_plus) @way-zer (693f86d)
- 🐛(wayzer/ext/voteKick) 不能踢出重进的人 @way-zer (d1b596d)
- 🐛(wayzer/map/mapSnap) 修复TileChange发生在WorldLoad前报错 @way-zer (35b3c99)
- ✨(wayzer/ext/mapsCommand) 直接调用voteMap以传递MapInfo @way-zer (ab6a6cc)
CI
- ⬆️ MDTX v146.004 @way-zer (2473911)
- ⬆️(gradle) 8.12 @way-zer (1537372)
- 💚(CI) scriptZip @way-zer (1152ee2)
- 🎨(gradle) 换用tasks.register @way-zer (0c0e239)
- 📝 拆分gradle为若干sourceSet @way-zer (b97058d)
文件变更
45 文件
- 📝 .github/workflows/buildPlugin.yml +3 -3
- 📝 .github/workflows/checkScripts.yml +3 -3
- 📝 .github/workflows/release.yml +2 -2
- 📝 build.gradle.kts +106 -61
- ➕ gradle.properties
- 📝 gradle/wrapper/gradle-wrapper.jar +0 -0
- 📝 gradle/wrapper/gradle-wrapper.properties +2 -1
- 📝 gradlew +16 -10
- 📝 gradlew.bat +12 -10
- 📝 scripts/bootStrap/default.kts +1 -0
- 📝 scripts/coreLibrary/configCommand.kts +2 -1
- 📝 scripts/coreLibrary/extApi/redisApi.kts +2 -2
- 📝 scripts/coreLibrary/lib/PermissionApi.kt +1 -4
- 📝 scripts/coreLibrary/lib/util/coroutine.kt +15 -2
- 📝 scripts/coreLibrary/permissionCommand.kts +1 -3
- 📝 scripts/coreMindustry/contentsTweaker.kts +26 -1
- 📝 scripts/coreMindustry/lib/ListenExt.kt +34 -37
- 📝 scripts/mapScript/lib/GeneratorSupport.kt +30 -28
- 📝 scripts/mapScript/lib/TagSupport.kt +1 -0
- 📝 scripts/mapScript/lib/util.kt +6 -8
- 📝 scripts/mapScript/module.kts +6 -4
- 📝 scripts/mirai/module.kts +1 -0
- 📝 scripts/wayzer/ext/autoUpdate.kts +4 -2
- 📝 scripts/wayzer/ext/mapsCommand.kts +8 -2
- 📝 scripts/wayzer/ext/observer.kts +34 -33
- 📝 scripts/wayzer/ext/resourceHelper.kts +59 -56
- ➕ scripts/wayzer/ext/suffix.kts
- ➕ scripts/wayzer/ext/tpsLimit.kts
- 📝 scripts/wayzer/ext/voteKick.kts +3 -3
- 📝 scripts/wayzer/ext/voteMap.kts +20 -25
- 📝 scripts/wayzer/lib/dao/PlayerData.kt +2 -0
- 📝 scripts/wayzer/map/autoHost.kts +4 -3
- 📝 scripts/wayzer/map/backCompatibility.kts +6 -6
- 📝 scripts/wayzer/map/betterTeam.kts +7 -5
- 📝 scripts/wayzer/map/mapInfo.kts +1 -1
- 📝 scripts/wayzer/map/mapSnap.kts +4 -3
- 📝 scripts/wayzer/map/pvpProtect.kts +33 -16
- 📝 scripts/wayzer/maps.kts +17 -15
- 📝 scripts/wayzer/maps.manager.kt +70 -51
- 📝 scripts/wayzer/maps.registry.kt +56 -36
- 📝 scripts/wayzer/playerInfo.kts +20 -18
- 📝 scripts/wayzer/reGrief/limitFire.kts +1 -0
- 📝 scripts/wayzer/reGrief/unitLimit.kts +6 -2
- 📝 scripts/wayzer/user/ext/rank.dao.kt +11 -3
- 📝 scripts/wayzer/user/ext/statistics.kts +1 -6
v3.1.3 Hotfix
更新日记
- 🐛 (wayzer/maps) 内置图不显示问题 @way-zer (6dd3dc6)
- ✨ (wayzer/maps) 缓解换图时游戏Exception @way-zer (73d6378)
- ✨ (wayzer/maps) 提前state.rules赋值;其他功能优化 @way-zer (3bfde8d)
- 🐛 (wayzer/ext/mapsCommand) 指令翻页错误 @way-zer (c476e88)
- ✨ (wayzer/ext/resourceHelper) 增加请求重试,提高稳定性 @way-zer (ac51a4a)
- Update build.gradle.kts @way-zer (9b5ff35)
文件变更
6 文件
- 📝 build.gradle.kts +2 -2
- 📝 scripts/wayzer/ext/mapsCommand.kts +1 -1
- 📝 scripts/wayzer/ext/resourceHelper.kts +17 -15
- 📝 scripts/wayzer/maps.kts +7 -0
- 📝 scripts/wayzer/maps.manager.kt +10 -5
- 📝 scripts/wayzer/maps.registry.kt +10 -15
v3.1.2
更新提示
- loader(jar):合并standalone功能;新增bootStrap模块;默认的SAMain修改为
bootStrap/default
- Core模块:增加 MenuV2 及 更新ContentsTweaker v3
- WayZer模块:更新新投票系统;对地图系统进行大幅整理优化;移除部分旧功能
- 新增地图脚本模块MapScript:地图脚本是一类专门服务于特定地图的脚本插件,在地图加载时自动启用,并在游戏结束时关闭。
更新日记
Loader
核心库 v1.5.10.6;
- ⬆️ (gradle) mdt v136 @way-zer (74cd9ea)
- ✨ (loader) 合并standalone。直接运行功能与standalone一致 @way-zer (f5dcf9e)
- ⬆️ (loader) 核心库 1.5.10.6 @way-zer (2833d29)
- ➕ (bootStrap) SA启动模块 @way-zer (54bc133)
新版默认的SAMain改为
bootStrap/default
,如果原来修改过main/bootStrap
,现在换个文件,或者显性使用环境变量SAMain=main/bootStrap
使用旧行为
Core
- ✨ (coreLib/controlCommand) 去除meta的SOURCE_MD5 @way-zer (a900cba)
- ✨ (core) 从new分支移植少量更新 @way-zer (bb7ba3a)
- ➕ (core/util/packetHelper) 数据包相关工具 @way-zer (2b1803c)
- 🐛 (core/menu&utilTextInput) fix launchEmit context @way-zer (2a0ade9)
- ✨ (core/menu) MenuV2 @way-zer (75cba0e)
- ✨ (core/contentsTweaker) CT v3 @way-zer (3600145)
WayZer
- ✨ (wayzer/vote) 新版投票系统 @way-zer (669b9eb)
- 🐛 (wayzer) 修复PlayerData可能的EntityNotFoundException错误 @way-zer (e93a4bc)
- ✨ (wayzer/maps) 整理MapRegistry,新整BaseMapInfo,修复若干问题 @way-zer (1bd1f97)
- 🐛 (wayzer/maps) GameOver换图优化 @way-zer (e6e1001)
- 🔧 (wayzer/maps) 更新资源站链接 @way-zer (4e79390)
- ➕ (wayzer/map/backCompatibility) 地图后向兼容适配 @way-zer (45d0f85)
- ✨ (wayzer/ext/mapsCommand) 分离/maps命令 @way-zer (a20bd4f)
- ✨ (wayzer/ext/resourceHelper) 支持/maps搜索功能 @way-zer (9fd3b0b)
- ➕ (wayzer/admin/restart) 计划重启 @way-zer (9497e3b)
✨ (wayzer/ext/autoUpdate) 使用restart功能
- 🐛 (wayzer/ext/autoUpdate) 下载过程无法打断 @way-zer (1146975)
- ✨ (wayzer/ext/observer) 新观察者系统 @way-zer (c44a5e7)
- ✨ (wayzer/user/ext/infoCommand) 增加/unbind指令 @way-zer (57277a4)
- ✨ (wayzer/user/ext/rank) 重新实现排行榜展示 @way-zer (b32093c)
- ✨ (wayzer/map/betterTeam) 修复占领模式诈尸问题 @way-zer (820127f)
- ✨ (wayzer/reGrief/history) 使用array索引存储 @way-zer (f6cc0ba)
- ✨ (*) use
data.players
@way-zer (e992616) - ✨ (wayzer/user/ban) unbanX @way-zer (21863b0)
- ✨ (wayzer/user/ext/skills)将技能归档到子命令下 @way-zer (a4c5452)
- ✨ (wayzer/ext/serverStatus) 添加UPTIME显示 @way-zer (26758ac)
- 🔥 (wayzer/user/ext/expReward) 移除gg功能 @way-zer (6699167)
- 🔥 (wayzer/user/mute) 移除禁言功能(长期未使用) @way-zer (6e21d2f)
- 🔥 (wayzer/user/ext/statistics) 移除建筑积分(统计算法问题较大) @way-zer (4b7a9d7)
- 🔥 (wayzer/map/banUnit) 原版功能替代 @way-zer (578b727)
Other
- ➕ (mapScript) 地图脚本功能 @way-zer (b68811e)
- 🚚 (mapScript/tags) 将
limitAir
,mapRule
,TDDrop
改写为mapScript @way-zer (6fd2894) - ✨ (mirai) 接入qsign @way-zer (bc83475)
预发布期间更新日记
- Build 68更新:
- 重构MapRegistry,新整BaseMapInfo,修复若干换图问题
- 增加MenuV2工具库(实验性)
- 增加packetHelper工具库
- (mirai) qs*gn
- 修复Menu可能导致网络错误
- Build 76更新
- maps&resourceHelper 更新资源站链接
- 分离/maps命令
- CT v3
- MenuV2增加stateKey和column功能。增加renderPaged函数
- Loader: 合并standalone。直接运行功能与standalone一致
- Loader: 修复若干ABI兼容性。解决因此导致的
实例化出错: java.lang.reflect.InvocationTargetException
- Build 78更新
- 投票在Dispatchers.game启动时会NPE问题
- Build 79更新
- 还原main模块,新增bootStrap模块。默认的SAMain修改为
bootStrap/default
- 还原main模块,新增bootStrap模块。默认的SAMain修改为
文件变更
91 文件
- 📝 .github/actions/changelog.ts +2 -2
- 📝 .github/workflows/release.yml +1 -1
- 📝 README.md +18 -12
- 📝 build.gradle.kts +17 -13
- 📝 plugin/src/cf/wayzer/scriptAgent/ConfigExt.kt +5 -1
- 🔥 plugin/src/cf/wayzer/scriptAgent/mindustry/GenerateMain.kt
- 📝 plugin/src/cf/wayzer/scriptAgent/mindustry/Main.kt +15 -26
- ➕ plugin/src/cf/wayzer/scriptAgent/standalone/Main.kt
- ➕ plugin/src/cf/wayzer/scriptAgent/standalone/loader.kt
- ➕ plugin/src/cf/wayzer/scriptAgent/util/CommonMain.kt
- 🚚 scripts/bootStrap/default.kts <= scripts/main/bootStrap.kts
- ➕ scripts/bootStrap/generate.kts
- ➕ scripts/bootStrap/module.kts
- 📝 scripts/coreLibrary/DBApi.kts +6 -6
- 📝 scripts/coreLibrary/configCommand.kts +1 -1
- 📝 scripts/coreLibrary/controlCommand.kts +3 -1
- 📝 scripts/coreLibrary/extApi/redisApi.kts +1 -1
- 📝 scripts/coreLibrary/lib/ConfigApi.kt +19 -15
- 📝 scripts/coreLibrary/lib/util/nextEvent.kt +5 -1
- 📝 scripts/coreLibrary/module.kts +3 -2
- 📝 scripts/coreLibrary/variables.kts +13 -2
- 📝 scripts/coreLibrary/varsCommand.kts +1 -1
- 📝 scripts/coreMindustry/console.kts +13 -7
- 📝 scripts/coreMindustry/contentsTweaker.kts +42 -41
- 📝 scripts/coreMindustry/menu.kts +4 -4
- ➕ scripts/coreMindustry/menu.new.kt
- ➕ scripts/coreMindustry/util/packetHelper.kt
- 📝 scripts/coreMindustry/utilNextChat.kts +4 -5
- 📝 scripts/coreMindustry/utilTextInput.kts +2 -5
- 📝 scripts/main/showEffect.kts +0 -1
- ➕ scripts/mapScript/lib/ContentExt.kt
- ➕ scripts/mapScript/lib/GeneratorSupport.kt
- ➕ scripts/mapScript/lib/TagSupport.kt
- ➕ scripts/mapScript/lib/util.kt
- ➕ scripts/mapScript/module.kts
- ➕ scripts/mapScript/shared/posMark.kts
- ➕ scripts/mapScript/tags/limitAir.kts
- 🚚 scripts/mapScript/tags/mapRule.kts <= scripts/wayzer/map/limitPermission.kts
- 📝 scripts/metadata/coreLibrary.metadata +3 -3
- 📝 scripts/metadata/coreLibrary_DBApi.metadata +4 -5
- 📝 scripts/metadata/coreLibrary_DBConnector.metadata +0 -1
- 📝 scripts/metadata/coreLibrary_extApi_mongoApi.metadata +0 -1
- 📝 scripts/metadata/coreLibrary_extApi_redisApi.metadata +1 -2
- 📝 scripts/metadata/coreLibrary_extApi_remoteEventApi.metadata +0 -1
- 📝 scripts/metadata/coreLibrary_lang.metadata +0 -1
- 📝 scripts/metadata/coreMindustry.metadata +0 -1
- ➕ scripts/metadata/coreMindustry_contentsTweaker.metadata
- ➕ scripts/metadata/coreMindustry_utilAssets.metadata
- ➕ scripts/metadata/coreMindustry_utilTextInput.metadata
- ➕ scripts/metadata/gbot.metadata
- 📝 scripts/metadata/main.metadata +0 -1
- ➕ scripts/metadata/mapScript.metadata
- ➕ scripts/metadata/mapScript_shared_hexed.metadata
- ➕ scripts/metadata/mapScript_shared_posMark.metadata
- 📝 scripts/metadata/wayzer.metadata +0 -1
- 📝 scripts/metadata/wayzer_map_betterTeam.metadata +0 -1
- ➕ scripts/metadata/wayzer_maps.metadata
- ➕ scripts/metadata/wayzer_user_ext_statistics.metadata
- 📝 scripts/metadata/wayzer_user_userService.metadata +0 -1
- 📝 scripts/mirai/module.kts +41 -22
- ➕ scripts/wayzer/admin/restart.kts
- 📝 scripts/wayzer/ext/autoUpdate.kts +5 -18
- ➕ scripts/wayzer/ext/mapsCommand.kts
- 📝 scripts/wayzer/ext/observer.kts +76 -15
- 📝 scripts/wayzer/ext/resourceHelper.kts +65 -38
- 📝 scripts/wayzer/ext/serverStatus.kts +1 -1
- 📝 scripts/wayzer/ext/vote.kts +29 -86
- ➕ scripts/wayzer/ext/voteKick.kts
- ➕ scripts/wayzer/ext/voteMap.kts
- 📝 scripts/wayzer/lib/dao/PlayerData.kt +11 -7
- ➕ scripts/wayzer/map/backCompatibility.kts
- 🔥 scripts/wayzer/map/banUnit.kts
- 📝 scripts/wayzer/map/betterTeam.kts +26 -30
- 🔥 scripts/wayzer/map/limitAir.kts
- 📝 scripts/wayzer/maps.kts +32 -65
- 📝 scripts/wayzer/maps.manager.kt +60 -53
- 📝 scripts/wayzer/maps.registry.kt +39 -47
- 📝 scripts/wayzer/playerInfo.kts +5 -2
- 📝 scripts/wayzer/reGrief/history.kts +14 -16
- 📝 scripts/wayzer/reGrief/unitLimit.kts +1 -1
- 📝 scripts/wayzer/user/ban.kts +17 -1
- 🔥 scripts/wayzer/user/ext/expReward.kts
- 📝 scripts/wayzer/user/ext/infoCommand.kts +16 -0
- 📝 scripts/wayzer/user/ext/rank.dao.kt +12 -15
- 📝 scripts/wayzer/user/ext/rank.kts +66 -66
- 📝 scripts/wayzer/user/ext/skills.kts +6 -3
- 📝 scripts/wayzer/user/ext/statistics.kts +11 -23
- 🔥 scripts/wayzer/user/mute.kts
- ➕ scripts/wayzer/vote.kts
- ➕ scripts/wayzer/vote.lib.kt
- 🔥 scripts/wayzer/voteService.kts
v3.1.1
主要内容
- AllInOne版本恢复可用,使用自需要安装jar,自动下载15MB的libs即可使用插件功能。
安装方式对比
- 安装
allinone.jar
,最简单的安装方式。启动快捷,依赖少,适合无定制需求的用户使用。需要定制也可在scripts
中放置main/bootstrap.kts
及其他脚本 - 安装jar和scripts,第一次启动需要下载编译器和编译,耗时较长(建议下载
precompile
并解压到scripts/cache
目录,可自动作为编译缓存)
更新日记
Loader
- 🐛 (loader) Java8兼容性 @way-zer (5fcf5b8)
- ✨ (loader) 多重mainScript支持 @way-zer (e89ceed)
- ✨ (loader) 新的AllInOne打包及加载方式 @way-zer (e8db1df)
- ⬆️ (loader) 核心库v1.10.4.4 @way-zer (2460187)
- ✨ (loader) 优化META不存在时处理 @way-zer (591dfda)
- ⬆️ (loader) MDTX v145.103 (fix jitpack) @way-zer (8a6c101)
CoreLib
- ✨ (coreLib/DBApi) 给initDB增加catch @way-zer (922b9c0)
- 🚚 (coreLib/extApi/redisApi) @way-zer (5e707c4)
- ➕ (coreLib/extApi/mongoApi) mongo封装 @way-zer (bdc1940)
- 🐛 (coreLib/variables) 修复Duration对'd'级别config序列花错误 @way-zer (892be4b)
- ✨ (coreLib/controlCommand) 默认为同步模式 @way-zer (c8c0b46)
Core
- ➕ (core/utilTextInput) textInput封装 @way-zer (a4e36b1)
- ⬆️ (core/contentsTweaker) 2.1.2 @way-zer (410730a)
- ✨ (core/menu) 菜单化/help指令 @way-zer (9f5d7fb)
- ✨ (core/menu) 支持v143的followUpMenu @way-zer (838c4b2)
- ✨ (core/variables)
state.gameTime
考虑暂停 @way-zer (62fccd9) - ✨ (core/variables) 增加
{state.mapTime}
@way-zer (cba142c) - 🐛 (core/util/spawnAround) 条件错误 @way-zer (80a3088)
WayZer
- ✨ (wayzer/playerInfo) 更新
ConnectAsyncEvent.cancelled
@way-zer (8297719) - ✨ (wayzer/maps) 菜单化
/maps
指令 @way-zer (3147b1d) - ✨ (wayzer/user/shortID) 屏蔽一些难以识别的字符 @way-zer (4366ff4)
- ✨ (wayzer/maps/betterTeam) 移除
PlayerConnectionConfirmed
时再分配 @way-zer (eb3dcd3) - ✨ (wayzer/user/ext/statistics) 移除
activity
相关,增加GameoverStatisticsEvent
接口 @way-zer (947c9e0) - 🔧 (wayzer/user/level) 调整prefix优先级 @way-zer (ca66cb3)
- 🐛 (wayzer/user/ext/rank) sql语句错误 @way-zer (e8002f2)
- 🐛 (wayzer/ext/autoUpdate) 修复bug @way-zer (e6a76d6)
- 🐛 (wayzer/ext/vote) 修复新版本中,投票踢人失效bug @way-zer (440747b)
- 🐛 (wayzer/ext/vote) 投降bug @way-zer (bf12e58)
- 🐛 (wayzer/ext/lang) catch可能的报错 @way-zer (d746979)
- 🐛(wayzer/ext/lang) 切换语言时提示错误 @way-zer (255c2ab)
Mirai
因为TX封杀问题,框架整体不稳定。已考虑弃用,不推荐使用
文件变更
56 文件
- 🚚 .github/actions/changelog.ts <= .github/actions/changelog/main.js
- 🔥 .github/actions/changelog/.gitignore
- 🔥 .github/actions/changelog/action.yml
- 🔥 .github/actions/changelog/changelog.iml
- 🔥 .github/actions/changelog/package.json
- 🔥 .github/actions/changelog/pnpm-lock.yaml
- 🔥 .github/actions/changelog/preload.js
- 📝 .github/workflows/checkScripts.yml +2 -1
- 📝 .github/workflows/release.yml +10 -5
- 🔥 .travis.yml
- 📝 build.gradle.kts +35 -39
- 📝 gradle/wrapper/gradle-wrapper.jar +0 -0
- 📝 gradle/wrapper/gradle-wrapper.properties +2 -1
- 📝 gradlew +12 -7
- 📝 gradlew.bat +1 -0
- 📝 plugin/src/cf/wayzer/scriptAgent/ConfigExt.kt +24 -2
- 📝 plugin/src/cf/wayzer/scriptAgent/mindustry/GenerateMain.kt +43 -1
- 📝 plugin/src/cf/wayzer/scriptAgent/mindustry/Main.kt +12 -28
- ➕ plugin/src/cf/wayzer/scriptAgent/util/BuiltinScriptRegistry.kt
- ➕ plugin/src/cf/wayzer/scriptAgent/util/CAStore.kt
- 📝 scripts/coreLibrary/DBApi.kts +11 -2
- 📝 scripts/coreLibrary/controlCommand.kts +22 -19
- ➕ scripts/coreLibrary/extApi/mongoApi.kts
- 🚚 scripts/coreLibrary/extApi/redisApi.kts <= scripts/coreLibrary/redisApi.kts
- 📝 scripts/coreLibrary/variables.kts +1 -1
- 📝 scripts/coreMindustry/contentsTweaker.kts +1 -1
- 📝 scripts/coreMindustry/menu.kts +39 -43
- 📝 scripts/coreMindustry/menu.lib.kt +63 -15
- 📝 scripts/coreMindustry/util/spawnAround.kt +2 -2
- ➕ scripts/coreMindustry/utilTextInput.kts
- 📝 scripts/coreMindustry/variables.kts +14 -1
- 📝 scripts/main/bootStrap.kts +1 -1
- 📝 scripts/metadata/coreLibrary.metadata +2 -2
- 📝 scripts/metadata/coreLibrary_DBApi.metadata +1 -1
- ➕ scripts/metadata/coreLibrary_DBConnector.metadata
- ➕ scripts/metadata/coreLibrary_extApi_mongoApi.metadata
- ➕ scripts/metadata/coreLibrary_extApi_redisApi.metadata
- ➕ scripts/metadata/coreLibrary_extApi_remoteEventApi.metadata
- 📝 scripts/metadata/coreMindustry.metadata +1 -1
- 📝 scripts/metadata/wayzer.metadata +1 -1
- 📝 scripts/metadata/wayzer_map_betterTeam.metadata +1 -1
- 📝 scripts/mirai/module.kts +19 -20
- 📝 scripts/mirai/status.kts +4 -6
- 📝 scripts/wayzer/ext/autoUpdate.kts +5 -3
- 📝 scripts/wayzer/ext/lang.kts +20 -10
- 📝 scripts/wayzer/ext/vote.kts +11 -3
- 📝 scripts/wayzer/lib/event/ConnectAsyncEvent.kt +1 -1
- 📝 scripts/wayzer/map/betterTeam.kts +0 -5
- 📝 scripts/wayzer/maps.kts +24 -5
- 📝 scripts/wayzer/playerInfo.kts +10 -5
- 📝 scripts/wayzer/reGrief/history.kts +3 -2
- 📝 scripts/wayzer/user/ext/rank.dao.kt +5 -4
- 📝 scripts/wayzer/user/ext/rank.kts +0 -2
- 📝 scripts/wayzer/user/ext/statistics.kts +65 -79
- 📝 scripts/wayzer/user/level.kts +1 -1
- 📝 scripts/wayzer/user/shortID.kts +10 -2
v3.1.0
更新日记
-
🐛 (loader) allInOne加载时,res资源路径不正确 @way-zer (e61fd87)
- 内部机制更新,最新版本allInOne暂时不可用
-
⬆️ (loader) 核心库v1.9.1.6;kotlin 1.7.20;mdt v139 @way-zer (b4d64b0)
- ⬆️ (loader) 核心库v1.9.2 @way-zer (aa7ad40)
- ⬆️ (loader) v1.9.2.6 @way-zer (8a09135)
- ⬆️ (*) 适配140.1 @way-zer (958769a)
- ⬆️ (loader) 核心库v1.10.0 @way-zer (685b258)
- ⬆️ (loader) 核心库v1.10.0.1 @way-zer (af0fc3c)
- ⬆️ (loader) 适配MdtX v140.101 @way-zer (0a98527)
- ⬆️ (loader) 核心库v1.10.0.2 @way-zer (1373c1f)
- ⬆️ (loader) 核心库v1.10.1.1 @way-zer (efe7802)
- ⬆️ (loader) LibraryManager v1.6 @way-zer (9a9742f)
- ⬆️ (loader) 核心库v1.10.1.2 @way-zer (d92cb76)
-
✨ (coreLib/CommandApi) 分离出 defaultHelpImpl @way-zer (6e3e452)
-
✨ (coreLib/CommandApi) handle CancellationException @way-zer (9f9bb92)
-
✨ (coreLib) 增加
CommandContext.ConsoleReceiver
和PlaceHoldString.with
@way-zer (d97db8f) -
✨ (coreLib/ConfigApi) 支持读取环境变量;重新实现overwrite机制 @way-zer (9ddc2e9)
-
✨ (core) 增加
MindustryDispatcher.safeBlocking
@way-zer (089cb4c) -
✨ (core/variables) UnlockableContent相关(名字,图标) @way-zer (d069b51)
-
✨ (core/utilNext) 拆分细化功能; @way-zer (919a14f)
- nextEvent 移动到coreLib
- nextChat 分离成 utilNextChat.kts
- MenuBuilder 分离成 menu.kts
-
✨ (wayzer/ext/resourceHelper) 增加timeout避免卡死 @way-zer (70d3f92)
-
✨ (wayzer/map/betterTeam) 移除keepTeamsOnce @way-zer (0ec29bb)
-
✨ (wayzer/map/mapSnap) 更新block_colors;使用新版res路径 @way-zer (33b551f)
-
🐛 (wayzer/map/betterTeam) 状态未重置bug;原版分队可能不均衡bug @way-zer (52e1cbe)
-
🐛 (wayzer/maps&voteService) 修复menu更新导致的不兼容 @way-zer (ab8f3b6)
-
🐛 (wayzer/user/ban) 修复未绑定无法踢出问题 & 修复transaction问题(not found in database) @way-zer (466ab39)
-
🐛 (wayzer) Entity PlayerData not found in the database @way-zer (b39af08)
-
🐛 (mirai)
withContextClassloader
problem @way-zer (dc02f7f)with
InternalGlobalEventChannelProvider
文件变更
67 文件
- 📝 .gitignore +1 -0
- 📝 build.gradle.kts +33 -20
- 📝 plugin/res/plugin.json +1 -1
- 🔥 plugin/src/cf/wayzer/ConfigExt.kt
- 🔥 plugin/src/cf/wayzer/ScriptAgent4Mindustry.kt
- ➕ plugin/src/cf/wayzer/scriptAgent/ConfigExt.kt
- 🔥 plugin/src/cf/wayzer/scriptAgent/JarScriptRegistry.kt
- 🚚 plugin/src/cf/wayzer/scriptAgent/mindustry/GenerateMain.kt <= plugin/src/cf/wayzer/scriptAgent/GenerateMain.kt
- ➕ plugin/src/cf/wayzer/scriptAgent/mindustry/Loader.kt
- ➕ plugin/src/cf/wayzer/scriptAgent/mindustry/Main.kt
- 🔥 plugin/src/mindustry/plugin/Plugin.kt
- 📝 scripts/coreLibrary/DBApi.kts +4 -4
- 📝 scripts/coreLibrary/controlCommand.kts +36 -23
- ➕ scripts/coreLibrary/lang.kts
- 📝 scripts/coreLibrary/lib/ColorApi.kt +1 -1
- 📝 scripts/coreLibrary/lib/CommandApi.kt +38 -13
- 📝 scripts/coreLibrary/lib/ConfigApi.kt +29 -19
- 📝 scripts/coreLibrary/lib/PlaceHoldApi.kt +9 -4
- ➕ scripts/coreLibrary/lib/util/nextEvent.kt
- 📝 scripts/coreLibrary/module.kts +1 -1
- ➕ scripts/coreLibrary/redisApi.kts
- 📝 scripts/coreMindustry/console.kts +12 -15
- 📝 scripts/coreMindustry/contentsTweaker.kts +2 -2
- 📝 scripts/coreMindustry/lib/CommandImpl.kt +20 -38
- 📝 scripts/coreMindustry/lib/ContentHelper.kt +10 -21
- 📝 scripts/coreMindustry/lib/DispatcherExt.kt +30 -3
- 🔥 scripts/coreMindustry/lib/util/menu.kt
- ➕ scripts/coreMindustry/menu.kts
- ➕ scripts/coreMindustry/menu.lib.kt
- 📝 scripts/coreMindustry/module.kts +3 -1
- ➕ scripts/coreMindustry/util/README.md
- ➕ scripts/coreMindustry/util/spawnAround.kt
- ➕ scripts/coreMindustry/util/trackBuilding.kt
- 🔥 scripts/coreMindustry/utilNext.kts
- ➕ scripts/coreMindustry/utilNextChat.kts
- 📝 scripts/coreMindustry/variables.kts +16 -5
- ➕ scripts/main/bootStrap.kts
- 📝 scripts/metadata/coreLibrary.metadata +0 -0
- ➕ scripts/metadata/coreLibrary_DBApi.metadata
- ➕ scripts/metadata/coreLibrary_lang.metadata
- 📝 scripts/metadata/coreMindustry.metadata +0 -0
- 🔥 scripts/metadata/gbot.metadata
- 📝 scripts/metadata/main.metadata +0 -0
- 🔥 scripts/metadata/mirai.metadata
- 📝 scripts/metadata/wayzer.metadata +0 -0
- ➕ scripts/metadata/wayzer_map_betterTeam.metadata
- ➕ scripts/metadata/wayzer_user_userService.metadata
- 📝 scripts/mirai/lib/PermissionExt.kt +5 -4
- 📝 scripts/mirai/module.kts +15 -2
- 📝 scripts/wayzer/ext/gatherTp.kts +18 -12
- 📝 scripts/wayzer/ext/lang.kts +16 -96
- 📝 scripts/wayzer/ext/resourceHelper.kts +6 -1
- 📝 scripts/wayzer/lib/dao/PlayerData.kt +21 -8
- 📝 scripts/wayzer/map/betterTeam.kts +11 -9
- ➕ scripts/wayzer/map/mapSnap.block_colors.png
- 📝 scripts/wayzer/map/mapSnap.kts +12 -15
- 📝 scripts/wayzer/maps.kts +4 -4
- 📝 scripts/wayzer/maps.manager.kt +39 -53
- 📝 scripts/wayzer/maps.registry.kt +4 -2
- 📝 scripts/wayzer/playerInfo.kts +17 -14
- 📝 scripts/wayzer/reGrief/history.kts +3 -7
- 📝 scripts/wayzer/reGrief/unitLimit.kts +12 -12
- 🔥 scripts/wayzer/res/block_colors.png
- 📝 scripts/wayzer/user/ban.kts +12 -11
- 📝 scripts/wayzer/user/ext/rank.kts +2 -2
- 📝 scripts/wayzer/voteService.kts +2 -7
- 📝 settings.gradle.kts +4 -1
Full Changelog: v3.0.0...v3.1.0
v3.0.0 (136+)
3.0.0漫长的发布过程
3.0.0的发布从7.18整整拖了2个月了,有几点原因
- 游戏版本从135->136增加了不少内容,有较大的改变,很多问题要在服务器中慢慢发现
- 加载器也有较大的更新和调整
- 上一个版本稳定性可能有点问题,作为一个大版本更新,我希望正式发布更有质量
最近更新
- 严重bug: 修复build 39-40中的数据库NPE问题 @way-zer (5cc9eb8)
- 🐛 (core/contentsTweaker) 回档时ClassCastException @way-zer (f9e0c84)
- 🐛 (wayzer/user/ext/statistics) 离线玩家没有经验 @way-zer (718387f)
- ✨ (coreLib/DBApi) 更新exposed版本,及部分优化 @way-zer (9faac37)
- 🐛 (core/console) ClassNotFound 在老版本java @way-zer (6600367)
- ⬆️ (loader) 更新库到1.9.1.3 @way-zer (f0a29b5)
- 🐛 (wayzer) 修复使用bind出现NPE的问题 @way-zer (63d570f)
- ✨ (loader) 更新库到1.9.1.4;实现AllInOne发布及运行 @way-zer (f4c35d6)
新的安装格式 All In One
仅需要将all in one的jar丢到mods中,即可使用完整功能
- 增加脚本:和以前一样,放到
scripts
目录即可(简单脚本直接放入scripts/main
即可) - 修改脚本:相同id, 放置到
scripts
目录对应目录,(目前需要重启服务器生效) - 删除脚本:目前不支持直接删除,可用SAMain指定bootStrap脚本,通过该脚本控制需要加载的模块
更新日记
loader/coreLib
- ⬆️ (loader) 游戏版本为138 @way-zer (cba1b27)
- ✨ (loader) 更新库到1.9.1.4;实现AllInOne发布及运行 @way-zer (f4c35d6)
- ✨ (coreLib) 协程化指令系统和权限系统 @way-zer (cc09bc4,f5e739ff)
- ✨ (coreLib) 变量库接口规范化 @way-zer (90061d3)
- ✨ (coreLib) 重新实现DBApi,支持复杂的upgrade @way-zer (e2a1aa5)
- ✨ (coreLib/DBApi) 更新exposed版本,及部分优化 @way-zer (9faac37)
- 🐛 (coreLib/DBApi) fix NPE when init @way-zer (5cc9eb8)
h2database#2191
core/wayzer
other
文件变更
70 文件
- 📝 .github/workflows/release.yml +1 -1
- 📝 README.md +2 -2
- 📝 build.gradle.kts +88 -13
- 🔥 dependencies.gradle.kts
- 📝 gradle/wrapper/gradle-wrapper.jar +0 -0
- 📝 gradle/wrapper/gradle-wrapper.properties +1 -1
- 📝 gradlew +159 -104
- 📝 gradlew.bat +8 -6
- 📝 plugin/res/plugin.json +1 -1
- 📝 plugin/src/cf/wayzer/ScriptAgent4Mindustry.kt +26 -16
- 📝 plugin/src/cf/wayzer/scriptAgent/GenerateMain.kt +20 -15
- ➕ plugin/src/cf/wayzer/scriptAgent/JarScriptRegistry.kt
- 📝 scripts/coreLibrary/DBApi.kts +95 -15
- 📝 scripts/coreLibrary/controlCommand.kts +87 -21
- 📝 scripts/coreLibrary/hotReload.kts +23 -5
- 📝 scripts/coreLibrary/lib/ColorApi.kt +48 -0
- 📝 scripts/coreLibrary/lib/CommandApi.kt +22 -19
- 🔥 scripts/coreLibrary/lib/Ext.kt
- 📝 scripts/coreLibrary/lib/PermissionApi.kt +4 -5
- 📝 scripts/coreLibrary/lib/PlaceHoldApi.kt +18 -4
- 📝 scripts/coreLibrary/lib/util/ServiceRegistry.kt +4 -4
- 📝 scripts/coreLibrary/lib/util/coroutine.kt +2 -0
- 📝 scripts/coreLibrary/module.kts +5 -1
- 📝 scripts/coreLibrary/permissionCommand.kts +5 -0
- 📝 scripts/coreLibrary/varsCommand.kts +1 -0
- 📝 scripts/coreMindustry/console.kts +26 -21
- 🔥 scripts/coreMindustry/contentsLoader.kts
- ➕ scripts/coreMindustry/contentsTweaker.kts
- 📝 scripts/coreMindustry/lib/CommandExt.kt +13 -4
- 📝 scripts/coreMindustry/lib/CommandImpl.kt +28 -51
- 📝 scripts/coreMindustry/lib/ContentExt.kt +19 -25
- 📝 scripts/coreMindustry/lib/ContentHelper.kt +9 -7
- 📝 scripts/coreMindustry/lib/DispatcherExt.kt +4 -1
- 📝 scripts/coreMindustry/lib/ListenExt.kt +12 -4
- 📝 scripts/coreMindustry/lib/PermissionExt.kt +1 -1
- 📝 scripts/coreMindustry/scorebroad.kts +11 -14
- 📝 scripts/coreMindustry/variables.kts +1 -3
- 📝 scripts/main/pixelPicture.kts +3 -5
- 📝 scripts/main/spawnMob.kts +2 -2
- 📝 scripts/metadata/coreLibrary.metadata +0 -0
- 📝 scripts/metadata/coreMindustry.metadata +0 -0
- 📝 scripts/metadata/main.metadata +0 -0
- 📝 scripts/metadata/mirai.metadata +0 -0
- 🔥 scripts/metadata/private.metadata
- 📝 scripts/metadata/wayzer.metadata +0 -0
- 📝 scripts/mirai/status.kts +3 -4
- 📝 scripts/wayzer/ext/autoUpdate.kts +13 -13
- 📝 scripts/wayzer/ext/gatherTp.kts +2 -0
- 📝 scripts/wayzer/ext/lang.kts +10 -8
- 📝 scripts/wayzer/ext/vote.kts +1 -1
- 📝 scripts/wayzer/lib/PermissionExt.kt +2 -3
- 📝 scripts/wayzer/lib/dao/PlayerData.kt +6 -4
- 📝 scripts/wayzer/lib/dao/util/TransactionHelper.kt +4 -1
- 🚚 scripts/wayzer/lib/event/ConnectAsyncEvent.kt <= scripts/wayzer/lib/event/PlayerJoin.kt
- 📝 scripts/wayzer/map/autoSave.kts +21 -22
- 📝 scripts/wayzer/map/mapInfo.kts +88 -30
- 📝 scripts/wayzer/map/mapSnap.kts +0 -3
- 📝 scripts/wayzer/maps.kts +8 -9
- 📝 scripts/wayzer/maps.manager.kt +61 -34
- 📝 scripts/wayzer/playerInfo.kts +21 -23
- 📝 scripts/wayzer/reGrief/history.kts +7 -21
- 📝 scripts/wayzer/reGrief/unitLimit.kts +4 -0
- 📝 scripts/wayzer/res/block_colors.png +0 -0
- 📝 scripts/wayzer/user/achievement.kts +2 -2
- 📝 scripts/wayzer/user/ban.kts +9 -11
- 📝 scripts/wayzer/user/ext/profileBind.kts +9 -7
- 📝 scripts/wayzer/user/ext/rank.kts +6 -7
- 📝 scripts/wayzer/user/ext/skills.kts +1 -3
- 📝 scripts/wayzer/user/ext/statistics.kts +20 -19
- 📝 scripts/wayzer/voteService.kts +10 -6
v2.11.2 (v135)
预编译版本: v135
该版本为最后一个v7.0(135)的插件版本。 若无重大bug,后期不再继续更新维护7.0分支
更新日记
CoreLib
- ✨ (coreLib) ConfigApi 支持 overlay文件 @way-zer (2bc654d)
- ✨ (coreLib) PermissionApi 更新内部实现,使用PermissionGroup代替PermissionTree @way-zer (adca4c0)
- ✨ (coreLib/DBConnector) 使用config进行配置,通用的DB连接 @way-zer (714cc0e)
- 🐛 (coreLib/variables) Duration按d序列化错误 @way-zer (020ffd3)
Core && main
- 🚚 (core/scoreBroad) from
main/scoreBroad
@way-zer (37e6cf3) - 🐛 (core/utilMapRule) 单轮重复调用报错 @way-zer (4f24006)
- 🐛 (core) 电脑版menu错误 @way-zer (e2e4324)
- ✨ (core/utilNext) 改用listenPacket2Server实现nextChat,避免优先级过低,无法生效 @way-zer (e874238)
- ✨ (core) 增加更多MsgType; @way-zer (0ee359c)
新增函数
PlaceHoldString.toPlayer(player: Player): String
- ✨ (core/contentsLoader) 更新到1.0.8.支持patch功能 @way-zer (16c98eb)
- ✨ (core/lib) 增加 listenPacket2ServerAsync 接口 @way-zer (77ece59)
- 🔧 (core/scoreBroad) 修改默认提示信息 @way-zer (0298cc6)
- 🐛 (core/scoreBroad) 找不到 scoreBroad.ext.* 变量的问题 @way-zer (62a65a5)
- ✨ (core/utilNext) 新Dsl式menuBuilder。废弃sendMenu @way-zer (85c602e)
- ✨ (main/pixelPicture) 异步渐进式绘制,改用URL加载 @way-zer (43baf4a)
WayZer
- 🐛 (wayzer/maps) rules与ContentsLoader不兼容问题 @way-zer (ab5d745)
- ✨ (wayzer/maps) 整理换图加载逻辑,修复-1识别问题。 @way-zer (79ef1f3)
- ✨ (wayzer/map/banUnit) 合并@banunit和原版bannedUnits功能 @way-zer (2f717d5)
- ✨ (wayzer/map/betterTeam) team指令支持显示更多队伍 @way-zer (1908d7c)
- ✨ (wayzer/map/betterTeam) 分离事件AssignTeamEvent和ChangeTeamEvent。处理更加有序 @way-zer (7d8b474)
- ✨ (wayzer/map/betterTeam) 使AssignTeamEvent事件Cancellable,以支持拦截 @way-zer (0edee7a)
- ➕ (wayzer/ext/observer) 从betterTeam中分离出观察者功能 @way-zer (b85cedb)
- ✨ (wayzer/map/pvpProtect) 优化代码,支持多边形保护区 @way-zer (3dc6f14)
- ✨ (wayzer/map/pvpProtect) 恢复成禁止进入 (苦力怕问题) @way-zer (42386b0)
- 🐛 (wayzer/map/mapInfo) 在小数点处换行的bug @way-zer (96a7b9c)
- ✨ (wayzer/map/autoSave) 增加地图信息保存 @way-zer (12ed57d)
- 🐛 (wayzer/map/limitAir) 可能的异步读写问题 @way-zer (914f03f)
- 🔧 (wayzer/map/limitPermission) 代码优化 @way-zer (136b1d0)
- 🚚 (wayzer/ext/welcomeMsg)
customWelcome
功能. fromwayzer/user/level
@way-zer (54c1fa3) - ✨ (wayzer/user/ext/skills) 重写技能接口 @way-zer (dae39cb)
- ✨ (wayzer/ext/autoUpdate) 更新重写自动更新服务端功能 @way-zer (61b3628)
- ✨ (wayzer/ext/autoUpdate) 增加 onlyInNight 和 forceUpdate 功能 @way-zer (3e29ed1)
- 🔧 (wayzer/ext/resourceHelper) 移除数据上报功能 (已废弃) @way-zer (3df2f68)
- ✨ (wayzer/reGrief/history) 增加指挥中心查询 @way-zer (f4a6961)
- 🔧 (wayzer/reGrief/unitLimit) 使用gamePost代替yield @way-zer (669905d)
- ✨ (wayzer/* & private/*) 异步化所有数据库操作 @way-zer (79e64dc)
更新提示
数据库变化(714cc0e)
如果采用内置数据库,请忽略该条
现在数据库统一采用配置项配置连接。
外部数据库配置方式:
- 使用sa config配置外部数据库连接方式。
例:sa config coreLibrary.DBConnector.driverMaven set "org.postgresql:postgresql:42.2.15"
sa reload DBcoreLibrary/DBConnector
参考配置项
// driverMaven: org.postgresql:postgresql:42.2.15
// driver: org.postgresql.Driver
// url: jdbc:postgresql://db:5432/postgres
// user: postgres
// password: your_password
文件变更
50 文件
- 📝 .github/actions/changelog/main.js +6 -1
- 📝 .gitignore +2 -1
- 📝 README.md +2 -2
- 📝 build.gradle.kts +9 -8
- 📝 dependencies.gradle.kts +1 -1
- 📝 scripts/coreLibrary/DBConnector.kts +24 -42
- 📝 scripts/coreLibrary/lib/ConfigApi.kt +7 -1
- 📝 scripts/coreLibrary/lib/PermissionApi.kt +91 -76
- 📝 scripts/coreLibrary/permissionCommand.kts +2 -2
- 📝 scripts/coreLibrary/variables.kts +1 -1
- 📝 scripts/coreMindustry/contentsLoader.kts +49 -3
- 📝 scripts/coreMindustry/lib/ContentExt.kt +36 -7
- 📝 scripts/coreMindustry/lib/ContentHelper.kt +10 -5
- 📝 scripts/coreMindustry/lib/util/menu.kt +1 -1
- 🚚 scripts/coreMindustry/scorebroad.kts <= scripts/main/scorebroad.kts
- 📝 scripts/coreMindustry/utilMapRule.kts +2 -2
- 📝 scripts/coreMindustry/utilNext.kts +49 -48
- 📝 scripts/main/pixelPicture.kts +51 -61
- 📝 scripts/wayzer/ext/autoUpdate.kts +61 -37
- 📝 scripts/wayzer/ext/lang.kts +4 -2
- ➕ scripts/wayzer/ext/observer.kts
- 📝 scripts/wayzer/ext/resourceHelper.kts +0 -116
- 📝 scripts/wayzer/ext/welcomeMsg.kts +18 -4
- 📝 scripts/wayzer/lib/dao/PlayerData.kt +36 -19
- 📝 scripts/wayzer/lib/dao/PlayerProfile.kt +21 -12
- ➕ scripts/wayzer/lib/dao/util/TransactionHelper.kt
- ➕ scripts/wayzer/lib/dao/util/WithTransactionHelper.kt
- 📝 scripts/wayzer/lib/event/PlayerJoin.kt +6 -4
- 📝 scripts/wayzer/map/autoSave.kts +16 -1
- 📝 scripts/wayzer/map/banUnit.kts +23 -12
- 📝 scripts/wayzer/map/betterTeam.kts +47 -57
- 📝 scripts/wayzer/map/limitAir.kts +8 -9
- 📝 scripts/wayzer/map/limitPermission.kts +3 -3
- 📝 scripts/wayzer/map/mapInfo.kts +10 -7
- 📝 scripts/wayzer/map/pvpProtect.kts +23 -15
- 📝 scripts/wayzer/maps.manager.kt +32 -33
- 📝 scripts/wayzer/maps.registry.kt +1 -3
- 📝 scripts/wayzer/playerInfo.kts +41 -13
- 📝 scripts/wayzer/reGrief/history.kts +20 -4
- 📝 scripts/wayzer/reGrief/unitLimit.kts +1 -2
- 📝 scripts/wayzer/user/achievement.kts +5 -2
- 📝 scripts/wayzer/user/ban.dao.kt +10 -18
- 📝 scripts/wayzer/user/ban.kts +13 -8
- 📝 scripts/wayzer/user/ext/expReward.kts +5 -3
- 📝 scripts/wayzer/user/ext/rank.kts +1 -1
- 📝 scripts/wayzer/user/ext/skills.kts +17 -7
- 📝 scripts/wayzer/user/ext/statistics.kts +4 -2
- 📝 scripts/wayzer/user/level.kts +1 -16
- 📝 scripts/wayzer/user/notification.kts +1 -4
- 📝 scripts/wayzer/user/userService.kts +3 -0
v2.11.1 用户系统&前后缀支持
Ktc编译游戏版本 v135
更新日记
CoreLib&Core&Mirai
-
🐛 (coreLib/controlCommand) reload参数错误出现“Direct return”错误 @way-zer (ba2e20e)
-
✨ (core/console) 重定向标准输出流,解决输出打断输入的问题;解决windows下颜色字符问题 @way-zer (9d7a5f0)
(coreLib/ColorApi) 移除Windows终端无颜色的判断
✨ (core) 自动过滤后台无法显示的颜色
WayZer模块
主要更新:整理用户系统,增加前后缀支持,增加shortID显示
- ✨ (wayzer) 更新整理用户系统 @way-zer (bd32b3a)
分离achievement,notification数据表到子脚本
重新实现有关PlayerProfile.controlling的逻辑,解决多服登录状态错误问题
增加单独的数据包储存Notification信息
升级SQL(可选)insert into notificationchecktime select id,"lastTime" from playerprofile;
- ✨ (wayzer) 增加玩家动态名字和动态前后缀的支持 @way-zer (73d85f0)
⬆️ (wayzer/*) 跟随变量库更新
- 🔥 (wayzer/admin) 整个脚本完全废弃 @way-zer (411f6a5)
- /list: 已用名字后缀替代
- /ban: 已用banX代替
- /mAdmin: 可用/sa pm代替
- ✨ (wayzer/user/shortID) 注册名字后缀: 显示shortID在名字后方 @way-zer (2fcd129)
其他更新:
- ✨ (wayzer/ext/autoUpdate) 优化处理逻辑;增加配置项可切换更新源 @way-zer (30a96ef)
- ✨ (wayzer/user/ext/skills) 重写技能处理,更具灵活性 @way-zer (882633d)
- ➕ (wayzer/map/limitPermission) 地图特定权限设置 @way-zer (d7a9166)
- 🔧 (wayzer/map/pvpProtect) 更改为PlayEvent,简化代码 @way-zer (b52403f)
- 🐛 (wayzer/reGrief/unitLimit) 玩家为出兵队伍时,不受单位上限控制 @way-zer (325c613)
- 🐛 (wayzer/map/betterTeam) NPE报错 @way-zer (943e54b)
- 🐛 (wayzer/map/betterTeam) 非pvp复活到其他队伍bug @way-zer (388ad71)
- 🐛 (wayzer/map/betterTeam) 可能的gameover错误 @way-zer (a1d260a)
文件变更
40 文件
- ➕ .github/actions/changelog/changelog.iml
- 📝 .github/actions/changelog/main.js +27 -3
- 📝 .github/workflows/checkScripts.yml +6 -3
- 📝 dependencies.gradle.kts +2 -2
- 📝 scripts/coreLibrary/configCommand.kts +6 -6
- 📝 scripts/coreLibrary/controlCommand.kts +13 -11
- 📝 scripts/coreLibrary/lib/ColorApi.kt +2 -3
- 📝 scripts/coreLibrary/lib/PermissionApi.kt +15 -6
- 📝 scripts/coreLibrary/lib/PlaceHoldApi.kt +6 -8
- ➕ scripts/coreLibrary/lib/util/coroutine.kt
- 📝 scripts/coreLibrary/module.kts +1 -1
- 📝 scripts/coreLibrary/permissionCommand.kts +5 -4
- 📝 scripts/coreMindustry/console.kts +91 -41
- 📝 scripts/coreMindustry/lib/ContentHelper.kt +2 -1
- 📝 scripts/coreMindustry/variables.kts +4 -5
- 📝 scripts/main/scorebroad.kts +5 -22
- 📝 scripts/metadata/coreLibrary.metadata +0 -0
- 📝 scripts/metadata/gbot.metadata +0 -0
- 📝 scripts/metadata/mirai.metadata +0 -0
- 📝 scripts/mirai/module.kts +30 -22
- 🔥 scripts/wayzer/admin.kts
- 📝 scripts/wayzer/ext/autoUpdate.kts +56 -48
- 📝 scripts/wayzer/lib/dao/PlayerData.kt +11 -2
- 📝 scripts/wayzer/lib/dao/PlayerProfile.kt +33 -9
- 📝 scripts/wayzer/map/betterTeam.kts +12 -14
- ➕ scripts/wayzer/map/limitPermission.kts
- 📝 scripts/wayzer/map/pvpProtect.kts +6 -12
- 📝 scripts/wayzer/module.kts +1 -1
- 📝 scripts/wayzer/playerInfo.kts +48 -9
- 📝 scripts/wayzer/reGrief/unitLimit.kts +12 -10
- 🚚 scripts/wayzer/user/achievement.db.kt <= scripts/wayzer/lib/dao/Achievement.kt
- 📝 scripts/wayzer/user/achievement.kts +3 -2
- 🔥 scripts/wayzer/user/autoClear.kts
- 📝 scripts/wayzer/user/ban.kts +2 -1
- 📝 scripts/wayzer/user/ext/skills.kts +84 -50
- 📝 scripts/wayzer/user/level.kts +15 -22
- 🚚 scripts/wayzer/user/notification.db.kt <= scripts/wayzer/lib/dao/PlayerNotification.kt
- 📝 scripts/wayzer/user/notification.kts +10 -18
- 📝 scripts/wayzer/user/shortID.kts +1 -0
- 📝 scripts/wayzer/user/userService.kts +1 -1
2.11.0 发布
更新日记
- ⬆️ (loader) v1.8.1.3 @way-zer (2d5b573)
- ⬆️ (coreLib) 升级PlaceHoldApi到4.3 @way-zer (c18c5cf)
🐛 (wayzer/user/ext/statistics) internal问题
- ⬆️ (coreLib/DBApi) 升级 Exposed 到 0.37.3 @way-zer (d827fe7, 0687db6)
- ✨ (coreLib/ServiceRegistry) 增加onDisable支持 @way-zer (b74da09)
- 🐛 (coreLib/ServiceRegistry) 默认改为同步订阅 @way-zer (9a1cad7)
解决h2数据库报错问题
- ✨(coreLib/DBConnector)加入MySQL连接模板 @way-zer (4fb49cc)
Merge pull request #19 from deng-rui/7.0
为DBConnector.kts加入MySQL连接模板
- ✨ (core/MindustryDispatcher) 添加
Dispatchers.gamePost
@way-zer (0a52647) - ➕ (core/utilMapRule) registerMapRule 工具函数 @way-zer (7561231)
- ➕ (core/utilContentOverwrite) 内容包相关支持 @way-zer (18bc41c)
- ➕ (main/showEffect) 显示粒子效果 @way-zer (42710d8)
- 🐛 (wayzer/map/betterTeam) no customLoad for
teams
@way-zer (3f5a7d5) - ✨ (wayzer/map/betterTeam) 支持标记[@Banteam] @way-zer (bcfb226)
- ➕ (wayzer/reGrief/limitFire) 限制火焰 @way-zer (b33c9d1)
- 🐛 (wayzer/reGrief/unitLimit) 终结波未reset @way-zer (cce1e2a)
- 🐛 (wayzer/maps) 状态传递错误;重复reset @way-zer (06d9560)
- ✨ (wayzer/reGrief/unitLimit) 防单波大量出兵卡服 @way-zer (64fc605)
- ✨ (wayzer/ext/gatherTp) 增加pvp禁用 @way-zer (6ff60fe)
- 🐛 (wayzer/maps) 当服务器未安装地图时,
/maps
报错 @way-zer (c1f0a35, 9d37268) - 🐛 (wayzer/ext/gatherTp) 包导入错误 @way-zer (3d0cfc6)
相关项目推荐 MindustryContents
项目地址: https://github.com/way-zer/MindustryContents
下载地址: https://github.com/way-zer/MindustryContents/releases
允许客户端根据服务器要求动态切换资源包
相关项目推荐 MindustryX
增强的第三方Mindustry服务端,拥有扩展的API与一些插件不便实现的性能优化。(兼容原版客户端)
项目地址: https://github.com/way-zer/MindustryX
下载地址: https://github.com/way-zer/MindustryX/releases
更新提示
本次已经经过人工测试,precompile包可以显著提升第一次的加载速度,大幅减少运行时需要下载的依赖 (libs约45MB)
推荐使用precompile包,需要修改的脚本,可以单独附加kts脚本,优先加载kts
混合安装
可将precompile解压到scripts/cache
目录,scripts解压到scripts
,也可利用precompile大幅提升第一次启动速度