

Asahi
Активный0.0
Установок
Последнее обновление
Версии
Asahi - плавный дневной цикл без рывков
Клиентский мод для Minecraft, который устраняет неприятные рывки и подергивания солнца при смене времени суток, возникающие из-за задержек на сервере!

В чем проблема?
Каждую секунду (20 тиков) сервер отправляет пакет данных для синхронизации времени между клиентом и сервером. Поскольку клиент не знает реальную скорость работы сервера, он предполагает стандартные 20 тиков в секунду. Когда сервер работает медленнее из-за лагов, клиент отображает солнце впереди его реального положения на сервере. При получении синхронизации ванильный клиент резко перемещает солнце на правильную позицию, создавая тот самый эффект рывка, который исправляет этот мод.
Как работает решение?
Мы используем взвешенное скользящее среднее и интерполяцию! Сначала собираем данные о количестве тиков сервера за последние 10 секунд. Поскольку старые данные менее важны, чем свежие, мы присваиваем им экспоненциально уменьшающийся вес. Рассчитав среднее значение по этой взвешенной выборке, мы можем точно предсказать движение солнца на следующую секунду. Погрешность предсказания минимальна и совершенно незаметна по сравнению с резкими скачками в ванильной версии.
Без Asahi:

С Asahi:

Обратите внимание, что эта GIF-анимация сделана в более ранней версии мода - с тех пор алгоритм интерполяции стал еще лучше!
Круглое солнце является частью ресурспака с сайта vanillatweaks.net
Настройки
{
// Если время, полученное от сервера, отличается от клиентского на skipDuration
секунд или больше,
// перейти к серверному времени, пропуская интерполяцию.
// Поэкспериментируйте с этим значением, если дневной цикл движется слишком быстро.
"skipDuration": 60,
// Количество предыдущих значений для использования в скользящем среднем интерполяции.
// Измените это значение, если заметите, что солнце сильно колеблется без стабилизации позиции.
"interpolateSamples": 10,
// Начальная скорость дневного цикла в тиках за игровой тик.
// Увеличьте/уменьшите это значение, если другой мод ускоряет/замедляет дневной цикл
"initialFactor": 1.0,
// Стандартная скорость тиков относительно разрешения дневного цикла.
// Измените при использовании модов, которые увеличивают/уменьшают стандартную скорость тиков ИЛИ разрешение дневного цикла (24000 тиков).
// Насколько мне известно, таких модов не существует.
"standardTickRate": 20
}