Что делает этот мод?
В Minecraft, когда вы уходите далеко от чанков, они перестают симулироваться. Когда вы позже возвращаетесь, урожай не вырастает, детёныши животных остаются детёнышами, а еда в печи всё ещё готовится.
Этот мод меняет это: блоки и сущности симулируются, как только оказываются в пределах дистанции симуляции, чтобы «догнать» время после выгрузки. Всё будет так, будто они симулировались всё это время!
Это также работает при пропуске ночи. Вместо того чтобы ждать, пока приготовится железо или вырастет урожай, можно пропустить ночь, чтобы ускорить процесс!
Как именно это работает?
Каждый раз, когда чанк, сущность или блок-сущность получает тик, мод сохраняет текущее время и проверяет, сколько прошло с момента последнего тика. Если разница достаточно велика, мод начинает симулировать объект, чтобы он «догнал» пропущенное.
Но разве это не вызовет лаги, если придётся симулировать всё пропущенное время?
Нет, если подойти с умом! Вместо повторного вызова функции тика для каждого пропущенного тика Unloaded Activity напрямую вычисляет состояние блока по количеству пропущенных тиков. Так, если блок пропустил 24000 тиков (1 игровой день Minecraft), мод не будет тикать его 24000 раз, а выполнит небольшой расчёт и закончит.
Это гораздо быстрее, но требует заново реализовать логику тика таким способом. Поэтому некоторые модифицированные культуры могут расти неправильно или не расти вовсе. Если вы найдёте модифицированный блок, который симулируется неправильно, его можно добавить в чёрный список мода, но также, пожалуйста, создайте отчёт об ошибке!
А как насчёт случайных тиков и тиков осадков?
У блоков со случайными тиками или тиками осадков есть элемент случайности. Чтобы имитировать такие блоки, мод выбирает случайное число из биномиального распределения, а затем использует его для обновления состояния блока. Однако иногда вероятность успеха меняется. В этом случае нужно выбирать случайные числа из отрицательного биномиального распределения, чтобы имитировать длительность каждого успеха.
