Воспроизведение SoundEvents 1.21.1
Научитесь воспроизводить звуковые события.
WARNING
Эта страница написана для версии 1.21.1. Документация для более старых версий может быть неполной.
Minecraft имеет большой выбор звуков которые вы можете воспроизвести. Просмотрите класс SoundEvents, чтобы увидеть все ванильные звуки события, предоставленные Mojang.
Воспроизведение звуков в вашем моде
Обязательно вызовите метод playSound() на логической стороне сервера когда воспроизводятся звуки!
Например, методы interactLivingEntity() и useOn() для собственного интерактивного предмета используются для воспроизведения "поставлен медный блок" и звук мародёра.
java
@Override
public InteractionResult interactLivingEntity(ItemStack stack, Player user, LivingEntity entity, InteractionHand hand) {
// As stated above, don't use the playSound() method on the client side
// ... it won't work!
if (!entity.level().isClientSide()) {
// Play the sound as if it was coming from the entity.
entity.playSound(SoundEvents.PILLAGER_AMBIENT, 2f, 0.7f);
}
return super.interactLivingEntity(stack, user, entity, hand);
}1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
МетодplaySound() используется вместе с объектом LivingEntity. Необходимо указать только SoundEvent, громкость и высоту тона. Вы также можете использовать метод playSound() из экземпляра мира, чтобы получить более высокий уровень контроля.
java
@Override
public InteractionResult useOn(UseOnContext context) {
if (!context.getLevel().isClientSide()) {
// Play the sound and specify location, category and who made the sound.
// No entity made the sound, so we specify null.
context.getLevel().playSound(null, context.getClickedPos(),
SoundEvents.COPPER_PLACE, SoundSource.PLAYERS,
1f, 1f);
}
return super.useOn(context);
}1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
SoundEvent и SoundCategory
SoundEvent определяет, какой звук будет воспроизводиться. Вы также можете зарегистрировать собственные SoundEvents, чтобы включить собственный звук.
В настройках Minecraft есть несколько ползунков звука. Перечисление SoundSource используется для определения того, какой ползунок будет регулировать громкость звука.
Громкость и высота
Параметр громкости может немного вводить в заблуждение. В диапазоне «0,0f - 1,0f» можно изменять фактическую громкость звука. Если число превысит это значение, будет использоваться громкость 1.0f, и будет регулироваться только расстояние, на котором слышен ваш звук. Расстояние между блоками можно приблизительно рассчитать по формуле «звук * 16».
Параметр высоты тона увеличивает или уменьшает значение высоты тона, а также изменяет длительность звука. В диапазоне «(0,5f - 1,0f)» высота тона и скорость уменьшаются, тогда как большие числа увеличивают высоту тона и скорость. Числа ниже «0,5f» сохранят значение высоты тона «0,5f».

