Bloody Bits Fix: стабильные брызги крови без вылетов

Bloody Bits Fix: стабильная кровь на Forge 1.20.1 без вылетов клиента Если вы собираете сборку с атмосферными боевыми эффектами, мод Bloody Bits от CravenCraft добавляет визуальные брызги крови и делает сражения «сочнее». Но на версии 1.3.3 для Forge 1.20.1 у части игроков всплывала неприятная ис...

Скачать bloodybitsfix для Minecraft 1.20.1

Оригинальное название: bloodybitsfix

Версии Minecraft: 1.20.1

Загрузчик: Forge

ФайлMCЗагрузчикРазмер
bloodybitsfix-1.0.1.jar1.20.1Forge5 КБСкачать

Bloody Bits Fix: стабильная кровь на Forge 1.20.1 без вылетов клиента

Если вы собираете сборку с атмосферными боевыми эффектами, мод Bloody Bits от CravenCraft добавляет визуальные брызги крови и делает сражения «сочнее». Но на версии 1.3.3 для Forge 1.20.1 у части игроков всплывала неприятная история: клиент мог резко закрыться с ошибкой Ticking entity и NullPointerException в методе BloodSprayEntity#setClientBloodColor. Небольшой патч Bloody Bits Fix как раз и существует, чтобы убрать этот узкий, но раздражающий момент совместимости и держать игру в рабочем состоянии даже при плотных боях.

Почему это случалось и что ломало клиент

Проблема была не в «железе» и не в настройках графики, а в логике клиентской части эффектов. Внутри мода используется карта CLIENT_SIDE_BLOOD_SPRAYS, куда складываются данные о брызгах на стороне клиента. Когда активность частиц становилась очень высокой, лимит по числу одновременных брызг мог «переполнять» ожидания кода: в исходной реализации при переполнении сценария вызывался map.get(0), а дальше обращение шло к записи, которой по факту не было. Ровно отсюда и вылет: ticking entity на клиенте — это классический симптом, когда сущность обновляется каждый тик, а внутри обновления происходит обращение к null.

На практике это особенно заметно там, где много источников урона и частиц одновременно: большие орды мобов, массовые сражения, активные зоны с постоянными попаданиями. Чем сильнее «кровавая» активность, тем выше шанс наткнуться на крайний случай, который штатный код не обрабатывал безопасно.

Что меняет Bloody Bits Fix

Патч не «переписывает» весь мод и не меняет стиль эффектов целиком — он точечно чинит опасное место через Mixin overwrite метода, который отвечал за цвет крови на клиенте. Это важно: вы получаете совместимость там, где исходная версия могла рухнуть, при этом подход остаётся близким к исходной архитектуре Forge-мода.

  • Синхронизация состояния брызг после респавна: корректнее согласуются параметры, включая длительность «жизни» эффекта, чтобы клиент не оставался с рассинхронизированными данными.
  • Корректное поведение при достижении лимита: когда число брызг доходит до значения из CommonConfig.maxSpatters(), патч удаляет самую старую запись, а не пытается работать с фиксированным ключом 0, который мог быть пустым.
  • Безопасное завершение перед удалением: перед удалением вызывается discard(), что уменьшает риск «висячих» сущностей и странных состояний в тиках.
  • Устранение NPE: сценарии с NullPointerException в этом месте убираются полностью в рамках описанной логики.

Если вы уже привыкли собирать модпаки вручную и постоянно крутите список модов ради одного патча, иногда проще перейти на рабочий процесс «всё в одном месте». В том числе отдельные точечные дополнения вроде этого проще подключить, когда инструмент ставит зависимости предсказуемо: этот мод можно легко установить через лаунчер foxygame.net — удобный, гибкий и современный лаунчер для Minecraft, где можно скачать моды прямо из меню, не расползаясь по десятку вкладок браузера.

Совместимость, установка и порядок файлов

Патч не заменяет Bloody Bits, он дополняет его. Зависимость одна и очевидная: нужен сам Bloody Bits (CravenCraft) нужной версии 1.3.3 под Forge 1.20.1. Дальше всё по классике папки модов:

  • Убедитесь, что у вас стоит подходящая версия Minecraft и корректный Forge для 1.20.1.
  • Поставьте основной мод Bloody Bits 1.3.3.
  • Добавьте файл патча bloodybitsfix-1.0.1.jar в папку mods рядом с остальными jar-модулями сборки.
  • Если краш повторялся на старом сейве, после обновления имеет смысл сначала проверить бой в тестовом мире — так быстрее отделяете «проблему мода» от других конфликтов в модпаке.

Важный нюанс по ощущениям от геймплея: по задумке патча поведение длительности жизни брызг остаётся согласованным с оригинальной реализацией Bloody Bits — меняется не «художественная часть», а устойчивость клиента.

Как проверить, что фикс реально помог

Тест лучше делать там, где раньше вы гарантированно «ловили» вылет:

  • Создайте ситуацию с большим количеством боёв и интенсивными брызгами — например, орда мобов и активные удары по множеству целей.
  • Последите за стабильностью: клиент должен перестать падать на Ticking entity в сценарии тяжёлой кровавой активности.
  • Проверьте ограничение по числу эффектов: суммарное количество брызг должно стабилизироваться около лимита maxSpatters, заданного в конфиге Bloody Bits.

Если FPS проседает не из-за вылетов, а из-за нагрузки визуала, это отдельная ручка настроек: можно снизить maxSpatters в конфигурации Bloody Bits и получить более лёгкую картинку без отказа от атмосферы.

Вывод

Bloody Bits Fix — это не «ещё один контентный мод», а аккуратный совместимостный штрих для Bloody Bits 1.3.3 на Forge 1.20.1: он убирает клиентский краш на тике сущности, связанный с небезопасной работой карты брызг, и делает поведение при переполнении лимита предсказуемым. Если вы хотите кровавые эффекты в сборке, но не хотите платить за них вылетами во время массовых сражений, такой патч обычно окупается одной вечерней сессией без разочарования — особенно в модпаках, где бои затягиваются и частицы не отключаются «по кнопке».