Posted February 1, 20232 yr Hey Recently started learning modding and ive looked all over but i cant find a specific solution to my problem. I have basic java knowledge (currently studying computer science). Here is my code: @Override public InteractionResultHolder<ItemStack> use(Level level, Player player, InteractionHand hand) { if(!level.isClientSide() && hand == InteractionHand.MAIN_HAND) { level.playSound(player, player.getX(), player.getY(), player.getZ(), ModSoundEvents.WILLIAM_STICK_INTERACT.get(), SoundSource.AMBIENT, 1.0f, 1.0f); player.getCooldowns().addCooldown(this, 20); } return super.use(level, player, hand); } I want my item to play a sound everytime i press mouse button 2. But it doesnt work. The cooldown function also stops working when i havent greyed out the sound part.
February 1, 20232 yr 6 hours ago, Lightminer said: I want my item to play a sound everytime i press mouse button 2. But it doesnt work. The cooldown function also stops working when i havent greyed out the sound part. Remove the player from the #playSound method. That says send the sound packet to all but the player
February 1, 20232 yr Author 3 hours ago, ChampionAsh5357 said: Remove the player from the #playSound method. That says send the sound packet to all but the player Did, but now the function requires something called DistanceDelay at the end of the parameters. I also tried setting the player to NULL but it still isnt working
February 2, 20232 yr Hmm, maybe you should just copy what the EnderpearlItem does since you seem to be more or less doing the same thing. You can pass in the player in that case since the method is called on both sides. As for the sound not playing, how are you defining your sound? Do you have the sounds.json set up? Is your sound in the sounds folder?
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.