DoesPotatoTick — модификация для Minecraft, которая улучшает производительность, приостанавливая обновление (тикание) удалённых от игроков сущностей.
Назначение
В Minecraft все сущности обновляются 20 раз в секунду, что нагружает сервер при большом количестве игроков, обширных мирах или тяжёлых модпаках. Vanilla-игра не разделяет важные и неважные сущности. DoesPotatoTick вводит систему, обновляющую только необходимые объекты.
Основной принцип работы
Каждой сущности присваивается состояние tickable. Сервер по каждой игре оценивает, должна ли сущность обновляться, учитывая её позицию, категорию и контекст. Клиент при необходимости пропускает рендеринг неактивных объектов.
Активация по расстоянию
- Игроки задают активную зону — радиус в чанках.
- Сущности вне этой зоны становятся кандидатами на приостановку обновления.
- Обновление зон происходит при переходе игрока между чанками, входе в игру или смене измерения.
Поддержка измерений и территорий
- Оптимизация может применяться только к выбранным измерениям.
- Сущности в зарезервированных областях (например, FTB Chunks, OpenPartiesAndClaims) всегда обновляются.
- При отсутствии модов для территорий игроки получают уведомление.
Исключения для сущностей
- Игроки, падающие блоки, ванильные боссы всегда активны.
- Список исключённых модифицированных боссов и механизмов.
- Возможность добавить целые моды в белый список.
- Список обновляется автоматически при смене конфигурации.
Фильтры и правила
- Настраиваемые правила для включения или игнорирования в обновлении: враждебные мобы, животные, рейдеры.
- Дропы и снаряды (с опцией для прицеливания).
- Умирающие сущности завершают процесс смерти без заморозки.
Обнаружение ферм мобов
Периодически анализируется плотность сущностей в чанках; при обнаружении паттерна фермы соответствующие сущности всегда обновляются, чтобы фермы работали корректно.
Обработка рейдов
Во время активных рейдов оптимизация может отключаться или изменяться согласно настройкам.
Пропуск рендеринга
Неактивные сущности могут не отображаться для повышения FPS. При натягивании лука рендеринг временно включается, чтобы избежать проблем с прицеливанием.
Интеграция с Embeddium
При установленном Embeddium появляется отдельный экран настроек мода.
Синхронизация
Лёгкие сетевые пакеты информируют клиент, какие сущности нужно отображать.
Конфигурация
doespotatotick-common.toml— основные параметры работы сервера.doespotatotick-client.toml— настройки рендеринга на клиенте.- По умолчанию приоритет отдается безопасности и совместимости.
- Вся логика выполняется в основном потоке сервера; изменения применяются стабильно и сразу.





