Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter   Noch keinen Server gefunden? Es gibt einen Wiki-Server

Tick

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche

Minecraft ist ein Tick-basiertes Computerspiel. Im Gegensatz zu einem rundenbasierten Computerspiel, bei dem der Spielverlauf durch das Beenden einer Spielrunde voranschreitet, schreitet er bei einem Tick-basierten Computerspiel in immer gleichen Zeitintervallen voran, den Ticks. Nach jedem Tick werden automatisch bestimmte Aktionen ausgelöst.

Zeitliche Ticks[Bearbeiten | Quelltext bearbeiten]

Game Ticks[Bearbeiten | Quelltext bearbeiten]

Jedes Spiel definiert seinen Tick oder Game Tick selbst. Er wird in der Regel von einem Chip-Takt (clock tick) abgeleitet. Im Spiel Minecraft erfolgt ein Game Tick alle 1/20 (=0,05) Sekunden = 50 Millisekunden. Ein Tag-Nacht-Rhythmus dauert in Minecraft 20 Minuten. Auf einem Computer mit schnellem Prozessor entspricht das exakt 24000 Ticks. Auf einem langsamen Computer erfolgen in diesem Zeitraum jedoch weniger Ticks, sodass auf einem langsamen Computer Aktionen, die nach einer bestimmten Anzahl von Ticks erfolgen, langsamer ablaufen. Mit dem Befehl /debug kann man ein Debug-Protokoll erzeugen. Darin wird auch die Zeit in Millisekunden und die Anzahl der Ticks gemessen. Als Ergebnis wird angezeigt, wie viele Ticks durchschnittlich pro Sekunde erfolgt sind. Es müssten 20 sein. Beispiel:

Time span: 45146 ms
Tick span: 630 ticks
// This is approximately 13,95 ticks per second. It should be 20 ticks per second

Nach jedem Tick schreitet das Spiel etwas weiter voran: bewegliche Objekte ändern ihre Position, Kreaturen prüfen ihre Umgebung und passen ihr Verhalten an, Gesundheit und Hunger werden durch die Spieler-Umgebung beeinflusst etc.

Die Bildrate (engl. framerate, gemessen in fps, frames per second) steht in keinem Zusammenhang mit den Ticks. Während die Bildrate durch Einstellungen verändert werden kann, sind die Ticks idealerweise stets gleich lang - niemals schneller als 50 Millisekunden. Daher hat eine Veränderung der Bildrate keinen Einfluss auf die Spielmechanik. Ist der Rechner jedoch allgemein stark ausgelastet, leiden sowohl die Bildrate als auch die Ticks. Das Spiel vergleicht ständig die Systemzeit in Millisekunden mit der Tickzählung. Wenn die Abarbeitung der Aktionen pro Tick zu lange dauert, werden einige Ticks übersprungen. Im "Game Output" des Launchers wird das protokolliert:

 
[Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2339ms behind, skipping 46 tick(s)

Redstone-Ticks[Bearbeiten | Quelltext bearbeiten]

Ein Redstone-Tick ist die Zeiteinheit, in der die Verbreitung von Redstone-Signalen gemessen wird. 1 Redstone-Tick = 2 Game Ticks (also 2/20 = 0.1 Sekunden). Die meisten Redstone-Bauelemente haben eine Verzögerung von einem Redstone-Tick.

Örtliche Ticks[Bearbeiten | Quelltext bearbeiten]

Zufällige Block-Ticks[Bearbeiten | Quelltext bearbeiten]

Chunks bestehen aus 16 sogenannten Sektionen. Jede Chunk-Sektion ist ein Würfel aus 16 x 16 x 16 Blöcken. Bei jedem Game Tick werden - unabhängig von der Sichtweite - in einem Umkreis von 15 Chunks um den Spieler in jeder Chunk-Sektion drei Positionen zufällig ausgewählt und erhalten einen Block Tick. Luft und die meisten Blöcke ignorieren diesen Tick, aber einige nutzen ihn für eine spontane Aktion: Pflanzen wachsen oder sterben ab, Feuer geht aus, Eis schmilzt, Laub fällt ab, Ackerboden wird nass etc. Im Durchschnitt erhält ein Block alle 68,27 Sekunden einen zufälligen Block Tick. Es kann aber auch mal 5 Minuten dauern.

Mit dem Befehl /gamerule randomTickSpeed kann man die Anzahl der betroffenen Blöcke pro Tick erhöhen, wodurch pro Game Tick mehr als 3 Blöcke einen Block Tick erhalten. Dadurch passieren die genannten Zufallsereignisse schneller, weil die Wahrscheinlichkeit steigt, dass ein bestimmter Block getroffen wird.

Angeforderte Block Ticks[Bearbeiten | Quelltext bearbeiten]

Doch nicht alle Block Ticks werden dem Zufall überlassen. Blöcke können auch einen Block Tick anfordern, wenn Aktionen nicht zufällig, sondern in festen Zeitabständen geschehen sollen. Beispielsweise fordert Wasser einen Block Tick an, wenn es sich bewegen will oder ein Button fordert einen Block Tick an, wenn er das Aussenden des Redstone-Signals beenden will.