Releases: way-zer/ScriptAgent4MindustryExt
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大幅提升第一次启动速度
v2.10.0 更新
Precompile游戏版本 v135
更新内容
- ⬆️ (loader) 更新核心库到v1.8.0.1 MDT版本到v135
BREAKCHANGE: 所有.metadata统一到一个文件夹;xxx.module.kts转换为xxx/module.kts
- ⬆️ (coreLib) 升级PlaceHoldLib到4.3
- ✨ (main/scoreBroad) 使用新特性
- 🔧 (*) 使用logger代替println
新功能更新
- ✨ (coreLib/ServiceRegistry) 增加awaitInit接口
- ✨ (coreLib/ServiceRegistry) 使用flow代替channel
- ➕ (core/utilNext) 含nextEvent,nextChat,sendMenu工具函数
- ✨ (core/utilNext) 增加sendMenu的二次封装 sendMenuBuilder
- ✨ (wayzer/maps) 增加onLoadMap接口
- ✨ (wayzer/maps) 更新换图流程,增强对生成器地图的支持
- ⬆️ (wayzer/ext/vote&resourceHelper) 适应生成器地图
- ✨ (wayzer/maps) 新增GameOverEvent
- ✨ (main/spawnMob) 添加armor属性
- ➕ (wayzer/user/shortID)接管原admin的shortID功能
更新shortID算法,使用hash运算,防止指定导致碰撞概率提高 - ✨ (wayzer/user/ext/statistics) 增加活动倍率
- ✨ (mirai/status) 增加更多内容
修复性更新
外部更新导致的bug
- ⬆️ (mirai) 升级到2.8.1
修复无法发送带图片内容的bug
- ✨ (wayzer/maps) 覆盖原版gameOver指令
- 修复bug, 支持指定winner
- ⬆️ (wayzer/voteService) 修复v133后不可用的bug
- 🐛 (wayzer/reGrief/history) 新版本 PickupEvent 报错
- 🐛 (wayzer/map/mapSnap) 版本更新导致 未绘制完整方块
- ✨ (wayzer/maps) 同步原版换图逻辑
- 🐛 (wayzer/maps) 默认筛选器问题
插件bug
- 🐛 (wayzer/reGrief/unitLimit)超过5000反复投降
- 🐛 (wayzer/playerInfo) 名字过长导致报错
其他更新
- 🔧 (coreLib/*Command) 拼写错误
- 🔧 (coreMindustry/variables) 修正”FPS“=>“TPS” #17
BREAKCHANGE: {fps}变量变成{tps}
- ✨ (wayzer/map/mapInfo) 改为单显示框显示
- 🔧 (wayzer/user/ban) 暴露ban接口
- 🐛 (wayzer/user/ext/statistics) 可能异常导致统计中断
- 🐛 (wayzer/reGrief/unitLimit) 可能的并发修改问题
v2.9.0 加载器及核心库升级
编译Mindustry版本 v129.1
更新内容
- ⬆️ (loader) 更新库到v1.7.4.1
- 🐛 (cache) 无法检查代码变更
- ✨ (ScriptManager) 添加Disable超时
- ✨ (ScriptManager) 添加对依赖环的应对
- 🐛 (classloader) 与context有关的NPE问题
- ✨ (maven) 新的依赖版本控制系统
- ✨ (loader) 使用SAMain变量代替main/main
支持通过SAMain配置插件启动(仅启动部分脚本)
- ✨ (coreLib) 使用协程重新实现Provider
- ✨ (coreLib) CommandApi增加checkArg接口
- ✨ (coreLib/configCommand) 增加list指令,增加更多权限节点
- ✨ (coreLib/controlCommand) 增加更多指令参数
- ➕ (coreLib/varsCommand) 列出所有模板变量
- 🔥 (coreLib/infoCommand)
- ✨ (wayzer/voteService) 使用@Depends模式代替ServiceRegistry
- 🔧 (wayzer/map/mapSnap) 更新block_colors.png
- 🐛 (core/Dispatcher) 关服可能的死锁
- 🐛 (main/spawnMob) 无法原地召唤
- 🐛 (wayzer/user/mute) 参数错误
更新提示
本次更新重点优化加载器稳定性及核心库使用体验
核心指令SA变更
- 新增
/sa config list查看所有配置项 - 新增
/sa vars查看所有模板变量(lang中可用)- 参数
-v可显示变量来源
- 参数
- 新增
/sa list fail列出所有未成功加载脚本 /sa disable增加参数--save,永久关闭脚本(重启保留)/sa reload增加参数--noCache, 忽略缓存重载- 移除
/sa info,使用新增指令代替 - 调整/help指令参数
-v,使用该参数可显示所有指令(忽略权限限制)- 同时显示指令来源及所需权限
7.0首次正式更新
主要内容
- ⬆️ (loader) 核心库->1.7.2.0
- Kotlin -> 1.5.20, Coroutine -> 1.5.1
- 🐛 修复'./'目录引用错误的问题
- ✨ (script) 支持新版伴随源码自动导入
对于脚本
abc.kts自动导入同目录下的abc.*.kt文件 - ✨ (cache) 支持检查所有导入的源码文件
- 🐛 (classloader) 修复一处可能的context内存泄漏
- ✨ (loader) 支持main/main脚本启动
- ⬆️ (loader) 更新编译游戏库到v128
- ⬆️ (wayzer/res) 更新block_colors文件到127版本
- 🐛 (wayzer/ext/autoUpdate&resourceHelper) Net问题
- ✨ (core) 增加listenPacket2Server和registerActionFilter功能声明函数
- ✨ (core) 为 runInMain增加catch
- ✨ (wayzer/user/mute) 增加禁言功能
- ✨ (wayzer/map/banUnit) 禁封特定单位
- ✨ (wayzer/user/ext/rank) 排行榜功能(实验)
- ✨ (wayzer/admin) 增加3位Id碰撞警告
- ✨ (wayzer/user/level) 增加是否显示等级图标配置项
- ✨ (wayzer/map/betterTeam) 屏蔽灰色和红色队伍.实现自定义gameover
- ✨ (wayzer/maps) 扩宽地图标记识别范围
- ✨ (wayzer) PlayerProfile增加Name字段
- ✨ (wayzer/user/userService) 使用contextScript代替ServiceRegistry
- 🐛 (wayzer/ext/lang) 读取文件无效&reload报错
- 🐛 (wayzer/ext/resourceHelper) End数据错误
- ⬆️ (mirai) -> 2.7-M2
可能提高登录成功率
- ✨ (mirai) 增加 MessageEvent.hasPermission 复合权限检查
关于新资源站接口
资源站换图id统一更新为5位数字id(与服务器内地图统一编码)方便记忆,同一地图更新文件,id不变
地图模式统一在资源站上设置,无需换图后缀
新版服务器插件提供
换图,获取模式,评分,上报功能,未来计划增加订阅功能
换图接口更新
目前使用换图接口需要token, token申请待开放
公共临时token: 9b3a6e98-7f24-4842-ac43-f770cfbc72be
v2.7.1
该版本适配游戏v126版本
- ⬆️ (loader) 更新库到v1.7.1.1
- 🐛 (coreLib) jcenter关闭导致PlaceHoldApi无法下载
- ✨ (core) 增加runInMain接口,允许异步调用reply
- ✨ (wayzer/user/ban) banX 指令
支持ban的时间和理由设置,群组服可以多服同步
- ✨ (wayzer/reGrief/unitLimit) 增强
- ✨ (wayzer/ext/gatherTp) 多次尝试,增加tp成功率
- ✨ (wayzer/maps) 重构,分离出MapRegistry和MapManager,增加MapProvider
- ⬆️ (wayzer/map/autoHost) 适配新版maps
- 🐛 (wayzer/maps) findByMap 可能死锁的问题
- ✨ (wayzer/ext/resourceHelper) 跟随资源站更新,接入新版Maps
- ✨ (wayzer/ext/resourceHelper) 避免重复下载
- ✨ (wayzer/ext/resourceHelper) 完善评分机制
- ✨ (wayzer/ext/resourceHelper) 更新显示时机
- 🐛 (wayzer/maps) 存档加载的部分信息丢失
- 🔧 (wayzer/voteProvider) 修正Depends参数
- 🐛 (wayzer/ext/vote) 未移除的过期Import
更新提示
本次发布针对6.0(v126)版本
非编译版本建议不要使用precompile脚本包,以免无法检查版本兼容性
v2.7.0 支持ktc预编译包加载
主要功能
- ⬆️ (loader) 更新核心库到1.7.0
- 支持ktc预编译及加载(详见 更新提示)
- 为@import添加compileArg类型
- ✨ (coreLib/permissionCommand) 添加debug功能
- ⬆️ (coreLib/DBApi) 更新exposed到0.30.1
- ✨ (wayzer/ext/resourceHelper) 完善功能
更新提示
新precompile脚本包
从本次更新开始,将提供预编译的precompile脚本包,使用该脚本包,可以。
- 优点:省去第一次的编译过程,加快启动速度,减少资源占用。
- 另外可用来制作容器,配合动态扩容(建议通过link共用libs)
- 缺点:ktc不包含源代码,也不能直接修改内容
- 若干需要修改内容,可以放入对应脚本的kts文件(kts文件优先级高于ktc)
加载器更新
加载器现在可以作为单独的jar程序运行,用于预编译kts生成ktc
参数为需要编译的脚本id,多个用空格隔开 (如果不提供参数,默认所有脚本)
可以通过该功能制作自己的ktc脚本包
脚本wayzer/ext/resourceHelper
该脚本为资源站的配套脚本(目前还处于内测阶段)
支持 新版网络换图,地图评分 功能。
未来还将增加更多功能。
首次安装提示
因为bintray停止服务,一个关键依赖库无法下载
请手动下载下方PlaceHoldLib库,并放置到libs文件夹下(不能改动文件名)
该问题将在2.7.1修复
v2.6 加载器更新 & 新权限系统
主要内容
- ✨ (loader) 更新库版本到v1.6.1
- ✨ (coreLib) 利用新特性分离数据库依赖到子脚本
- ✨ (coreLib) 新的PermissionApi,代替wayzer/permission
- ✨ (*/PermissionExt) 实现新版脚本权限系统
- ✨ (coreLib/permissionCommand) 权限设置指令
- ✨ (coreLib/variables) 使Config支持Duration
- 🐛 (wayzer/maps) 修复加载存档核心资源重置的bug
更新提示
本次加载器更新,完善了脚本的@Depends功能
权限系统重构,需要重新配置,指令为/sa pm