Minecraft Wiki
Registrieren
Advertisement

Eine Programmbibliothek (engl. library) ist eine Sammlung von Programmfunktionen, die vom Rest des Programmes benutzt werden können.

Speicherort[]

Minecraft benutzt eine Vielzahl von Programmbibliotheken. Sie sind unter .minecraft/libraries zu finden:

  • .minecraft
    • libraries: Programmbibliotheken mit Funktionen, die von Minecraft genutzt werden.
      • com
        • google: Google Gson dient zur Umwandlung von Java-Objekten in JSON. Google Guava stellt zusätzliche Java-Funktionen zur Verfügung.
        • ibm: ICU der Firma IBM dient zur Analyse von Unicode-Schriften (z.B. Arabisch).
        • mojang: Siehe den Abschnitt weiter unten.
        • paulscode: verschiedene Funktionsbibliotheken von Paul Lamb für das Soundsystem.
      • commons-codec: Commons-Codec enthält Java-Hilfsfunktionen zum En- und Dekodieren von Daten.
      • commons-io: Commons-IO enthält Java-Hilfsfunktionen für die Ein- und Ausgabe.
      • commons-logging: Commons-Logging enthält Java-Hilfsfunktionen für das Schreiben von Protokolldateien.
      • io: Netty stellt Netzwerk-Funktionen zur Verfügung.
      • it: Die Bibliothek fastutil der Universität Mailand (unimi.it) beschleunigt den internen Datenzugriff.
      • net
        • java: JNA (Java Native Access) erlaubt den Zugriff auf plattformspezifische dynamische Programmbibliotheken, Jinput stellt Funktionen für die Eingabe von Unicode-Zeichen (z.B. Arabisch) zur Verfügung, Jutils stellt Java-Hilfsfunktionen zur Verfügung.
        • sf: JOpt Simple analysiert Kommandozeilenparameter. Trove for Java ist eine Java-Funktionen-Fundgrube.
      • org
      • oshi-project: ist eine Bibliothek zur Ermittlung der Computerdaten (Operating System and Hardware Information).

Programmbibliotheken von Mojang[]

Folgende Programmbibliotheken hat die Firma Mojang selbst erstellt:

  • authlib stellt Funktionen für das Mojang-Login zur Verfügung.
  • brigadier ist ein Großteil des Befehle-Parsers, der die Eingabe von Befehlen prüft.
  • datafixerupper sind Funktionen für die Umwandlung von Spielstand-Daten alter Minecraft-Versionen in höhere Versionen.
  • patchy enthält eine Funktion zum Umwandeln der alten XML-Version in die neue für das Aussehen der Launcher-Protokolldateien.
  • realms stellt alle Funktionen für Menü/Minecraft Realms zur Verfügung. Durch die Auslagerung der Realms-Funktionen in eine Programmbibliothek können diese verändert werden, ohne dass eine neue Minecraft-Version veröffentlicht werden muss[1].
  • text2speech enthält für alle Plattformen die Funktionen zur Sprachausgabe.

Open-Source-Bibliotheken[]

Normalerweise sind Programmbibliotheken für Außenstehende nicht lesbar. Mojang hat sich jedoch entschieden, einige ihrer eigenen Programmbibliotheken als Open Source der Öffentlichkeit zur Verfügung zu stellen. Damit können sie in eigenen Spielen oder in eigene Minecraft-Modifikationen verwendet oder auch verändert und verbessert werden[2].

Die Open-Source-Bibliotheken stehen unter der MIT-Lizenz. Das erlaubt die Veränderung und Verbreitung dieser Programmbibliotheken, solange der Urheber Mojang genannt und der Lizenztext beigelegt wird (genauer Wortlaut).

Der Quellcode der Open-Source-Bibliotheken wird auf der Plattform GitHub veröffentlicht:

Nicht mehr verwendete Programmbibliotheken[]

Ältere, nicht mehr benötigte Programmbibliotheken werden nicht automatisch gelöscht. Sie stehen weiterhin im libraries-Order, werden aber nicht mehr verwendet. Auch das Starten eines älteren Launchers bewirkt, dass ältere Elemente in diesem Ordner erzeugt werden. Dazu gehören:

  • .minecraft
    • libraries: Alle Programmbibliotheken mit Funktionen, die von Minecraft genutzt wurden.
      • argo: Argo diente zum Analysieren und Generieren von JSON.
      • tv: Twitch stellte Funktionen für das Live-Streaming zur Verfügung.

Geschichte[]

Versionsgeschichte der Java Edition
Alpha 1.0.0
  • Mit Einführung des ersten Launchers kann man das Spiel auch ohne Webbrowser spielen
  • In diesem Zusammenhang werden die minecraft.jar und die benötigten Programmbibliotheken nicht mehr unter %TEMP% gespeichert, sondern unter .minecraft\bin
Vollversion 1.6 (13w16a)
  • Die Programmbibliotheken werden jetzt unter .minecraft\libraries gespeichert, was .minecraft\bin\natives ersetzt
  • Gleichzeitig werden auch Programmbibliotheken aus der minecraft.jar nach .minecraft\libraries ausgelagert, z.B. paulscode
Vollversion 1.7.10
26. September 2018
  • Mojang veröffentlicht den Quellcode der Programmbibliothek für den Minecraft-Befehle-Parser brigadier.jar[3]
5. Oktober 2018
  • Mojang veröffentlicht den Quellcode der Programmbibliothek für die Datenumwandlung datafixerupper.jar

Einzelnachweise[]

Advertisement