稀有拾取声音

稀有拾取声音

此模组增加了在拾取物品时播放声音的稀有几率。可配置。

稀有物品拾取音效 一款轻量级客户端 NeoForge 模组,当物品进入你的物品栏时播放可配置的音效。为挖矿增添一丝惊喜——当你终于挖到钻石时听到清脆的提示音,或者用恐怖音效来一次意想不到的惊吓吧。

特性

  • 随机自定义音效 - 从 rare1.ogg 到 rare50.ogg 中随机选取
  • 每物品概率 - 下界之星触发几率 100%,而泥土仅 1/1000
  • 白名单或黑名单模式 - 完全控制,支持物品标签,例如 #minecraft:ores
  • 音量和音高随机化 - 每次触发音效都独一无二
  • 仅快捷栏模式 - 忽略护甲/副手/合成栏位,避免刷屏
  • 0.5 秒冷却 - 拾取一组 64 个物品时不会震耳欲聋
  • 即时配置重载 - 游戏中更改设置,无需重启
  • 支持资源包 - 内置 6 种音效,可覆盖/替换全部 50 种
  • 模组兼容 - 已使用 Sinytra Connector 在 100+ 个模组环境下测试,应该能与 NeoForge 上的大多数模组兼容
  • 仅客户端。无需在服务端安装即可在纯原版或模组服务端上运行。

安装

  1. 安装 1.21.1 版本的 NeoForge
  2. 将 jar 文件放入 mods 文件夹
  3. 启动一次以生成配置文件
  4. (可选)将自定义音效添加到资源包,路径为 assets/rarepickupsounds/sounds/rare7.ogg 等

配置

游戏内访问:Mods > Rare Pickup Sounds > Config

默认白名单:diamond、netherite_ingot、nether_star、dragon_egg

添加自定义音效

  1. 创建一个资源包
  2. 将 .ogg 文件添加到 assets/rarepickupsounds/sounds/rare1.ogg、rare2.ogg……最多到 rare50.ogg
  3. 模组会自动检测该范围内的任何文件。缺失的编号会被安全跳过
  4. 无需编辑 sounds.json——只需放入文件即可覆盖。

兼容性说明

  • Sinytra Connector:完全兼容。使用 FMLClientSetupEvent 避免早期类加载。
  • Distant Horizons:已测试。无静态初始化冲突。
  • ItemSwapper / IPN:使用 EventPriority.LOWEST 在其他模组之后捕获物品栏变化。

常见问题

问:服务器需要安装此模组吗? 答:不需要。纯客户端模组。可在任何服务器上运行。

问:我能让只有下界合金工具播放音效吗? 答:可以。最简单的方法是手动添加每个物品:minecraft:netherite_sword、minecraft:netherite_pickaxe 等。如果你的整合包添加了标签,可以使用 #c:tools/netherite 代替。要检查标签是否存在,请安装 JEI 或 EMI——按 U 键查看物品,然后检查底部的标签列表。原版的 F3+H 不会显示标签。如果标签不存在,请在日志中查找“Tag not found”。

问:拾取一堆物品时音效重叠 答:在配置中增加冷却时间,或提高全局稀有概率。当前冷却为 0.5 秒。

问:即使概率设为 100% 也没有音效 答:多种情况可能导致无声拾取。请按顺序检查:

  1. 白名单/黑名单不匹配:如果“使用黑名单模式 = false”,只有“物品列表”中的物品才会触发音效。如果列表为空或不包含你拾取的物品,就不会播放。修复方法:在“物品列表”中添加 minecraft:diamond,或将“使用黑名单模式”设为 true 以允许所有物品。

  2. 物品概率覆盖全局概率:如果某个物品在“物品概率”中列出(如 minecraft:diamond:1000),即使全局稀有概率为 1,它也会使用 1/1000 的概率。修复方法:从“物品概率”中移除该物品,或将概率设为 1 以实现 100%。检查日志中是否有“Item diamond has specific chance: 1000”。

  3. 仅快捷栏模式已启用:如果“仅快捷栏模式 = true”,拾取到护甲栏、副手或合成网格的物品将被忽略。修复方法:将“仅快捷栏模式”设为 false,或仅通过拾取到快捷栏(0-35 栏位)来测试。

  4. 音效文件缺失:如果 assets/rarepickupsounds/sounds/ 目录下没有 .ogg 文件,模组无法播放任何音效。修复方法:检查日志中是否有“No .ogg files found! Using fallback sound.”。在该路径的资源包中添加 rare1.ogg,或确认模组 jar 中已捆绑音效。

  5. 标签未找到或为空:如果你使用了 #c:tools/netherite 但整合包中不存在该标签,“物品列表”实际上为空。修复方法:检查日志中是否有“Tag c:tools/netherite not found”。改用手动物品 ID,或安装 JEI 验证标签是否存在。

  6. 冷却阻止刷屏:有 0.5 秒的冷却。如果你一次拾取 64 个钻石,只会听到 1-2 次音效,而不是 64 次。修复方法:这是设计意图。一个一个地掉落物品进行测试。

  7. 配置文件未重载:罕见错误:如果在游戏运行时直接编辑 .toml 文件,更改可能不会生效。修复方法:使用游戏内配置界面,或在编辑文件后重启 Minecraft。

  8. 维度过滤器:如果你将“仅限维度”设置为 ["minecraft:the_nether"],音效将不会在主世界播放。修复方法:将“仅限维度”留空以允许所有维度。

调试提示:将“全局稀有概率”设为 1,“物品列表”设为 ["minecraft:dirt"],然后拾取泥土。如果仍然听不到任何声音,请检查 latest.log 中是否有 [RarePickupSounds] 错误。

致谢

  • 代码:reg_the_galah
  • 内置音效:来自 1997 年《AstroRocks 2000》,配音:Nate Trost

许可协议

MIT——欢迎在整合包中使用、分支或学习代码。