Posted May 17, 20178 yr Hello, I've made a custom sound and test event to play it, but it won't work. When I break block nothing happens. What is wrong with my code? sounds.json { "item.soulshot.activated": { "category": "player", "subtitle": "item.soulshot.activated", "sounds": [ { "name": "lineagecraft:item/soulshot/activated", "stream": true } ] } } Sound handler public class SoundHandler { private static int size = 0; public static SoundEvent SOULSHOT_ACTIVATED; public static void init(){ size = SoundEvent.REGISTRY.getKeys().size(); SOULSHOT_ACTIVATED = register("item.soulshot.activated"); } public static SoundEvent register(String name){ ResourceLocation location = new ResourceLocation(Reference.MOD_ID, name); SoundEvent e = new SoundEvent(location); SoundEvent.REGISTRY.register(size, location, e); size++; return e; } } Event with playSound @SubscribeEvent public void onTest(BreakEvent event){ event.getPlayer().sendMessage(new TextComponentString("Block break")); event.getWorld().playSound(event.getPlayer(), event.getPlayer().getPosition(), SoundHandler.SOULSHOT_ACTIVATED, SoundCategory.PLAYERS, 1.0F, 1.0F); } init @EventHandler public void init(FMLInitializationEvent event){ SoundHandler.init(); }
May 18, 20178 yr Author Ok, I made a client packet which is playing sound. Everything works. Thank you.
May 18, 20178 yr https://stackoverflow.com/documentation/minecraft/9956/modding-with-forge/30642/adding-custom-sounds-to-your-mod
May 19, 20178 yr 16 hours ago, diesieben07 said: You do not need a packet... Can you explain further. This is not very helpful if you are not providing any example, how it is done right.
May 31, 20178 yr Author I've changed the player to null and it works. Problem solved. Thank you guys for helping.
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.