• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
[1.20+]PhatLoots - ✨仿三角洲搜刮|功能强大的老牌搜刮插件| 汉化80%+|自定义|权限加快搜索速度等高级功能

二次开发 付费 [1.20+]PhatLoots - ✨仿三角洲搜刮|功能强大的老牌搜刮插件| 汉化80%+|自定义|权限加快搜索速度等高级功能 1.5.5

请登录后获取
修复网页编辑器"保存后战利品表/物品消失"
[MD] ## v1.5.4 - 2026-07-24 ### 全面优化命令交互 对主要子命令统一加强「能看懂、填得对、错得明白」: - **参数标签**:`spill` 的 X/Y/Z、money/cost/exp 的最小/最大/金额、time 的天时分秒等,不再一律叫「整数」。 - **填写示例**:make/delete/link/global/money/cost/exp/spill/give/gui/reset/clean/add* 等帮助页增加示例块。 - **场景提示**:global/autoloot/break/round/cost/reset/clean/reload/rename 等补充中文说明。 - **匹配失败纠错**:表名不存在、开关值错误、金额格式错、玩家不在线、世界名无效、参数个数不对时给出针对性提示。 - **业务侧空操作反馈**:空手 link/unlink、没看箱子就 gui/reset/clean、集合不存在 rename、reset/clean 乱填参数等,均给出明确指引。 ### 修复 - `rename` 成功提示原先误显示旧名,已改为显示新名。 - `cost` 原先复用 money 提示文案显示「金钱」,已区分「开启费用」。 - `money`/`cost`/`exp` 范围解析失败时静默弹语法,现改为明确报错。 - `reload` 的 usage 文案错误复制了 reset 说明,已更正。 - `list` 空表时给出创建指引;`gui` 控制台输出更清晰的时间/开关摘要。 ## v1.5.3 - 2026-07-24 ### 优化 `/loot time` 交互 - 语法标签由模糊的「整数」改为 **天 / 时 / 分 / 秒**。 - 支持时间简写:`1d`、`12h`、`30m`、`45s`、`1d12h30m`,以及中文单位(天/小时/分钟/秒)。 - 支持纯秒数:`3600` = 1 小时;`0` = 无冷却;`never`/`永不`/`单次` = 永不刷新。 - `/loot time <表名>` 可**查看**当前刷新时间。 - 设置成功后反馈中文说明 + 简写 + 四个整数对照。 - 格式错误时给出**纠错提示与可复制示例**,不再只丢一串无说明的语法列表。 - 参数个数不对(如只写了 2 个数字)会提示应写满四个整数或改用简写。 - 帮助页增加「填写示例」区块;Tab 补全支持 `never`/`1d`/`30m` 等。 ## v1.5.2 - 2026-07-24 ### 修复 - **Web 编辑器 / JSON 反序列化数字类型崩溃**:`Probability`、`Health`、`Experience` 等字段在 JSON 往返后可能是 `Integer`/`Long`,原先强制 `(Double)` 导致 `ClassCastException`,大量刷 `Failed to load LootCollection line: Probability`,并留下半初始化对象。 - **HealthCondition 反序列化**:`Integer cannot be cast to Double` 已修复。 - **半残 LootCollection**:加载失败时不再留下 `name=null` / `lootList=null`,避免 GUI 点击 NPE 与开箱 `lootList.iterator()` NPE。 - **GUI 防护**:进入集合时对 null/空名称做兜底;loot 列表空指针安全。 - **开箱防护**:`rollForLoot` / `findCollection` 对 null 列表与 null 条目做防护。 - 所有 Loot / Condition 数值与布尔读取统一走 `ConfigValueUtil`(兼容 Integer/Long/Double/String)。 ### 新增 - **掉落表自动备份**(`compatibility.yml` → `auto-backup`): - 保存掉落表前自动备份当前 YAML - Web 编辑器导入前自动备份 - 目录:`plugins/PhatLoots/backups/loot-tables/<表名>/` - 默认每表保留最近 20 份,同表 30 秒冷却防刷盘 - 可配置:`enabled` / `before-save` / `before-import` / `max-table-backups` / `cooldown-seconds` [/MD]
[MD] ## v1.5.1 - 2026-07-22 ### 新增 - 新增 `/loot aniget <箱子名>`:玩家自己打开指定掉落表的搜刮动画 GUI。 - 新增 `/loot anigive <玩家名> <箱子名>`:管理员或控制台让指定在线玩家打开搜刮动画 GUI。 - 两个动画命令都支持可选标题参数,和原 `/loot give` 的标题用法保持一致。 ### 优化 - 动画命令会强制走 GUI 搜刮流程,即使掉落表本身开启了 `AutoLoot`,也不会直接塞进玩家背包。 - 动画命令复用现有权限体系: - `/loot aniget` 使用 `phatloots.commandloot` - `/loot anigive` 使用 `phatloots.give` - `/loot help` 已加入新命令的分类、说明和场景提示。 - WIKI 已加入动画发奖命令说明。 ### 修复 - 关闭命令触发的虚拟动画 GUI 时,会清理动画状态,避免旧动画影响下一次开箱。 - 连续触发动画开箱时,会先停止旧动画并清空本次虚拟库存,避免奖励混入上一轮 GUI。 [/MD]
  • 新增 CraftEngine 方块/家具 AutoLink 支持,配置格式:'craftengine:namespace:id': loot_table_name
  • CraftEngine 已加入 softdepend,没装 CE 时不影响 PhatLoots 启动
  • 使用运行时反射接入 CE,避免 CE Java 21 jar 和当前 Java 17 编译链冲突
  • ItemsAdder 支持保留,IA 和 CE 可以并存
  • 默认 config.yml 已补充 CraftEngine 示例说明
