DoesPotatoTick — Обзор
DoesPotatoTick повышает производительность, приостанавливая («замораживая») удалённые сущности, которые не нуждаются в обновлении каждый тик. Благодаря настраиваемым правилам и проверкам безопасности, мод снижает нагрузку на процессор сервера и может также увеличить FPS на стороне клиента, сохраняя при этом нормальное игровое поведение.
1. Назначение
Minecraft обновляет каждую сущность 20 раз в секунду, что может перегружать серверы с большими мирами, множеством игроков или тяжёлыми сборками модов. Стандартные настройки не могут отличить важные сущности от нерелевантных. DoesPotatoTick представляет собой контролируемую систему, которая обновляет только то, что необходимо.
2. Основной механизм
Каждой сущности присваивается состояние tickable. Сервер оценивает это состояние каждый тик на основе местоположения, категории и контекста; клиент по желанию пропускает отрисовку нетикающих сущностей.
2.1 Активация на основе расстояния
- Игроки определяют активную область (настраиваемый радиус в чанках).
- Сущности за пределами этой области становятся кандидатами на приостановку.
- Области обновляются только тогда, когда игрок перемещается между чанками, входит в игру или меняет измерение.
2.2 Поддержка измерений и приватов
- Оптимизация может быть ограничена выбранными измерениями.
- Сущности в приватах (FTB Chunks, OpenPartiesAndClaims) всегда тикают.
- Игроки уведомляются, если мод на приваты не установлен.
2.3 Исключения для сущностей
Некоторые сущности никогда не замораживаются:
- Игроки, падающие блоки, ванильные боссы
- Обширный список модовых боссов и механических систем
- Целиком моды могут быть добавлены в белый список. Список автоматически перезагружается при изменении конфигурации.
2.4 Правила фильтрации
Настраиваемые правила позволяют игнорировать или включать:
- Враждебных мобов, животных, рейдеров
- Выброшенные предметы
- Снаряды (с опциональной логикой для принудительного тикания при попадании в цель) Умирающим сущностям разрешено завершить свою анимацию смерти.
2.5 Обнаружение ферм мобов
Периодически сканирует плотность чанков; если обнаруживается паттерн, похожий на ферму, затронутые сущности принудительно тикают, чтобы обеспечить работу ферм.
2.6 Обработка рейдов
Во время активных рейдов оптимизация может быть отключена или скорректирована в соответствии с конфигурацией.
3. Функции клиента
3.1 Пропуск отрисовки
Нетикающие сущности могут быть скрыты для улучшения FPS. Натяжение лука временно возобновляет отрисовку, чтобы избежать проблем с прицеливанием.
3.2 Интеграция с Embeddium
Добавляет специальный экран конфигурации при установленном Embeddium.
3.3 Синхронизация
Облегчённый пакет информирует клиента о том, какие сущности должны отображаться.
4. Конфигурация
- doespotatotick-common.toml: основное поведение сервера
- doespotatotick-client.toml: управление отрисовкой
- Настройки по умолчанию отдают приоритет безопасности и совместимости.
- Вся логика выполняется в потоке сервера; изменения применяются последовательно между тиками и перезагрузками.
5. Сделать DPT лучше
Когда вы:
- Считаете, что конкретный тип сущности никогда не должен переставать тикать
- Имеете запрос на добавление опции конфигурации
- Сталкиваетесь с неожиданной ситуацией из-за заморозки тикания сущностей
Не стесняйтесь связаться со мной через GitHub Issues или по электронной почте 670067575@qq.com

