• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
WarZItemTime —— 全版本限时物品插件|精确过期|模板库|MMOItems 支持|PAPI 支持|Folia 兼容【1.8 - 1.21+】

原创 付费 工具 WarZItemTime —— 全版本限时物品插件|精确过期|模板库|MMOItems 支持|PAPI 支持|Folia 兼容【1.8 - 1.21+】 1.4.2

请登录后获取
[MD] ## 1.4.2 更新 - 修复铁砧漏洞:空白物品 + 限时物品合成时,原版结果只继承第一格 NBT,会丢掉第二格的期限标签与 Lore,从而“洗掉”限时。 - 新增 `anvil-protection`:默认 `transfer` 模式会把两侧输入中更严格的期限写回铁砧结果并刷新 Lore;可改为 `block` 直接禁止限时物品进铁砧。 - `1.9+` 通过 `PrepareAnvilEvent` 修正预览结果,全版本在取出结果时二次校验;`1.8` 仅走点击校验路径,避免加载不存在的事件类。 [/MD]
[MD] 1.4.1 更新 - 修复开启 `op-bypass-countdown` 后,待激活物品进入普通玩家背包时虽然已经写入真实到期时间,但 Lore 仍一直显示“有效期”的问题。 - 静态 Lore 优化现在会核对插件管理的 Lore 内容;只有内容和行数都一致时才跳过刷新,避免“有效期”和“到期日期”同为一行时被误判。 - 兼容 raw Lore 优化路径:比较原始 Lore 时忽略颜色格式差异,继续避免对未变化物品反复执行 Bukkit `ItemMeta` 重写。 - 修复后,普通玩家通过拾取、箱子转移或内置物品模板获得待激活物品时,会在背包扫描后正确显示新的固定到期日期;底层计时与模板保存语义保持不变。 [/MD]
  • 修复 1.20.1 Mohist 下物品添加时间限制可能失效的问题。
  • 1.13 - 1.20.x 改为 PDC + Legacy NBT 双通道写入,读取时 PDC 优先、NBT 兜底。
  • 增强 LegacyNBTUtil 对 Mohist/Paper 1.20.1 的 CompoundTag/ListTag/StringTag 兼容。
  • 保持 1.8 - 1.12 旧版 NBT 路径不变,1.21+ 仍以 PDC 为主。
[MD] ## 1.3.7 更新 - 修复 Paper/PaperSpigot `1.20.1` 下,`LegacyNBTUtil` 读取原始 Lore 时出现 `NoSuchMethodException: net.minecraft.nbt.NBTTagCompound.getCompound(java.lang.String)` 的问题。 - 调整新版 NBT 反射兼容层,Lore 读写改为统一走已解析的方法签名,降低 `1.17+ - 1.21+` 映射差异带来的报错风险。 - 优化背包轮询中的时间 Lore 刷新逻辑,原始 NBT Lore 可用时优先直接读写,尽量避免反复触发 Bukkit `ItemMeta#getLore()` 的 JSON 反序列化。 - 针对 CustomShop 等商店发放的静态限时物品,若当前不是动态倒计时 Lore,则写入一次有效期后不再每轮重复刷新,缓解 Paper `1.20.1` watchdog 卡线程问题。 - 保持 `1.8 - 1.21+` 与 Folia 兼容路径不变,本次主要是 `1.20.1` 兼容性与性能稳定性修复。 [/MD]
  • 新增 MythicMobs 物品限时支持。
  • MythicMobs Items 里可通过 NBT 添加:
    • WARZITEMTIME_DURATION: "30m"
    • WARZITEMTIME_TIME_LIMIT: "1d2h"
  • 支持 30m、2h、7d、1d2h 等相对时间格式。
  • MythicMobs 生成的物品进入玩家背包后,会自动转成真实到期时间。
  • 转换后会移除临时 NBT,避免重复刷新导致期限被重置。
  • WarZItemTime 会自动追加/维护时间 Lore,不需要在 MM 的 Lore 里手写时间。
  • plugin.yml 已加入 MythicMobs 软依赖。
  • 修复 Paper 1.21.11 下 MMOItems 限时物品触发的 LegacyNBTUtil 刷屏警告。
  • 1.21+ 不再为了 Lore 刷新误走旧版 Legacy NBT 反射路径。
  • 给 LegacyNBTUtil 增加新版 CraftBukkit 包结构兼容和单次初始化保护。
  • 保留 1.8-1.13 的旧版 NBT 路径,尽量避免兼容性回归。
[MD] ## 1.3.0 更新 - 新增轻量 MiniMessage 文本支持,语言文件现在可混用 `&`、`<gray>`、`<gold>`、`<bold>`、`<italic>` 等格式。 - 新增 `\n` 换行支持,可把剩余时间 Lore 拆成两行显示。 - `1.16+` 支持 RGB 颜色 `&#RRGGBB` 和 `<#RRGGBB>`。 - `1.13+` 自动转换旧版材质名。 - `<=1.12` 新增 `item.json` 材质映射文件,支持 `MATERIAL:DATA` 写法。 [/MD]
🔧 修复内容
修复 MMOItems 限时物品倒计时重置问题

- 问题现象 :当 MMOItems 物品配置了 TIME_LIMIT 属性后,插件在每次轮询检查物品时(默认每秒),都会错误地将其识别为“未开始计时”的新物品,并重新计算过期时间(当前时间 + 持续时间)。这导致物品的过期时间每秒都会向后推迟 1 秒,永远无法到达过期时间。
- 修复方案 :在 ItemManager.java 的 checkPending 方法中增加了预检查逻辑。
- 逻辑变更 :现在在检查是否需要启动计时器之前,会先判断该物品是否 已经 处于计时状态。如果物品已有过期时间戳,则直接跳过处理,确保计时器能够正常走完。
修复 Lore 更新逻辑 :
- 问题 : 在 ItemManager.java 中,原逻辑在更新 Lore 文本后,由于判断条件错误(再次对比已更新的文本),导致系统误判为“无变化”,从而拦截了背包刷新操作。
- 修复 : 修正了 updateLore 方法的判断逻辑。现在,当计算出的剩余时间字符串与物品当前 Lore 不一致时,会正确应用更改并返回更新后的物品对象,强制触发背包界面刷新。

- 新增 STATIC 显示模式 :

- 在 config.yml 中新增 time-format.mode 选项,默认为 STATIC (静态模式)。
- STATIC 模式 :
- 未解锁状态 (Pending) : 当物品处于待激活状态(如 OP 获取、未使用的物品)时,Lore 显示为 有效期 (例如: 有效期: 3天 )。
- 已解锁状态 (Active) : 当物品被使用或激活后,Lore 显示为 到期日期 (例如: 到期日期: 2025/12/31 12:00:00 )。
- 无实时刷新 : 此模式下 Lore 不会每秒跳动更新,彻底解决了手持物品抽动的问题。
- COUNTDOWN 模式 : 保留了原有的倒计时模式,如需使用可将配置改回 COUNTDOWN 。
- 配置文件更新 :

- config.yml : 增加了 time-format.mode 配置项。
- lang/zh-CN.yml : 增加了 lore-validity (有效期) 和 lore-deadline (到期日期) 的语言配置。
修复Folia 1.21.8下偶现的报错
后退
顶部 底部