StrikePractice 4.0.0——重大更新!
多年来,我们一直与公开版本并存一个独立的“开发构建”。这次更新将所有开发工作合并为一个完整版本,因此这里有大量新内容。以下是重点和更长的较小细节列表。
升级前请务必备份你的设备!
这种规模的更新(或任何规模)都有可能给某些用户带来问题。
==================================================
主要新功能:
==================================================
- 现代机器人战斗系统:启用use-modern-bots:config.yml全新机器人AI(由iiAhmedYT开发)实现。支持1.8.8(传承)和1.21.4+(现代),使用(附魔的)金苹果和药水,并且有正确的命中/失行为。插件文件夹里会创建一个bots.yml文件来调优,每个版本的设置都保存在 version-specific/bots/ 下。
- 可自定义菜单 + 菜单API:将modern-kit-guis: 设为true,config.yml用于使用新的完全可配置GUI。每个菜单都作为独立文件存在于菜单/文件夹中,并可自由编辑——包括无排名/排名/高级/2v2排队菜单、决斗技能选择器、决斗竞技场选择器、竞技场选择器、机器人难度选择器以及技能预览菜单。在决斗菜单中包含一个自定义技能按钮(启用且玩家有权限时)和一个随机竞技场按钮。
- messages.yml 中的 MiniMessage 支持:messages.yml 现在使用 MiniMessage 格式,因此可以使用十六进制颜色、渐变和合适的可点击/悬停组件。消息也可以写成列表,便于多行消息,缺失的键会自动添加到文件中。在游戏内用 /sprac reloadmessages 重新加载(也会刷新记分板)。
- 标题和字幕遍布:倒计时、回合结果、完整比赛胜负和床铺破坏,现在显示可配置的标题和字幕。新misc.yml中的时间(淡入/停留/淡出)是按标题配置的。
- 可配置音效(misc.yml):新misc.yml允许你独立自定义声音、音量和音调,涵盖床上休息、倒计时计时/行动、重生倒计时以及回合/战斗的胜负。
- FAWE全新改造的竞技场管理:完全重构的竞技场系统(ArenasManager),配备FastAsyncWorldEdit重置队列,缓存和克隆竞技场副本,实现快速且内存友好的重置。新增了堆叠/复制的竞技场(无法通过命令修改)、竞技场启用/禁用切换命令、创建竞技场时强制设置角落、在战斗+重置运行时“保持竞技场加载”,以及竞技场缺失角或共享区块的启动警告。
- 最佳对决扩展:最佳对决现适用于派对对机器人和派对分裂比赛,回合结束称号和回合间可自定义延迟(下一回合延迟:config.yml为60秒,计时)。
- ELO段位移至ranks.yml:段位现在配置在专用ranks.yml中(段位条目不重叠),而非config.yml。现有军衔会自动迁移。
- 平滑死亡动画:死亡现在播放的是平滑过渡,而不是瞬间传送,属性和统计数据都被正确追踪。
==================================================
其他新功能、命令和选项:
==================================================
- 新增/battlekit <kit>以启用/禁用每个套件的制作功能
- 新增/battlekit displayname <kit>以设置套件显示名称
- 新增/battlekit饱和度<kit>以设置套件默认饱和度
- 添加/battlekit移除材料<kit>以移除允许的(额外)材料
- 添加/battlekit编辑作为/battlekit give的别名(附说明)
- 添加了/party fight <leader> <kit>直接发起队伍战斗
- 增加了/party split <kit>和/party ffa <kit>
- 添加了/duel deny <player>
- 新增 /sprac reloadmessages 以重新加载 messages.yml
和记分板 - 新增 /sprac getconfig <path>读取配置值
- 新增竞技场切换命令以启用/禁用竞技场及其副本
- 新增 instant-void-y-level: 0 以设置比赛中(如相扑
)中计为“无效”的 Y 级别- 新增了传送-虚空生成:真实/虚空生成-传送-y等级:-5,如果玩家在出生点掉入虚空,自动传送回大厅
- 新增修复机器人伤害:true作为部分分支机器人伤害的兼容选项
- 增加了床战-床铺-破碎命令:[],用于在床被破坏时执行命令
- 新增风暴墙:部分(基础伤害/时间乘数/距离倍率),用于调节风暴墙伤害
- 新增kit-editor-allowed-commands以白名单技能编辑器内可用的命令,以及kit-editor.allow-editing-armor,允许玩家脱下护甲
- 新增末影珍珠传送限制,防止在竞技场外获得珍珠
- 自定义装备编辑器中新增铜制护甲/武器和下界合金斧
- 新增竞技场建造限制
时显示的已达格限制(messages.yml)提示- 新增了重生倒计时信息和重生倒计时标题
- 增加了床战/桥梁的床况占位符
- 增加了<team1_alive> / <team2_alive>和<team1_wins> / <team2_wins>占位符
- 扩展了<活人>占位符以适用于所有战斗模式
- 增加了<对手>占位符的队伍对队伍支持
- 增加了可点击信息
的六边形颜色支持。- 新增自动优先给出编辑套件选项,自动给出第一个编辑后的套件
- 注册一个无害的备用/spawn命令,避免在无/spawn
时显示红色“无效命令”文本
==================================================
修复:
==================================================
- 修正了对无关玩家、自伤/击杀及修改套件的击杀回复
- 修复了FAWE最佳重置重置到破损状态
- 修复了多个FAWE重置问题:罕见重置失败、额外2倍内存使用以及FAWE上的爆炸床NAS
- 修正了床战和桥梁中的双重重生呼叫/双重虚空死亡
- 修正了观众触发虚空/水死亡、被药水溅射、掉落物品或拾取经验的情况
- 修正了在战斗中移除观众并在回合/决斗开始
前移除 - 修正了队伍分裂、队伍对机器人和队伍对机器人的最佳逻辑,加上最后一个玩家正确进入观战
- 修正了自队对决和淘汰赛/锦标赛对决处理
- 修正了机器人问题:其他实体出现错误的命中延迟标记、错误的机器人名称、相扑机器人死亡、治疗药水的命中/失败强度、队伍对机器人机器人死亡
- 修正了投射物/火球追踪,确保非战士和观众的投射物能正确处理和清理
- 修复了在战斗
中可编辑的标识- 修复了地图上的铜氧化、打蜡/卸蜡以及铲子压平/铜刮擦问题
- 修复了1.21+
版本中彩色床战物品 - 修复了记分板问题:遗留重复、管理员记分板错误、关闭后剩余的侧边栏标题以及1.20.3+
纸质版上的红色分数 - 修正了金库挂钩稳定性和组队经济检定
- 修正了FFA竞技场验证、装备类型和特殊竞技场套件(计算FFA/活动竞技场)
- 修复竞技场中重复的套件名称和更新相关竞技场的重命名
- 修复了启用标签但禁用记分板时的内存泄漏
- 修复了战斗中玩家未被发现的断线
问题 - 修正了ELO比赛的双重开始消息和队伍请求比较的bug
——修复了ELO奖励逻辑和/sprac reviveelo的反方向
- 修正了段位重叠检测和段位迁移
的问题- 修复延迟计性能计算和MapUtil边界验证
- 修复了因缺少药水职业
导致的回放库存损坏和回放崩溃 - 修复了机器人对决和各种空指针异常,以及菜单配置错字的崩溃保护
- 修复了许多占位符问题(own_wins、opponent_wins、加载时的wlr、每个套件队列占位符、CPS准确性)
- 修复了桥牌游戏模式如果你掉进自己坑里会卡住,以及桥牌模式中的双倍得分
问题 - 修复了包监听器管理器
中的线程安全问题 - 在战斗、队伍、菜单和消息
中做了许多小修复 ==================================================
性能与内部:
==================================================
- 重做记分板和生命条以大幅提升性能,并使生命条独立于记分板
- 重构末影珍珠冷却时间,不再使用元数据 API(某些 Spigot 分支稳定性更好)
- 缓存玩家战斗查询,并将部分结构转换为 ConcurrentHashMap 以保障线程安全
- 不再在战斗开始时强制加载区块;仅在需要
时才加载相关场地 - 将配置处理迁移到 BoostedYAML(配置加载更干净且自动缺键插入)
- 移除了 StrikePractice 自己的 d开发者API内部
应用
==================================================
:
==================================================
- 新增了FightDeathEvent
- 新增了Fight#skipRoundCountdown
==================================================
移除:
==================================================
- 移除了未使用的 keep-chunks-loaded 选项(在现代版本中已不再有效,易出错——改用 keep-arenas-loaded)-
移除了 ToppeStaffMode 插件集成和 LeaderHeadsAPI 依赖(使用占位符!)