💰【1.12-1.21+|Folia】WarZCrates - 商业级抽奖系统|38种动画|网页编辑器|保底+阶梯钥匙

原创 付费 💰【1.12-1.21+|Folia】WarZCrates - 商业级抽奖系统|38种动画|网页编辑器|保底+阶梯钥匙 1.4.3

请登录后获取
WarZCrates 1.3.0

  • 修复保底值悬浮字出现两条重叠"花字"的问题。根因:悬浮字实体会随区块存盘,玩家远离箱子后触发刷新时旧实体删不掉,区块重载后带着旧保底值复活并与新字重叠。由于两套文字只有保底数字不同,视觉上只有保底值一行乱码。
  • 新增区块加载兜底清理:旧版本已残留在存档里的重影实体,更新后走近箱子即自动清除,无需手动处理。
  • 区块卸载再加载后悬浮字自动恢复,不用等重新进服/开箱。
  1. 修复全息图实体叠加 — cleanupStateTaggedEntitiesNow 不再使用 isCurrentRunTagged 跳过同进程实体,改为完全依赖受保护的实体 ID 集合,确保遗留装甲架被正确清理
  2. 修复非 viewer-scoped 模式全息图永不刷新 — syncViewer 在 viewerScopedRendering == false 时不再直接返回,改为 fallback 重新渲染共享实体
  3. syncViewer 防重入 — 十连抽等快速连续调用的场景下,同一玩家刷新请求被去重,避免同 tick 重复创建/销毁实体
  • 修复内置 Built-in 动态全息图在保底值/钥匙值刷新后,可能出现悬浮字重复生成并重叠的问题。
  • 全息图现在会按同一箱子的 hologram ID 精确清理旧文本残留,避免刷新后旧字没删干净。
  • 加载和重绑箱子位置时,会自动去重重复的方块绑定,避免同一坐标被重复创建悬浮字。
[MD] - 当前 Wiki 对应版本:`1.2.7` - `1.2.7`:奖励新增独立开关 `reset_pity_on_win`,可实现“只要抽到这个奖励,就直接清空当前箱子的保底值”;已同步接入旧版 `max_pity`、高级 `pity_rules`、网页编辑器和奖励展示 lore。 [/MD]
  • 修复 rarity: common 误触发旧保底清零的问题。
  • 新增 /warzcrates pity 管理命令,支持查、加、扣、设保底值。
  • 扩展 /warzcrates vkey,保留旧写法“增加”,同时新增 take/set。
  • /warzcrates reload 前先保存玩家数据,避免重载把内存里的保底/钥匙回退。
  • 版本更新到 1.2.5,Wiki 和更新日志已同步。
[MD] ## 更新摘要 - 修复旧版 `max_pity` 保底链路中,命中 `pity_reward: true` 但该奖励本身不算稀有时,保底值没有正确清零的问题。 - 统一旧版保底单抽与十连的结算语义;十连跨过旧版保底阈值后,后续抽数现在会按“本次已触发并清零后的新计数”继续累计,避免展示值与实际保底状态错位。 - 补充并细化 Wiki 中的保底说明,明确 `rare_threshold` 是正确字段名,说明旧版保底为何可能在达到 `max_pity` 之前因抽中稀有奖励而提前清零,并补写网页编辑器高级保底文本格式与最终 YAML 结构的对应关系。 [/MD]
[MD] ## 更新摘要 - 新增真正的无动画抽奖模式:箱子配置 `animation: NONE` 后,开箱会在扣除钥匙或箱子物品后立即发放奖励,不再打开动画 GUI 或世界场景动画。 - 修复玩家在动画过程中退出服务器可能导致“钥匙已扣但奖励未发”的问题;动画开箱现在会登记待发奖励,正常发奖后标记已结算,退出或动画异常取消时会补发尚未结算的奖励。 - `NO_ANIMATION`、`NOANIMATION`、`INSTANT`、`OFF` 现在都会作为 `NONE` 的别名读取,旧配置可直接兼容到无动画模式。 - 网页编辑器和游戏内 GUI 的动画类型列表已支持选择“无动画”。 [/MD]
[MD] - 修复从 `1.1.12` 升级到 `1.2.x` 后,旧配置中自定义过的 `rewards.receive_win` / `rewards.broadcast_win` 完整消息模板可能不再生效的问题。 - 奖励私聊提示和全服播报现在会优先兼容管理员改过的旧完整模板,保留 `&a`、`&b`、`&#RRGGBB` 等颜色代码,同时继续支持新版本的客户端本地化奖励名显示。 - 这次没有新增消息键,`messages.yml` 不需要重新生成;保留原配置即可恢复原来的小麦色、蓝色等配色布局。 [/MD]
[MD] ## 更新摘要 - 新增管理员命令 `/warzcrates keyall <箱子ID> [数量]`,可一次性给所有在线玩家发放指定抽奖箱的实体钥匙。 - 补充 `messages.yml` 中对应的用法提示、全员发放成功提示、玩家接收提示和帮助列表文案;消息文件版本提升到 `5`,旧配置会在重载后自动补齐新增消息键。 - 优化命令发放物品的背包写入逻辑,数量超过单组最大堆叠时会自动拆分,多余物品仍会按原逻辑掉落在玩家脚下。 [/MD]
  • 修复 Purpur 26.1.2 下执行 /warzcrates create ... 后因 XMaterial 初始化失败导致的命令异常。
  • 将业务代码里的 XMaterial 材质解析全部替换为本地 MaterialCompat,避免 XSeries 对新版本号解析不兼容。
  • 保留低版本兼容:新旧材质名通过字符串候选解析,例如:
    • BLACK_STAINED_GLASS_PANE -> STAINED_GLASS_PANE
    • PLAYER_HEAD -> SKULL_ITEM
    • ENDER_EYE -> EYE_OF_ENDER
    • WOODEN_PICKAXE -> WOOD_PICKAXE
  • 对旧版彩色玻璃、羊毛、混凝土、头颅等补了 legacy data 值,尽量保持 1.12 这类低版本显示效果。
  • 配置材质、奖励材质、箱子方块恢复逻辑也改为走统一兼容解析,减少旧配置失效概率。
[MD] ## 更新摘要 - 修复 `Leaf 1.21.8` 下奖励预览附加的 `WarZCratesPreviewLoreLines` 标签未被真正删除,导致玩家拿到的奖励物品多出额外组件、无法与同类物品正常叠加的问题。 - 修复实体钥匙与实体箱子在使用“完整模板物品”发放时,插件仍会额外写入 `WarZCratesItemType` / `WarZCratesCrateId`,从而破坏外部插件自定义物品判定的问题;像“不详钥匙”这类依赖原始 NBT 的物品现在会按原样发放。 - 为奖励物品、额外奖励物品、实体钥匙模板和实体箱子模板补充历史标签清理逻辑;旧配置在重新载入、编辑或保存后,会自动去除 WarZCrates 自身残留的预览/标记数据,降低后续继续出现“多组件、不叠加、识别失败”的概率。 [/MD]
后退
顶部 底部