[1.7.10] Как зациклить звук? TileEntity блока который должен шуметь

Создал я один функциональный блок, обрабатывает предметы и делает из них другие. На обработку тратится время. Я хочу чтобы этот TileEntity издавал звук во время обработки чего либо.

Создать булеан в моём TileEntity который будет иметь true/false в зависимости от состояния прибора я могу без проблем, а вот как зациклить этот звук, я не знаю. Гуглил на русских и на зарубежных форумах, ничего толкового не нашёл, даже вопрос задал на minecraftforge неделю назад и ответа жду по сей день. Кто знает что делать или знает где бы я мог понять что делать, напишите пожалуйста
 
212
0
Может по таймеру? Запускаешь звук, одновременно с ним таймер, и по истечению таймера делаешь все по новой.
 
Tuborg написал(а):
Может по таймеру? Запускаешь звук, одновременно с ним таймер, и по истечению таймера делаешь все по новой.
Не совсем то что надо. В исходниках майнкрафта я видел некий PositionedSound, я уверен что он то что я ищю, ток вот пользоваться я им не умею. Пробовал его по разному использовать, один фиг не хотел.
[merge_posts_bbcode]Добавлено: 16.07.2016 23:55:44[/merge_posts_bbcode]

Dahaka написал(а):
Спасибо конечно, капитан очевидность, но я спрашивал не где реализовывать, а как реализовать. Ясное дело что в updateEntity надо делать управление звуком, но всё же мне интересно как это делать.
 

timaxa007

Модератор
5,831
409
672
Вроде как использовать SoundHandler.
Код:
SoundHandler soundHandler = Minecraft.getMinecraft().getSoundHandler();
Проверять на то что, воспроизводиться-ли твой звук soundHandler.isSoundPlaying(ISound) и дополнительные условия (чтобы цикл не был постоянным).
Если нет, то воспроизвести звук soundHandler.playSound(ISound).
Код:
ISound sound = new PositionedSoundRecord(ResourceLocation-Sound, Volume, Pitch, X, Y, Z);
 
2,505
81
397
Очень сложный код
Код:
if (твойФлаг) {
    //генируем звук
}
 
timaxa007 написал(а):
Вроде как использовать SoundHandler.
Код:
SoundHandler soundHandler = Minecraft.getMinecraft().getSoundHandler();
Проверять на то что, воспроизводиться-ли твой звук soundHandler.isSoundPlaying(ISound) и дополнительные условия (чтобы цикл не был постоянным).
Если нет, то воспроизвести звук soundHandler.playSound(ISound).
Код:
ISound sound = new PositionedSoundRecord(ResourceLocation-Sound, Volume, Pitch, X, Y, Z);
Вот то что мне нужно - ISound! Только теперь нужно понять как его правильно использовать, а то у меня он вроде как запускается, но звука как таковой нету...
[merge_posts_bbcode]Добавлено: 18.07.2016 07:12:31[/merge_posts_bbcode]

Dahaka написал(а):
Очень сложный код
Код:
if (твойФлаг) {
    //генируем звук
}
Очень много помощи...:
- "Ребят, я не понимаю, как это сделать, разъясните пожалуйста"
- "Да тут всё просто, делаешь и всё"
- "Но я не знаю как, помоги понять как это сделать"
- "Берёшь! И делаешь!"

как то так выглядит наш диалог.

[merge_posts_bbcode]Добавлено: 18.07.2016 07:14:27[/merge_posts_bbcode]

wilah написал(а):
Глянь в вагонетку
Огромное спасибо за наводку, чёт сам даже забыл про то что выгон звук издаёт при движений.
 
Сверху