Create Optimized Trains
Create Optimized Trains — аддон для оптимизации производительности поездов из Create Mod.
- Загрузчики
- Forge
- Скачиваний на Modrinth
- 9,3 тыс.
- Подписчиков на Modrinth
- 8
- версий
- 5
- Обновлён
- 7 сентября 20267 сент.
- Опубликован
- в 2026
Коротко о моде
Ставится только в игру; на сервер ставить не нужно
🚅⚡Create Optimized Trains
Аддон для оптимизации производительности поездов из Create Mod (Forge 1.20.1).
🔗Зависимости
Мод требует Create или Create Fabric.
- Minecraft 1.20.1
- Forge 47.1.33+
- Create Mod 6.0.8+
- Flywheel 1.0.6+ (входит в состав Create)
📦Возможности
1. LOD (уровень детализации) для поездов
- FULL — настоящие вагоны с полной физикой (игрок рядом)
- MEDIUM — упрощённая физика, обычный рендер
- LOW — без физики, без коллизий, минимум обновлений конструкции
- GHOST — сущность-призрак, без рендера, только абстрактные данные
2. Группировка / абстракция вагонов
- Объединяет несколько вагонов в одну логическую сущность (
TrainGroup) - Хранит только: длину, скорость, позицию, список вагонов в виде NBT
- Разворачивается обратно, когда игрок приближается
3. Безопасная многопоточность
Вторичный поток (безопасно):
- Расчёт маршрута
- Предсказание коллизий
- Оптимизация расписания
- Управление приоритетами
- Решения по LOD
- Предиктивная симуляция
Главный поток (обязательно):
- Фактическое движение сущностей
- Физика Create
- Рендер
- Взаимодействие с блоками
4. Троттлинг тиков (частичные обновления)
- FULL: каждый тик
- MEDIUM: каждые 3 тика (настраивается)
- LOW: каждые 8 тиков
- GHOST: каждые 20 тиков
5. Оптимизация рендера
- Отключает анимации для далёких поездов
- Пропускает полный рендер для GHOST LOD
- Уменьшает частицы и визуальные эффекты
- Скрывает внутренние детали, когда их не видно
6. Прокси-сущности
- Лёгкая сущность, представляющая весь поезд
- Заменяет десятки конструкций
- Сохраняет позицию, скорость и направление
- Воссоздаёт настоящие вагоны, когда это нужно
7. Умное управление загрузкой чанков
- Загружает только необходимые чанки
- Раньше выгружает чанки позади поезда
- Предзагружает чанки впереди
- Защита от трэшинга (предотвращает повторные циклы загрузки/выгрузки)
8. Оптимизация физики
- Упрощённая физика для далёких вагонов
- Отключает коллизии между вагонами при низком LOD
- Уменьшает проверки тележек
- Отключает внутреннюю физику конструкции на расстоянии
9. Оптимизация сетевого обмена
- Отправляет обновления только при изменении скорости/направления
- Группирует пакеты (дельта-сжатие)
- Снижает частоту синхронизации для далёких поездов
10. Система приоритетов
- Приоритет по типу (EXPRESS > PASSENGER > FREIGHT > LOW)
- Разрешение конфликтов на перекрёстках
- Резервирование участков пути
- Асинхронный анализ конфликтов
11. Динамический монитор производительности
- NORMAL (TPS >= 18): полная точность
- DEGRADED (15 <= TPS < 18): лёгкие оптимизации
- CRITICAL (TPS < 15): агрессивные оптимизации, уменьшенные дистанции LOD
🏅 Сертификат технической производительности
Create Optimized Trains прошёл серию внутренних и общественных тестов, включая:
Стресс-тесты
- Поезда длиной более 300 блоков
- Одновременно движущиеся конструкции
- Рендеринг с сотнями сущностей
- Миры с агрессивной предзагрузкой
Тесты совместимости
- Create
- Steam ’n’ Rails
- Embeddium
- Radium
- Copycats+
- Distant Horizons
Тестирование сообществом
Пре-релизные версии были доступны в официальном Discord, что гарантирует стабильность каждого публичного обновления и отсутствие регрессий.
⚙️Конфигурация
Файл: create_optimized_trains-common.toml
Все функции настраиваются по отдельности: расстояния, интервалы и переключатели.
🪄Портированные исправления из Create 6.0.9+
Create 6.0.9 (для Minecraft 1.21.1) внёс несколько важных исправлений, которые так и не были портированы на 1.20.1. Поскольку команда Create больше не выпускает обновления для 1.20.1, этот мод портирует следующие исправления для тех, кто остаётся на 1.20.1:
Давление на GC от коллизионных боксов конструкций (#6902)
Исходная проблема: Когда двери поезда открываются/закрываются на станции, gatherBBsOffThread() объединяет ВСЕ формы коллизий блоков в единый VoxelShape через Shapes.joinUnoptimized() — операция O(n²), создающая огромное количество временных объектов. Сборщик мусора не успевает, что вызывает лаги длительностью от 1 до 30+ секунд в зависимости от сложности поезда.
Наше исправление: ContraptionCollisionMixin заменяет алгоритм сбора коллизий на тот же O(n) подход, что используется в Create 6.0.9 (commit 8f30c2c). Вместо объединения VoxelShape он собирает AABB напрямую из формы коллизии каждого блока — без промежуточных аллокаций, без давления на GC. Также включает связанные дубликаты: #4607, #5685, #9026, #9389.
Задержки поезда из-за carriageWaitingForChunks
Исходная проблема: В Train.tick(), когда вагон входит в незагруженный чанк, Create устанавливает carriageWaitingForChunks, что принудительно ставит speed = 0, пока чанк не загрузится. На картах с множеством поездов и ограниченной дальностью прорисовки это вызывает зависания на 0.5-1.5 секунды каждый раз, когда поезд пересекает границу чанка.
Наше исправление: TrainMixin перенаправляет все чтения carriageWaitingForChunks в tick() так, чтобы всегда возвращалось -1, и скорость никогда не обнуляется. В сочетании с системой Smart Chunk Loading (предзагрузка чанков перед поездом) поезда движутся непрерывно, без задержек.
Производительность проверки коллизий
Исходная проблема: collideWithOtherTrains() выполняется каждый тик для каждого поезда, что становится затратным на картах с 20+ поездами.
Наше исправление: TrainMixin адаптивно ограничивает частоту проверок коллизий в зависимости от производительности сервера — каждые 4 тика в норме, каждые 8 при деградации, каждые 12 в критическом состоянии. Проверка каждого поезда смещается по хэшу его UUID, чтобы равномерно распределить нагрузку по тикам.
💚О нас
Издатель: GreenToastSoftware Games® (C)GreenToastSoftware Corporation. Все права защищены 2020-2026.
Частые вопросы
Как установить Create Optimized Trains?
Установите Forge под свою версию Minecraft, скачайте Create Optimized Trains под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Create Optimized Trains?
У Create Optimized Trains есть сборки для Minecraft 1.20.1–1.20.6.
Нужен ли Create Optimized Trains на сервере?
Ставится только в игру; на сервер ставить не нужно