Bellows
Оптимизации для команд и датапаков Minecraft без компромиссов, работающие сразу после установки.
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 1,4 тыс.
- Подписчиков на Modrinth
- 34
- версий
- 6
- Обновлён
- 18 октября 202618 окт.
- Опубликован
- в 2026
Коротко о моде
Ставится только на сервер; игрокам ставить не нужно
Bellows (ранее Radon)
Bellows — это Fabric-мод без компромиссов, предназначенный для точечной оптимизации команд Minecraft, особенно в окружениях с множеством больших датапаков. Из-за точечного характера оптимизаций Bellows прирост производительности несколько варьируется. Большинство больших датапаков показывают снижение времени тика на 50-60% при использовании Bellows. Некоторые паки, такие как Animated Java, могут показать снижение времени тика на 70-90%.
Используются следующие оптимизации:
- Ограничение сериализации NBT-данных только запрашиваемыми данными вместо всех данных, что экономит массу времени на операциях
data get(и т.д.). Например, если вы выполнитеdata get entity @s Healthна игроке, обычно Minecraft скопирует и отправит все NBT-данные игрока, включая массив из более чем 1000 long с разблокированными рецептами. С Bellows он скопирует и отправит толькоHealthи ничего больше. - Десериализация NBT-данных аналогично ограничивается только запрашиваемыми данными. Это вдвойне эффективно, поскольку чтение NBT-данных требует сначала записи NBT-данных, что использует вышеуказанную оптимизацию.
- Сущности кэшируются по их типу (поддерживаются теги типов) и тегам селекторов. При использовании @e функция поиска проверит кэши на допустимые типы и теги селекторов и выполнит поиск @e только по наименьшему кэшу. То есть, если вы выберете
@e[type=marker,tag=my_tag]и есть 100 маркеров, 50 сmy_tag, то @e будет искать только среди 50 сущностей сmy_tag. В настоящее время это не поддерживает type=! и tag=!. Примечание: Начиная с 1.9.3, Minecraft ограничивает поиск @e определёнными подчанками при использовании distance= и dx,dy,dz=. Bellows не пытается оптимизировать эти поиски, он выполняет только глобальные поиски. - Исправление для MC-168596 "Чанки за пределами дальности прорисовки не выгружаются, если 'execute if block' выполняется на них каждый тик." Хотя это может быть незаметно в одиночной игре, на сервере сотни чанков могут быть принудительно загружены в базах случайных игроков из-за пользовательских блоков, получающих частые проверки
if block.
Особые случаи NBT:
- "Quick Data:" тип оптимизации, который предварительно компилирует модификацию NBT и напрямую обновляет сущность, минуя обычный процесс NBT (даже с другой оптимизацией NBT это может сэкономить много времени). В настоящее время применяется только к трансформациям, но может быть расширен на другие поля данных.
- Поле Transformation на display-сущностях всегда вычисляет матричную форму при построении, хотя сервер никогда не использует эту форму. Bellows отключает это построение.
- Поле "data" на сущностях использует стандартное глубокое копирование вместо Codec. Снижает время примерно на 50%.
Использование
Если вы настраиваете сервер с множеством датапаков и уже используете моды для производительности (например, Lithium), или ваш компьютер — настоящая картошка и вам нужно выжать каждую каплю производительности, тогда обязательно попробуйте Bellows. Просто поместите его в папку mods, и датапаки волшебным образом начнут работать лучше.
Хотя Bellows предоставляет оптимизации "из коробки", он меняет правила оптимизации, применимые в ванилле (например, больше не нужно агрессивно сокращать использование @e). В целом считается плохой практикой разрабатывать оптимизации специально для Bellows, но есть некоторые исключения, такие как:
- Вы находитесь в контролируемой среде, то есть на своём сервере, где работает Bellows
- Вы используете прекомпилятор, который может предоставить обычную цель сборки или цель сборки для Bellows
В тестировании Moonrise (портирует некоторые оптимизации Paper на Fabric), похоже, синергирует с Bellows, снижая время тика значительно больше, чем каждый по отдельности. Попробуйте!
Продвинутые функции
Хотите увидеть разницу сами? Bellows поддерживает переключение оптимизаций на лету с помощью этих команд. Вы можете наблюдать mspt в f3 или запустить профилирование с помощью f3+L в одиночной игре и /perf <start/stop> в мультиплеере:
/bellows nbt-optimiations <true/false>/bellows selector-optimizations <true/false>/bellows fix-block-access-forceload <true/false>
Bellows также имеет режим отладки, который может выводить возможные проблемы в консоль, если вы обнаружите, что ваши команды не выполняются быстрее или, что хуже, выполняются медленнее.
- `/bellows debug ` # выводит отладочную информацию по одной команде
/bellows debug-mode <true/false># выводит отладочную информацию по всем командам (не делайте этого при работающих тикающих командах)
Частые вопросы
Как установить Bellows?
Установите Fabric под свою версию Minecraft, скачайте Bellows под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Bellows?
У Bellows есть сборки для Minecraft 26.2–26.3.
Нужен ли Bellows на сервере?
Ставится только на сервер; игрокам ставить не нужно