Проигрывание звука после смерти игрока

Версия Minecraft
1.12.2

Non

7
5
Привет всем участникам форума. Целый день бодаюсь с одной проблемой. Сделал событие для отлавливания смерти игрока, при котором сразу же после смерти должен проигрываться звук (пока что не свой собственный, а хотя бы для примера один из стандартных). Само событие ловится и код внутри выполняется, но к сожалению звук в игре так и не слышно. В документации Forge указано, что если вызывать playSound(EntityPlayer, double x, double y, double z, SoundEvent, SoundCategory, volume, pitch) через экземпляр класса World, то "Client Behavior: If the passed in player is the client player, plays the sound event to the client player".

Код из хэндлера PlayerDeathHandler :
Java:
    @SubscribeEvent
    public void onPlayerDeath(LivingDeathEvent event)  {

        if(event.getEntity() instanceof EntityPlayer){
            World world = event.getEntity().getEntityWorld();
            EntityPlayer player = (EntityPlayer) event.getEntity();

            world.playSound(player, player.getPosition(), SoundEvents.ENTITY_PLAYER_BURP, SoundCategory.PLAYERS, 1.0F, 1.0F);
            System.out.println("\u001B[32m" + "PLAYER DEAD" + "\u001B[0m");
        }
    }

Регистрация хэндлера в preInit :
Java:
    @EventHandler
    public static void PreInit (FMLPreInitializationEvent event)
    {
        MinecraftForge.EVENT_BUS.register(new PlayerDeathHandler());
    }

Пробовал также и через player.playSound(SoundEvent, volume, pitch), но как и в первом случае, звук по-прежнему не проигрывается. В идеале очень важно, чтобы звук слышал и сам умерший игрок, и те, кто находятся рядом. Подскажите, в чём может быть загвоздка ?
 

Non

7
5
tox1cozZ, сработало, спасибо огромное за совет ! Для тех, у кого такая же проблема, вот как её устранить : при вызове метода
world.playSound первым аргументом нужно передавать именно (EntityPlayer)null как в ItemSnowball, а не просто переменную экземпляра player как у меня.
Таким образом до исправления :
Java:
world.playSound(player, player.getPosition(), SoundEvents.ENTITY_PLAYER_BURP, SoundCategory.PLAYERS, 1.0F, 1.0F);

После исправления :
Java:
world.playSound((EntityPlayer)null, player.getPosition(), SoundEvents.ENTITY_PLAYER_BURP, SoundCategory.PLAYERS, 1.0F, 1.0F);
 
3,005
192
592
Сверху