【1.12-26.X|Folia】WarZLeaderBoard 全能排行榜插件|全息/NPC/告示牌/网页榜/赛季结算/防刷

原创 付费 【1.12-26.X|Folia】WarZLeaderBoard 全能排行榜插件|全息/NPC/告示牌/网页榜/赛季结算/防刷 1.1.3

请登录后获取

v1.1.3 更新内容​

单一修复:MySQL 每次启动刷 Duplicate key name 警告。

  • 根因在 WarZLib ORM:建表流程对实体索引列执行裸 CREATE INDEX,MySQL 不支持 IF NOT EXISTS,索引已存在就报错、被吞成 WARN —— 每次启动刷 7 行
  • 修复:建索引前先查 information_schema.statistics,已存在直接跳过(TableMeta.createIndexDdls + SqlManagerUtil.indexExists + InitApi 存在性判断)
  • 改在框架层,所有用 WarZLib 的插件重打包后同样受益;SQLite 本来就不受影响
  • 无功能变化,只是启动日志干净了
[MD] ## v1.1.2 — 2026-10-10 实测反馈修复:自赞绕过 + 全息图自由排版。 ### 新增 - **全息图自由排版 `lines`**:每个全息图实例可配 `lines:` 行模板列表,完全替代固定的「标题+名次行+自排名行」结构,手感和全息插件原生排版一致。`${entries}`/`${entries:5}`/`${entries:3-8}` 是名次行插入点(可做双栏/分段/「5 名起续榜」);普通行里的名次变量按第 1 名解析(可写榜一专属文案);`${self_rank}`/`${self_value}` 在任何行按观看者解析;`item-line`/`update-interval`/`view-range` 继续生效。不配 `lines` 时旧结构原样工作 ### 修复 - **`allow-self: false` 下仍能给自己点赞**:`uuidOf` 按「nameCache → 在线 → 离线档案」顺序解析,库里有同名旧 UUID(改名/离线转在线/代理迁移)时会命中旧号,`equals` 自检绕过。`uuidOf`/`uuidOfKnown` 改为在线玩家最优先;`like()`/`likeWeb()`/战绩名片点赞自检增加名字比对兜底(UUID 对不上时同名字也视为自赞) [/MD]
修复 —— 自定义事件全部哑火:
SettleEvent/BoardUpdateEvent 声明为异步专属(super(true)),但触发逻辑此前被统一挪到主线程 —— Paper 强校验抛 IllegalStateException,两个事件实际从未送达监听插件(结算刷 WARN、刷新事件被 catch 静默吞掉)。

TaskScheduler.fireEvent 改为按 isAsynchronous() 分发:

  • 异步事件 → 异步线程触发(已在异步线程直接发,主线程调用则切异步池)
  • 同步事件 → 主线程/全局区域触发
  • LeaderboardCache 手写 runSync+callEvent 收编统一入口
  • callEvent 兜底 try/catch,第三方监听器炸了不影响业务流程
后退
顶部 底部