Pre-Classic |
|
||||
---|---|---|---|---|---|
Infdev |
|
||||
Alpha v1.0.4 |
|
||||
Alpha v1.2.2 |
|
||||
Beta 1.5 |
|
||||
Vollversion 1.3 (12w18a) |
|
||||
Vollversion 1.5 |
|
||||
Vollversion 1.6 (13w18a) | |||||
Vollversion 1.6.1 (13w24a) |
|
||||
Vollversion 1.7.10 |
|
||||
Vollversion 1.9 |
|
||||
Vollversion 1.13 (17w47a) |
|
Texturdaten
Texturdaten sind Bilder, die auf grafische Oberflächen gelegt werden. So kann man schon alleine durch die Textur die verschiedenen Blöcke, die ja meist eine identische Würfelform haben, voneinander unterscheiden. Texturen gibt es aber nicht nur für Blöcke, Gegenstände, Kreaturen und sonstige Objekte, sondern für sämtliche sichtbaren grafischen Oberflächen inklusive der Inventare.
Arten[Bearbeiten | Quelltext bearbeiten]
- Blocktexturen, Gegenstandstexturen, Objekttexturen werden zur Darstellung der Blöcke, Gegenstände und Objekte (inkl. Gemälde) in der Spielwelt verwendet. Es gibt auch Blöcke und Gegenstände mit mehreren Texturen, wenn sie verschiedene Zustände haben, die sich optisch voneinander unterscheiden (Beispiel: die Abnutzung des Amboss).
- Flächentexturen für die Darstellung von Himmel, Wolken, Schneefall etc.
- Partikeltexturen für sämtliche Partikel im Spiel.
- Überlagerungen sind Texturen, die über andere Texturen gelegt werden zur Einfärbung von Pflanzen in unterschiedlichen Klimazonen, für verzauberte Gegenstände, für die unterschiedlichen Rüstungen, für Schatteneffekte etc.
- Benutzeroberflächen sind Texturen für Inventare, Karten, Menüpunkte, die verschiedenen Anzeigen wie z.B. Lebensanzeige und Hungeranzeige etc.
- Schriften dienen der Darstellung der Texte in der speziellen Minecraftschrift oder in anderen Schriften wie Arabisch, Hebräisch etc.
Herkunft[Bearbeiten | Quelltext bearbeiten]
- minecraft.jar: Die Original-Texturen stehen in minecraft.jar.
- assets: Die Standard-Ressourcen.
- minecraft: Die Minecraft-Standard-Ressourcen.
- textures: Minecraft-Texturen.
- block: Texturen aller Blöcke. Eine Block-Textur wird üblicherweise an allen sechs Seiten des Blockes angezeigt. Die Darstellung von Ausnahmen übernimmt das Programm. Beispiele für Ausnahmen:
• Setzlinge und andere Pflanzen,
• Holzbretter, -treppen und -stufen verwenden dieselbe Textur,
• Für Laub gibt es zwei Texturen: eine für die schnelle Grafikeinstellung (undurchsichtig) und eine für die schöne (durchsichtig),
• Laub und andere Pflanzen haben nur eine graue Textur, die Farbe ist klimaabhängig und wird durch die Dateien unter assets/minecraft/textures/colormap überlagert,
• Texturen aller Blöcke mit komplexer Bewegung (Truhe, Zaubertisch, Leuchtfeuer, Endportal, Schild) sind - obwohl sie keine Objekte sind - im Ordner assets/minecraft/textures/entity zu finden.
• Der Endportalblock und der Netherportalblock werden unterschiedlich dargestellt, wenn man sie in der Hand hält (nur mit dem Befehl/give
möglich): der Endportalblock ist flach, der Netherportalblock ist dreidimensional. Aber beide Blöcke verwenden dieselbe Textur: portal.png. Wenn der Endportalblock jedoch platziert wird, erhält er eine andere Textur: entity/end_portal.png.
• Es gibt einige Blöcke mit animierter, d.h. beweglicher Textur (z.B. Wasser). - colormap: Farbschemata für die klimaabhängige Darstellung von Pflanzen.
- effect: Bisher gibt es nur den Dither-Effekt zur vereinfachten Darstellung von Farbverläufen.
- entity: Texturen aller Objekte. Das sind vor allem die Kreaturen. Kreaturen, die alternative Texturen besitzen (z.B. Katzen), haben ein eigenes Unterverzeichnis. Die restlichen Kreaturen stehen zusammen mit den sonstigen Objekten (Lore, Boot, Pfeil etc.) direkt im Ordner entity.
- environment: Texturen der Wolken, des Ende-Himmels, der Mondphasen, des Regens, der Schneeflocken und der Sonne.
- font: Siehe Schriftdaten.
- gui: Texturen aller grafischen Benutzeroberflächen (engl. Graphical User Interface). Dazu gehören: die Anzeige der Erfolge, sämtliche Inventare (auch Werkbank, Ofen etc.), Titelbild, Titelschriftzug und Mojang-Logo, alle Statusanzeigen (Leben, Hunger, Rüstung, etc.), Menübuttons, etc.
- item: Texturen aller Gegenstände. Wie bei den Blöcken gibt es auch hier einige Besonderheiten:
• Einige Gegenstände sind farblos, weil sie in unterschiedlichen Farben dargestellt werden können (Lederrüstung, Trank, Spawn-Ei). Dazu gibt es zusätzliche Überlagerungsdateien (overlays), die über die vom Programm generierte Farbe gelegt werden.
• Die leeren Slots für die Rüstungsteile sind nicht unter gui sondern bei den items zu finden.
• Die Pferderüstung ist nicht bei items sondern bei entity/horse zu finden.
• Der Bogen ist ein Gegenstand, der nur in der Hand gehalten eine Pseudo-Animation ausführt: es gibt drei Texturen (bow_pulling) für den gespannten Bogen.
• Uhr und Kompass werden dagegen richtig animiert. - map: Texturen für den Hintergrund von Karten und für die darauf angezeigten Symbole.
- misc: Verschiedene Texturen: ein Schema für den Schimmer verzauberter Gegenstände, den aufgesetzten geschnitzten Kürbis, Schatten für Kreaturen und für dunkle Bereiche.
- models: Überlagerungstexturen.
- armor: Überlagerungstexturen für alle Rüstungen, die der Spieler tragen kann.
- painting: Alle Gemälde in einer Datei.
- particle: Alle Partikel in einer Datei.
- block: Texturen aller Blöcke. Eine Block-Textur wird üblicherweise an allen sechs Seiten des Blockes angezeigt. Die Darstellung von Ausnahmen übernimmt das Programm. Beispiele für Ausnahmen:
- textures: Minecraft-Texturen.
- minecraft: Die Minecraft-Standard-Ressourcen.
- assets: Die Standard-Ressourcen.
- realms.jar: Die Original-Texturen stehen in realms.jar.
- assets: Die Standard-Ressourcen.
- realms: Die Minecraft-Realms-Standard-Ressourcen.
- textures: Minecraft Realms-Texturen.
- gui: Texturen der grafischen Benutzeroberfläche von Minecraft Realms.
- realms: Die kleinen Icons, die in den Realms-Menüs erscheinen, z.B. für die Anzeige eines aktiven Realms.
- title: Der Titel-Schriftzug für Minecraft Realms.
- gui: Texturen der grafischen Benutzeroberfläche von Minecraft Realms.
- textures: Minecraft Realms-Texturen.
- realms: Die Minecraft-Realms-Standard-Ressourcen.
- assets: Die Standard-Ressourcen.
Änderbarkeit[Bearbeiten | Quelltext bearbeiten]
Die Texturdaten sind Teil der Standard-Ressourcen und können mit Ressourcenpaketen geändert werden.
- Dabei ist möglich: Ändern sämtlicher existierender Texturen (Blöcke, Gegenstände, Kreaturen, sonstige Objekte, Gemälde, Partikel, Menüs, Inventare, etc. - siehe oben), Animieren sämtlicher Blocktexturen oder Entfernen einer Textur-Animation. Die Vergabe einer transparenten Textur ist auch möglich, ändert aber nicht die Transparenz-Eigenschaft des Spielelementes.
- Nicht mit dem Originalspiel möglich: Die Eigenschaften ändern (Transparenz, Leuchtstärke), Spielelemente hinzufügen oder entfernen. So etwas ist nur mit Modifikationen möglich.
Die Texturdaten sind vom Dateityp .png (Portable Network Graphics) und können mit einem Bildbetrachter angesehen und mit einem Grafikbearbeitungsprogramm verändert werden.
Um eine Datei auszutauschen, legt man ein Ressourcenpaket an und platziert die entsprechende Datei mit dem richtigen Namen im richtigen Ordner (siehe Ressourcenpaket-Aufbau). Das bedeutet, man muss nicht alle Texturen in ein Ressourcenpaket stellen, sondern nur die, die man verändert hat. Im Minimalfall ist das nur eine einzige. Beispiel:
.minecraft/resourcepacks/Name des Ressourcenpakets/assets/minecraft/textures/blocks/cobblestone.png
Im Internet finden sich zahlreiche Ressourcenpakete, die die Texturen auf vielfältige Weise ändern:
- hochauflösende Grafik (HD Texturen, engl. High Definition)
- vereinfachte Grafik,
- stimmungsvolle Atmosphäre,
- nostalgische Effekte (alte Computerspielgrafik),
- verbessertes Wasser,
- verbessertes Glas usw.
Das Spiel enthält eine spezielle Welt mit allen Blöcken in allen ihren Varianten. Dazu muss man eine Welt im Debug-Modus erzeugen und kann neue Texturen testen.
Textureneffekte und Animationen[Bearbeiten | Quelltext bearbeiten]
Auf einige Texturen können Effekte angewendet werden. Zur Zeit gibt es eine verschwommene und eine verklumpte Darstellung der Textur (siehe blur- und clamp-Eigenschaften).
Texturen für Blöcke und Gegenstände können auch eine Animation der Textur erhalten, wodurch z.B. die Bewegung der Wasseroberfläche entsteht. Dies wird durch jeweils eine Zusatzdatei gesteuert. Wenn diese vorhanden ist, wird eine Animation durchgeführt, sonst nicht. Komplexere Bewegungen werden allerdings vom Programm vorgenommen und nicht über eine Animation gelöst (z.B. Öffnen einer Truhe oder Zaubertisch). Im Standard-Minecraft sind z.B. der Block "fließende Lava" oder der Gegenstand "Uhr" animiert. In einem Ressourcenpaket kann jedoch prinzipiell für jede Block- und Gegenstand-Textur eine Animation erstellt werden, z.B. dem im Standard nicht animierten Fackel-Gegenstand. Dazu muss die Texturdatei alle (gleich großen) Bilder der Animation untereinander enthalten. Die Datei wird dadurch schmal und sehr hoch. Die Bilder werden frames genannt. Der Texturdatei muss eine Mcmeta-Datei beigefügt werden, die den Ablauf der Animation beschreibt. Ihr Name muss immer der Name der Texturdatei sein mit dem Zusatz .mcmeta
, also z.B. lava_flow.png.mcmeta
.
Es gibt eine Ausnahme von diesem Konzept:
- Fließende Flüssigkeiten (nicht die stehenden Flüssigkeiten!): Während die Texturdatei aller animierten Gegenstände die Frames einzeln untereinander enthält, erwartet Minecraft bei Lava und fließendem Wasser eine vervierfachte Textur. Das heißt, jedes einzelne Frame der Animation muss zwei Mal nebeneinander und zwei Mal untereinander stehen. Beispiel: assets/minecraft/textures/blocks/lava_flow.png.
Skin ändern[Bearbeiten | Quelltext bearbeiten]
Wenn man sein Aussehen im Einzelspielermodus wechseln möchte (z.B. unterschiedliche Kleidung für Gartenarbeit oder Expeditionen), kann man sich für jede Kleidung ein Mini-Ressourcenpaket erstellen, das nur die Textur assets/minecraft/textures/entity/steve.png
oder assets/minecraft/textures/entity/alex.png
enthält. Der Wechsel der Kleidung während des Spiels erfolgt dann über den Menüpunkt Ressourcenpakete mit Auswahl des jeweiligen Minipakets. Dafür ist es allerdings notwendig, alle Unterordner von .minecraft/assets/skins zu löschen, oder zumindest den eigenen Skin darin, denn sonst wird das Spiel den Skin von dort nehmen. Das Löschen kann man gefahrlos tun, denn diese Unterordner werden vom Spiel automatisch wieder gefüllt. Außerdem muss man offline gehen, damit genau dieses automatische Füllen der Unterordner beim Spielstart nicht passiert. Nur wenn das Spiel keinen Zugriff auf den eigenen Skin in diesen Ordnern hat, nimmt es den durch das Ressourcenpaket veränderten Standard-Skin.
Die Änderung des Skins für den Mehrspielermodus erfolgt durch ein Hochladen der entsprechenden Datei in den Mojang-Account, siehe Skin.
Funktionsweise[Bearbeiten | Quelltext bearbeiten]
Wenn ein Block oder ein Gegenstand dargestellt werden soll, geschieht dies über die jeweiligen Modelldaten. Dort ist der Name der zugehörigen Texturdatei hinterlegt. Das bedeutet, dass man über die Modelldatei auf eine beliebige Texturdatei mit beliebigem Namen verweisen kann (Details siehe Modelldaten).
Für alle anderen grafischen Darstellungen sind die Ordner und Namen der Texturdateien im Programm hinterlegt und können nicht verändert werden. Sobald das Progamm etwas grafisch darstellt, greift es auf die entsprechende Textur zu.
Datenstruktur[Bearbeiten | Quelltext bearbeiten]
Die .mcmeta-Dateien für Textureneffekte und Animationen haben folgenden Aufbau:
- Die namenlose Haupteigenschaft.
- animation: Alle Animationsdaten. Bei der einfachsten Animation laufen alle Frames nacheinander mit gleichem zeitlichem Abstand ab (ein Frame pro Tick, d. h. 20 Frames pro Sekunde) und beginnen dann wieder von vorne. In diesem Fall enthält die Mcmeta-Datei nur eine leere animation-Eigenschaft:
{{animation}}
. Die anderen Eigenschaften sind optionale Zusatzinformationen für kompliziertere Animationen.- width: Optional. Breite eines Frames in Pixel. Wenn die Frames quadratisch sind, muss diese Eigenschaft nicht angegeben werden.
- height: Optional. Höhe eines Frames in Pixel. Wenn die Frames quadratisch sind, muss diese Eigenschaft nicht angegeben werden.
- frametime: Optional. Anzeigezeit in Ticks für jedes Frame. Der Standard ist 1 Tick (=1⁄20 Sekunde) und muss nicht angegeben werden. Beispiel: Bei einem Wert von 5 Ticks (=5/20 Sekunden) werden vier Frames pro Sekunde angezeigt.
- interpolate: Optional. true oder false, Standard ist false. Bei true generiert Minecraft durch Interpolation zwischen den Frames zusätzliche Frames, wenn die frametime größer 1 ist. Beispiel: Der Farbwechsel beim Prismarinblock: textures\blocks\prismarine_rough.png.mcmeta.
- frames: Optional. Liste von Zahlen oder Objekten. Normalerweise besteht die Liste nur aus Zahlen. Sie bezeichnen die Frame-Indexe in der Reihenfolge, in der die Frames ablaufen sollen. Der Standard läuft von 0 bis zum letzten Frame-Index und beginnt dann wieder von vorne - das muss nicht angegeben werden. Ein abweichender Ablauf wäre folgendes Beispiel: [0, 1, 2, 3, 2, 1]. Anstelle eines Frame-Index kann auch ein Objekt in der Liste stehen, das eine abweichende Anzeigezeit für ein bestimmtes Frame enthält. Beispiel: [0, 1, 2, {index:3, time:20}, 2, 1].
- index: Index eines Frames.
- time: Zeit in Ticks, den dieses Frame abweichend von frametime (bzw. dem Standard von 1 Tick falls frametime nicht belegt ist) angezeigt werden soll.
- texture: Alle Texturdaten.
- blur: Optional. true oder false, Standard ist false. Bei true wird die Textur von nahem besehen verschwommen dargestellt. Beispiel: Der verschwommene Blick durch einen Kürbis: textures/misc/pumpkinblur.png.mcmeta.
- clamp: Optional. true oder false, Standard ist false. Bei true werden mehrere gleiche Texturen zu einer einzigen verklumpt. Beispiel: Der Schatten von Kreaturen: textures/misc/shadow.png.mcmeta.
- animation: Alle Animationsdaten. Bei der einfachsten Animation laufen alle Frames nacheinander mit gleichem zeitlichem Abstand ab (ein Frame pro Tick, d. h. 20 Frames pro Sekunde) und beginnen dann wieder von vorne. In diesem Fall enthält die Mcmeta-Datei nur eine leere animation-Eigenschaft:
Fehlende Textur[Bearbeiten | Quelltext bearbeiten]
Durch den Einsatz von Ressourcenpaketen kann es passieren, dass eine Textur falsch oder veraltet benannt ist und nicht in den Ressourcen gefunden wird. Dann erscheint die Lücke weder durchsichtig noch schwarz, sondern wird mit einem deutlich erkennbaren violett-schwarzen Schachbrettmuster markiert. Diese Textur ist in den Standard-Ressourcen nicht enthalten und kann daher nicht geändert werden.
Debug-Texturen[Bearbeiten | Quelltext bearbeiten]
Die Entwickler können zum Testen und zur Fehlersuche ("Debugging" genannt, wörtlich Entwanzen) zwei alternative Blocktexturen einsetzen. Sie stehen in den Blocktexturdaten als debug.png und debug2.png. Wenn ein Block auf allen sechs Seiten eine unterschiedliche Textur hat, sollten diese in der Gesamtansicht zusammenpassen. Das kann mit der ersten Debug-Textur gut getestet werden. Sie zeigt ein Pixelgitter für die 16×16 Pixel großen Blocktexturen. Die zweite Textur zeigt die englischen Himmelsrichtungen N, E, S, W. Sie ist für die Blockoberseite gedacht und zeigt an, ob der Block beim Platzieren wie geplant ausgerichtet wird.
In der Entwicklungsversion Vollversion 1.13 (18w07a) konnte man eine Debug-Textur im Einsatz sehen: Wenn man den neuen Block Blasensäule mit einem Kolben verschob, erschien eine Debug-Textur, weil die Modelldaten der Blasensäule in bubble_column.json diese Textur enthielten. Mit Vollversion 1.13 (18w16a) wurde das Verschieben der Blasensäule entfernt[1] und mit Vollversion 1.13 (18w20a) das Blockmodell mit der Debug-Textur.
Einzelnachweise[Bearbeiten | Quelltext bearbeiten]
Geschichte[Bearbeiten | Quelltext bearbeiten]
Versionsgeschichte der Java Edition |
---|
Standard-Ressourcen |
| ||||
---|---|---|---|---|---|
Standard-Weltdaten |
| ||||
Spielwelt | |||||
Software | |||||
Speicherformate | |||||
Einstellungen | |||||
Mehrspieler | |||||
Historisch |