Quase todos os videogames (incluindo o Minecraft) são movidos por um grande loop de programa. Assim como todos os equipamentos de um relógio são sincronizados com o pêndulo, todas as tarefas envolvidas no avanço de uma simulação de jogo são sincronizadas com o loop do jogo. Apropriadamente, um ciclo do loop do jogo é chamado de tick.
Tick
O loop de jogos do Minecraft normalmente é executado a uma taxa fixa de 20 ticks por segundo, então um tick acontece a cada 0,05 segundo. Um dia no jogo dura exatamente 24000 ticks, ou 20 minutos. No entanto, se o computador não conseguir acompanhar essa velocidade, haverá menos tiques de jogo por unidade de tempo. Como a grande maioria das ações é cronometrada com base na contagem de ticks e não na hora do relógio de parede, isso significa que muitas coisas demoram mais em um computador mais lento. Em cada tick, vários aspectos do jogo avançam um pouco; objetos em movimento mudam de posição, mobs checam seus arredores e atualizam seu comportamento, saúde e fome são afetados pelas circunstâncias do jogador e muito mais. Uma coisa que não acontece como parte de um tick é desenhar gráficos. A renderização acontece após a atualização. É por isso que uma taxa de quadros variável não afeta a taxa de seleção, o que impede que o desempenho do vídeo afete a mecânica de jogo.
Chunk Tick
Em cada tick, cada chunk dentro da área de renderização do jogador será atualizado.
Isso pode ter vários efeitos:
- Se ocorrer uma tempestade de raios, o raio pode atingir algum lugar no chunk (1⁄100000 de chance)
- 1⁄16 chance de que uma coluna seja escolhida para verificações meteorológicas no bloco mais alto:
- Se estiver em um bioma frio, a água congelará, se possível
- Se nevar, uma camada de neve será colocada, se possível
- Se chover, um caldeirão será enchido, se possível
- Um determinado número de blocos dentro do Chunk receberá "Block Ticks" aleatórios, como descrito abaixo
Block Tick
Chunks consistem em grandes cubos com 16x16x16 blocos. Três posições de bloco (ou o número definido por / gamerule randomTickSpeed) são escolhidas aleatoriamente de cada seção no chunk. Os blocos nessas posições recebem um "tick de bloco aleatório". A maioria dos blocos ignora esse tick, mas alguns usam para fazer alguma coisa:
- As mudas podem crescer ou desenraizar
- Cogumelos podem se espalhar ou arrancar
- Videiras podem se espalhar
- O fogo pode queimar ou se espalhar
- As camadas de gelo e neve podem derreter
- Folhas podem decair
- A hidratação das terras agrícolas é atualizada
- Cactos, cana-de-açúcar e flores corais podem crescer
- Blocos de grama e micélio podem se espalhar ou se transformar em sujeira
- Mudas podem crescer em uma árvore
- Lava pode acender fogueiras nas proximidades
- Minério de redstone pode acender ou apagar
- Blocos de portal inferiores podem gerar um homem-porco-zumbi
- Ovos de tartaruga vão rachar ou chocar
Outros blocos podem solicitar um tick em algum momento no futuro. Esses "ticks programados" são usados para coisas que precisam acontecer em um padrão previsível - por exemplo, os repetidores de redstone programarão um tick para mudar de estado e a água agendará um tick quando precisar se mover. Um tick programado e um tick aleatório podem fazer coisas diferentes no mesmo bloco. Como os ticks de blocos aleatórios são concedidos aleatoriamente, não há como prever quando um bloco receberá seu próximo tick. O tempo mediano entre os ticks é de 47,35 segundos. Ou seja, há 50% de chance de que o intervalo seja igual ou menor que 47,35 segundos e 50% de chance de ser igual ou maior que 47,35. No entanto, às vezes é muito mais longo ou mais curto: por exemplo, há uma chance de 1,5% de que o intervalo seja menor que um segundo e uma chance de 1% de que o intervalo seja superior a cinco minutos. Em média, os blocos são atualizados a cada 68,27 segundos. Para a matemática por trás desses números, veja as entradas da Wikipedia para a distribuição geométrica: O número máximo de ticks de bloco por tick de jogo é 65.536.
Redstone Tick
Um tick redstone descreve dois ticks do jogo. Isso cria um atraso de 1/10 de segundo no sinal de um circuito de redstone. Ou seja, o tempo do sinal para viajar de um local A para o local B é aumentado em 0,1 segundo. Um tick só diz respeito ao aumento no tempo do sinal, portanto, o tempo de viagem do sinal nunca pode ser diminuído em referência a ticks.