You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Minecraft 1.21.3自定义音乐唱片无法在唱片机播放问题

自定义音乐唱片无法在Minecraft 1.21.3 Java版唱片机播放的问题

资源包操作

  • welcome.ogg放入assets/minecraft/sounds/路径
  • sounds.json中注册该声音事件
  • 可通过/playsound minecraft:welcome @p命令正常播放声音

数据包操作

  • /world/datapacks/oraxen_jukebox/data/minecraft/jukebox_song/welcome.json路径添加音乐唱片定义文件,内容如下:
{
  "sound_event": { "sound_id": "minecraft:welcome" },
  "description": { "text": "§6Welcome §eSong" },
  "length_in_seconds": 180,
  "comparator_output": 12
}
  • 给自己添加带有jukebox_playable组件(值为minecraft:welcome)的物品

当前现象

  • 物品提示框正确显示“Welcome Song”,数据包已加载
  • 将唱片插入唱片机时无声音播放

已尝试排查

  • 更换minecraft以外的命名空间作为声音ID,现象未改变
  • 验证声音文件可访问且在资源包中注册正确

问题

导致自定义声音无法在唱片机播放的原因是什么?还需在数据包或资源包中配置其他内容吗?


解答

核心原因:声音事件的Category未设置为record

Minecraft 1.21+的唱片机只会触发**category为"record"**的声音事件,即使你能通过/playsound播放该声音,只要category不符合要求,唱片机就不会播放。

修复步骤

  1. 修改资源包中的sounds.json,给welcome声音事件添加"category": "record"字段:
"welcome": {
  "sounds": [
    "welcome"
  ],
  "category": "record"
}
  1. 额外验证点(若上述修改后仍无效):
  • 确认jukebox_song文件的命名空间与声音事件一致:如果使用自定义命名空间(比如oraxen_jukebox),需同步修改:
    • 数据包路径改为/world/datapacks/oraxen_jukebox/data/oraxen_jukebox/jukebox_song/welcome.json
    • 声音ID改为oraxen_jukebox:welcome
    • 资源包路径改为assets/oraxen_jukebox/sounds/welcome.ogg,并在assets/oraxen_jukebox/sounds.json中注册该声音
  • 确认物品的jukebox_playable组件格式正确:使用命令给物品时,确保组件结构无误,例如:
/give @p minecraft:music_disc_emerald{components:{"minecraft:jukebox_playable":{"sound_event":"minecraft:welcome"}}}

内容的提问来源于stack exchange,提问作者Th0rgal

火山引擎 最新活动