[MD] ## 更新日志 (Changelog) ### v1.4.8 * **修复 IA 音效兼容性**: * `QualitySounds` 现已支持命名空间音效字符串(例如 `itemsadder:ui.loot.legendary`)。 * 宝箱打开/关闭音效(`DefaultOpenSound`、`DefaultCloseSound`、`BlockOpenSounds`、`BlockCloseSounds`)现已支持命名空间音效字符串。 * **增强音效回退逻辑**: * 音效会优先按 Bukkit 枚举解析,失败后自动按字符串音效名播放,兼容原有配置与 IA 自定义音效配置。 [/MD]
- 全版本兼容 :调整了插件配置,现在支持从 Minecraft 1.12 到 1.21+ 的所有版本(构建环境使用 Java 21,API 级别降级至 1.13 以兼容旧版)。
- 命令补全 :新增了指令的 Tab 键自动补全功能。现在输入 /loot 后按 Tab 可以自动提示子命令、玩家名称、物品材质、世界名称以及 PhatLoot 战利品表名称,极大地方便了操作。
- Bug 修复 :修复了在某些情况下(如点击空槽位或特定工具交互时)导致后台报错 NullPointerException 的问题,增强了 GUI 的稳定性。
* **新增 ItemsAdder 支持**:
* 在 `config.yml` 的 `AutoLink` 中支持配置 ItemsAdder 自定义方块。
* 格式: `itemsadder:namespace:id`。
* 新增依赖项 `ItemsAdder-API`。
* **美化控制台输出**:
* 重新设计了插件启动 (`onEnable`) 和卸载 (`onDisable`) 时的控制台 Banner。
* 显示更详细的版本、作者及社区信息。
* **语言文件优化**:
* 全面优化 `config.yml` 中的提示消息颜色和文案,使其更加现代和统一。
* 采用 `&f` (白) 为主色调,`&e` (黄) 和 `&b` (青) 为高亮色。
更新内容
1. 修复非战利品(玩家放入的物品)被错误搜刮动画覆盖的问题 :

- 问题 :当玩家 B 打开箱子时,箱子内已存在的玩家 A 放入的“垃圾”物品会被错误地识别为需要搜刮的战利品,从而被替换为搜刮占位符(指南针),导致无法取出或看到。
- 修复 :
- 在 PhatLootChest.java 中,为每次新生成的 PhatLoot 战利品添加一个内部标记( phatloots_is_loot )。
- 在 LootSearchAnimation.java 中,修改动画初始化逻辑,仅对带有该标记的物品启用搜刮动画。
- 玩家放入的物品(无标记)现在将直接显示,不会被动画覆盖。
- 动画结束揭示物品时,会自动移除该标记,使战利品变回普通物品。
更新内容
1. 修复重复搜刮动画 :

- 问题 :玩家在箱子冷却期间再次打开已搜刮完成的箱子时,会错误地重新触发搜刮动画(并重置物品栏显示)。
- 修复 :在 PhatLoot.java 中优化了 rollForChestLoot 的逻辑。现在,只有当玩家有 未完成 (暂停中)的搜刮动画时,再次打开箱子才会触发动画继续逻辑。如果动画已完成,将直接显示物品栏内容,不再播放动画。
2. 修复吞物品问题 :

- 问题 :由于重复触发动画,物品栏会被重置为搜刮占位符(指南针),导致玩家之前未取走的物品在视觉上消失或逻辑上被覆盖。
- 修复 :通过避免不必要的动画重置,物品栏将保持上次关闭时的状态,确保物品不会丢失。
1.4.2更新内容
1. 新增 IgnoredWorlds 配置项 :
- 在 config.yml 的 AutoLink 部分增加了 IgnoredWorlds 列表。
- 在此列表中指定的世界将 不会 自动绑定(AutoLink),即被忽略。
- 配合 all 配置项,可以实现“默认全绑定,仅排除特定世界”的反向设置效果。
2. 代码逻辑调整 :
- PhatLootsConfig.java :解析配置文件中的 IgnoredWorlds 列表。
- PhatLoots.java :在自动链接逻辑中优先检查当前世界是否在忽略列表中。
3. 版本更新 :
- 插件版本号已更新为 1.4.2 。
### 配置文件示例 (config.yml)
您可以在 AutoLink 下添加 IgnoredWorlds 来排除不需要绑定的世界:

```
AutoLink:
all:
CHEST: global_loot_table
# 以下世界将不会应用上述 all 的规则
IgnoredWorlds:
- world_nether
- world_the_end
```
1.4.1更新内容:

更新日志 (v1.4.1)
🐛 Bug 修复

- 修复搜刮动画自动完成问题 :修复了在搜刮过程中关闭界面会导致搜刮立即完成并显示所有物品的问题。
- 修复占位符物品可被拿取问题 :修复了在搜刮未完成时重新打开界面,可以直接拿取搜刮动画占位符(指南针)的 Bug。现在重新打开界面会正确应用库存保护。
✨ 功能改进

- 搜刮状态保存与恢复 :
- 现在关闭搜刮界面会 暂停 当前的搜刮进度,而不是取消或完成它。
- 在箱子冷却刷新前再次打开界面,将从上次暂停的位置 继续 播放搜刮动画。
后退
顶部 底部