
For the Love of God Would You Shut Up
Архивирован0.0
Установок
Последнее обновление
Версии
For the Love of God Would You Shut Up
Этот мод отменяет изменение, которое было внедрено в снимке 22w13a, где нотные блоки издавали звуки даже при наличии блоков над ними. Основная цель модификации — сделать работу с редстоуном менее раздражающей, отключая звуки нотных блоков, когда сверху что-то расположено.
Важно отметить: несмотря на отключение звуков, нотные блоки по-прежнему отправляют игровые события, что позволяет активировать эллаев и скалки-сенсоры.
Объяснение изменений в коде
Изначально код для воспроизведения ноты выглядел следующим образом:
private void playNote(World world, BlockPos pos) {
if (world.getBlockState(pos.up()).isAir()) {
world.addSyncedBlockEvent(pos, this, 0, 0); // воспроизводит звук
}
}
В версии 22w13a была добавлена игровая система событий для нотных блоков, при этом звук блокировался только если сверху находилась шерсть или ковер:
private void playNote(@Nullable Entity entity, World world, BlockPos pos) {
BlockState blockState = world.getBlockState(pos.up());
if (blockState.isIn(BlockTags.WOOL) || blockState.isIn(BlockTags.WOOL_CARPETS)) {
return;
}
world.addSyncedBlockEvent(pos, this, 0, 0); // воспроизводит звук
world.emitGameEvent(entity, GameEvent.NOTE_BLOCK_PLAY, pos); // уведомляет эллаев, вардена и скалки-сенсоры
}
Данный мод вносит следующие корректировки в кодфактически превращает world.addSyncedBlockEvent
в метод с проверкой условия```diff
private void playNote(@Nullable Entity entity, World world, BlockPos pos) {
BlockState blockState = world.getBlockState(pos.up());
if (blockState.isIn(BlockTags.WOOL) || blockState.isIn(BlockTags.WOOL_CARPETS)) {
return;
}
- if (world.getBlockState(pos.up()).isAir()) {
- world.addSyncedBlockEvent(pos, this, 0, 0); // воспроизводит звук
- }
- world.addSyncedBlockEvent(pos, this, 0, 0);
world.emitGameEvent(entity, GameEvent.NOTE_BLOCK_PLAY, pos); // уведомляет эллаев, вардена и скалки-сенсоры
}
Поскольку мод направлен исключительно на снижение раздражающих аспектов редстоуна, он просто отключает звуки нотных блоков при наличии любых блоков над ними, при этом сохраняя функциональность уведомлений для эллаев и скалков.
Проект распространяется по лицензии Unlicense.