- 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 :
Регистрация хэндлера в preInit :
Пробовал также и через player.playSound(SoundEvent, volume, pitch), но как и в первом случае, звук по-прежнему не проигрывается. В идеале очень важно, чтобы звук слышал и сам умерший игрок, и те, кто находятся рядом. Подскажите, в чём может быть загвоздка ?
Код из хэндлера 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), но как и в первом случае, звук по-прежнему не проигрывается. В идеале очень важно, чтобы звук слышал и сам умерший игрок, и те, кто находятся рядом. Подскажите, в чём может быть загвоздка ?