Такт

Такт (англ. Tick) — программная единица времени Minecraft, на которой основана вся игровая механика. Представляет собой паузу между повторами цикла обновлений игрового мира.

Игровой такт

Игровой цикл повторяется двадцать раз в секунду, поэтому такт — 120 секунды или 50 миллисекунд. Игровые сутки длятся 24000 тактов или 20 минут.

За каждый такт немного меняются многие игровые аспекты: движущиеся объекты меняют положение в пространстве, мобы проверяют окружение и обновляют поведение, меняются здоровье и голод игрока под внешним воздействием и многое другое.

Единственная вещь, не зависящая от игрового цикла и тактов, — прорисовка графики. Прорисовка происходит в отдельном, асинхронном цикле. Это защищает изображение от «тормозов» игровой механики и наоборот — игровой процесс от медленной прорисовки.

Такт блоков

Каждый чанк разделён по высоте на 16 секций размером 16×16×16. Каждый игровой такт 3 случайных блока в каждой активной секции получают особый статус в обработчике — так называемый «такт блока». На большинстве блоков это никак не отражается, но некоторые блоки используют этот статус для случайного по времени действия: растения растут или умирают; огонь гаснет, сжигает блоки или перекидывается на другие; лёд тает; листва опадает; грядки высыхают или увлажняются и так далее.

Так как «такт блока» присваивается случайно, нельзя предугадать, когда блок получит этот статус. В среднем, этот статус присваивается блоку каждые 47 секунд, то есть с 50 % вероятностью блок обновится менее чем через 47 секунд или более чем через 47 секунд.

Некоторые блоки, реагирующие на игровой такт, не обязательно обновляются каждый такт. Некоторые ждут несколько тактов, другие реагируют с некоторой вероятностью. Это нужно для более медленного (как деревья) или более беспорядочного (как пшеница) изменения состояния.

С помощью команды /gamerule randomTickSpeed можно изменить количество активных блоков в секции за такт, тем самым меняя общую скорость обновления блоков. По умолчанию значение равно трем.

На рисунке виден радиус обновления блоков при нахождении игрока на месте красной метки. Желтым отмечены границы чанков.

Такт получают лишь те блоки, которые находятся в пределах цилиндрической области радиусом 7-8 чанков (120-136 блоков от центральной оси) и высотой от 0 до 255, если дальность отрисовки установлена на 8 и более чанков. Это пространство по горизонтали напоминает окружность с дискретизацией по чанкам. Даже при дистанции прорисовки в 32 чанка обновляться будет лишь вышеуказанная область, поэтому такие явления, как рост растений и другие, связанные с тактом блока, будут происходить лишь вблизи игрока. Это правило следует учитывать при проектировании любых ферм. Однако печки могут работать и за пределами данной области, так как не связаны непосредственно с тактом блоков, но не далее прорисованного пространства.

Такт красного камня

Такт красного камня длится два игровых такта, то есть время прохождения сигнала из точки А в точку Б можно увеличивать с шагом в 0,1 секунды. Такт красного камня только увеличивает задержку, уменьшить её нельзя.

С короткими импульсами длиной в 1 такт красного камня в некоторых случаях связано нестандартное поведение блоков. Например, если активировать липкий поршень на один такт, он выдвинет блок, но не задвинет его обратно. Раздатчик не сработает от импульса длиной в 1 такт, но два таких импульса подряд с интервалом в 1 такт заставят его выбросить предмет.

Создание такта красного камня

Первый способ

Второй способ

Слева направо: 1, 2, 3, 4 такта красного камня.

Такт красного камня можно создать двумя способами:

1. Такт красного камня можно создать, установив на одну грань блока красный факел и подав входной сигнал к этому блоку.
2. Такт красного камня можно создать повторителем. По умолчанию он создаёт один такт: два факела повторителя сдвинуты друг к другу. Правый клик мышью на повторителе раздвигает факелы, создавая два и четыре такта красного камня.
В данной статье используются материалы из статьи «Такт» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0. Авторы статьи.