kaydogz Posted July 29, 2019 Posted July 29, 2019 (edited) I'm having trouble implementing my custom music discs into the game. Everything with the actual item (texture, model, plays music in jukebox, etc.) works properly however, when the music is playing, no matter where you are in the world, you can hear it. I would like to make it so that my music discs have limited distance like the vanilla discs. Here is my registration of the item (only one of the music discs, I removed all other items for the sake of convenience): @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")) ); } Here is my initialization of the disc in ModItems: //All other items public static Item music_disc_song; Here is the class ModMusicDiscItem: public class ModMusicDiscItem extends MusicDiscItem { public ModMusicDiscItem(int id, SoundEvent sound, Item.Properties prop) { super(id, sound, prop); } } And here is my sounds.json: { "song": { "sounds": [ { "name": "censoredid:music_discs/song", "volume": 0.05, "stream": true } ] } } Again, playing the music works properly, however, the volume does not decrease with distance. This code worked for 1.13.2 in terms of volume decreasing, but does not work in 1.14.3 or 1.14.4. Thanks for any help. Edit: thanks to fanor who found the fix: you need to change the audio file from stereo to mono Edited September 16, 2019 by kaydogz Quote
fanor Posted September 11, 2019 Posted September 11, 2019 BUMP ! I have the same problem, Someone can help ? Quote
MatsCraft1 Posted September 12, 2019 Posted September 12, 2019 On 7/30/2019 at 1:16 AM, kaydogz said: I'm having trouble implementing my custom music discs into the game. Everything with the actual item (texture, model, plays music in jukebox, etc.) works properly however, when the music is playing, no matter where you are in the world, you can hear it. I would like to make it so that my music discs have limited distance like the vanilla discs. Here is my registration of the item (only one of the music discs, I removed all other items for the sake of convenience): @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")) ); } Here is my initialization of the disc in ModItems: //All other items public static Item music_disc_song; Here is the class ModMusicDiscItem: public class ModMusicDiscItem extends MusicDiscItem { public ModMusicDiscItem(int id, SoundEvent sound, Item.Properties prop) { super(id, sound, prop); } } And here is my sounds.json: { "song": { "sounds": [ { "name": "censoredid:music_discs/song", "volume": 0.05, "stream": true } ] } } Again, playing the music works properly, however, the volume does not decrease with distance. This code worked for 1.13.2 in terms of volume decreasing, but does not work in 1.14.3 or 1.14.4. Thanks for any help. use " attenuation_distance: " Quote
kaydogz Posted September 12, 2019 Author Posted September 12, 2019 10 hours ago, MatsCraft1 said: use " attenuation_distance: " Doesn't change anything, the sound still plays thousands of blocks away from the jukebox. And yes, I made sure the value for attenuation_distance was an integer. I even checked vanilla references of attenuation_distance to make sure I used it correctly, and I did. It just doesn't solve my issue. Quote
fanor Posted September 13, 2019 Posted September 13, 2019 I have try too "attenuation_distance" but it's doesn't' work .. And i have try to debug this with intellij but i have see no difference between my music and minecraft music .. My music : Spoiler Minecraft Music : Spoiler Quote
fanor Posted September 14, 2019 Posted September 14, 2019 Maybe it's a forge bug ? cause i really don't know why it's doesn't work .. Quote
kaydogz Posted September 16, 2019 Author Posted September 16, 2019 I think the issue is that in the sounds.json, it categorizes the sound with the folder that it is in (the record part of “censoredid:records/song”. I’m guessing that it checks if it has the prefix of Minecraft:records, and if it does, it gives the record it’s attenuation properties. This is why vanilla discs work. However, since I am using my mod id, it doesn’t not recognize the category, hence not giving it attenuation. Idk, im probably wrong, but it’s my best guess. But the issue is definitely with the name parameter in the sounds.json, because changing the file location to a vanilla song (minecraft:records/stal) works perfectly Quote
fanor Posted September 16, 2019 Posted September 16, 2019 (edited) 14 hours ago, kaydogz said: I think the issue is that in the sounds.json, it categorizes the sound with the folder that it is in (the record part of “censoredid:records/song”. I’m guessing that it checks if it has the prefix of Minecraft:records, and if it does, it gives the record it’s attenuation properties. This is why vanilla discs work. However, since I am using my mod id, it doesn’t not recognize the category, hence not giving it attenuation. Idk, im probably wrong, but it’s my best guess. But the issue is definitely with the name parameter in the sounds.json, because changing the file location to a vanilla song (minecraft:records/stal) works perfectly It's strange, cause for me, even in "minecraft" it's doesn't work : "myRecords": { "category": "record", "sounds": [ { "name": "minecraft:records/myRecords", "stream": true } ] }, I have the same issue, no attenuation Edited September 16, 2019 by fanor Quote
kaydogz Posted September 16, 2019 Author Posted September 16, 2019 3 minutes ago, fanor said: It's strange, cause for me, even in "minecraft" it's doesn't work : "myRecords": { "category": "record", "sounds": [ { "name": "minecraft:records/myRecords", "stream": true } ] }, I have the same issue, no attenuation Well, the record has to be a vanilla one for that to work, because your record is not located in assets/minecraft/sounds/records/, it is located in assets/yourmodid/sounds/records/ Quote
fanor Posted September 16, 2019 Posted September 16, 2019 Nope i have placed my music in : src/main/resources/assets/minecraft/sounds/records/ but my sounds.json is in assets/mymodid/ Quote
kaydogz Posted September 16, 2019 Author Posted September 16, 2019 3 minutes ago, fanor said: Nope i have placed my music in : src/main/resources/assets/minecraft/sounds/records/ but my sounds.json is in assets/mymodid/ ? The .ogg needs to be in assets/yourmodid/sounds/records, and the sounds.json needs to be in assets/yourmodid i don’t understand how you placed your music file in the vanilla directory Quote
fanor Posted September 16, 2019 Posted September 16, 2019 1 minute ago, kaydogz said: ? The .ogg needs to be in assets/yourmodid/sounds/records, and the sounds.json needs to be in assets/yourmodid i don’t understand how you placed your music file in the vanilla directory For try if it's only work in "minecraft" .. for try what you said before : Quote But the issue is definitely with the name parameter in the sounds.json, because changing the file location to a vanilla song (minecraft:records/stal) works perfectly Quote
fanor Posted September 16, 2019 Posted September 16, 2019 (edited) So, I guess, two things:- our ogg music is badly encoded- It's hard coded in the game but it's clairly WTF. UPDATE : I tried to get a Minecraft music, and rename it, and its going on .. so I think the problem is the music file .. Edited September 16, 2019 by fanor Quote
fanor Posted September 16, 2019 Posted September 16, 2019 I found the solution, you need a music in MONO not in STEREO ... @kaydogz 3 Quote
kaydogz Posted September 16, 2019 Author Posted September 16, 2019 (edited) 4 hours ago, fanor said: I found the solution, you need a music in MONO not in STEREO ... @kaydogz Nice! As soon as I get home I’ll test it out! Edit: It worked! Good fucking job man! Edited September 16, 2019 by kaydogz 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.