我无法在游戏中实现自定义音乐光盘。带有实际项目的所有内容(纹理,模型,在自动点唱机中播放音乐等)都可以正常运行,但是在播放音乐时,无论您身在何处,都可以听到。我要这样做,以使我的音乐光盘像香草光盘一样具有有限的距离。
这是我对该项的注册(为方便起见,我仅删除了其中一张音乐光盘,就删除了所有其他项):
@SubscribeEvent
public static void registerItems(final RegistryEvent.Register<Item> event) {
event.getRegistry().registerAll
(
//All other items
ModItems.music_disc_song = new ModMusicDiscItem(15, new SoundEvent(location("song")), (new Item.Properties().group(MODGROUP).maxStackSize(1).rarity(Rarity.RARE))).setRegistryName(location("music_disc_song"))
);
}
这是我在ModItems中对光盘的初始化:
//All other items
public static Item music_disc_song;
这是ModMusicDiscItem类:
public class ModMusicDiscItem extends MusicDiscItem {
public ModMusicDiscItem(int id, SoundEvent sound, Item.Properties prop) {
super(id, sound, prop);
}
}
这是我的sounds.json:
{
"song": {
"sounds": [
{
"name": "censoredid:music_discs/song",
"volume": 0.05,
"stream": true
}
]
}
}
同样,播放音乐可以正常工作,但是音量不会随着距离的增加而减小。该代码适用于1.13.2(当然,将MusicDiscItem更改为ItemRecord),但在1.14.3或1.14.4中无效。谢谢你的帮助。
最佳答案
该文件需要以单声道记录,然后传输到.ogg。 Mono允许游戏仅基于透视图编辑声音,而立体声(您要处理的内容)则仅播放音频文件,即音频文件。
关于java - 在我的Minecraft 1.14.4 mod中,音乐光盘的距离没有变安静,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57277755/