Feature NBT Deadlock Be Gone
Мод для Minecraft 1.18, который исправляет критический баг с зависанием игры при генерации структур с NBT-данными (сундуки, спаунеры и т.д.). Простое и эффективное решение для стабильной игры.
Feature NBT Deadlock Be Gone - небольшой, но крайне полезный мод для Minecraft 1.18.x. Он решает одну конкретную проблему: если во время генерации мира в чанк попадает структура с NBT-данными (например, сундук с лутом, спаунер, кафедра или кровать), игра может полностью зависнуть. Никаких тиков, никакого отклика - только чёрный экран или вечная загрузка.
В чём суть бага
Баг известен под номером MC-246262. Он возникает из-за того, что метод, который отвечает за размещение блоков с NBT в мире, использует неправильный объект мира - не потокобезопасный. В результате при генерации мира (когда всё работает в фоне) происходит deadlock - взаимная блокировка потоков. Игра просто виснет.
Проблема актуальна только для версии 1.18. В 1.17 и ниже её нет, а в 1.19 и выше уже исправлено самой Mojang. Но если вы играете на 1.18 - особенно с модами, которые добавляют свои структуры (дома, подземелья, сундуки с кастомным лутом) - этот баг может проявляться очень часто.
Как мод это чинит
Feature NBT Deadlock Be Gone работает просто и элегантно: он проверяет, является ли переданный объект мира экземпляром WorldGenRegion (то есть идёт ли сейчас генерация мира). Если да - он просто пропускает вызовы тех самых небезопасных методов. Никаких сложных патчей, никакого оверхеда - только защита от зависаний.
Кому стоит установить
- Всем, кто играет на Minecraft 1.18 с любыми модами, добавляющими структуры (даже ванильные крепости или деревни могут вызвать баг при определённых условиях).
- Разработчикам модов - как профилактика: лучше поставить этот мод в сборку, чем потом разбираться с жалобами игроков на фризы.
- Владельцам серверов на 1.18 - особенно если на сервере много модов с генерацией.
Технические детали для разработчиков
Если вы собираете мод в своей среде разработки, подключите репозиторий и зависимость:
repositories {
maven {
url "https://nexus.resourcefulbees.com/repository/maven-public/"
}
}
dependencies {
// Forge
runtimeOnly fg.deobf("com.telepathicgrunt:FeatureNBTDeadlockBeGone-Forge:2.0.0+1.18.2")
// Fabric
modRuntimeOnly "com.telepathicgrunt:FeatureNBTDeadlockBeGone-Fabric:2.0.0+1.18.2"
// Quilt
modRuntimeOnly "com.telepathicgrunt:FeatureNBTDeadlockBeGone-Quilt:2.0.0+1.18.2"
}
Версию можно заменить на актуальную.
Итог
Feature NBT Deadlock Be Gone - это не мод, который добавляет контент или меняет геймплей. Это фикс, который делает игру стабильной. Если вы сидите на 1.18 и замечаете внезапные зависания при исследовании мира - скорее всего, проблема именно в этом баге. Скачайте мод Feature NBT Deadlock Be Gone и забудьте о фризах. Простая установка, никаких настроек - работает сразу.