Unterschiede zwischen Minecraft: Bedrock Edition und Minecraft: Java Edition

Oberflächlich betrachtet scheinen sich die Bedrock Edition und die Java Edition sehr ähnlich zu sein, es gibt aber bedeutende Unterschiede, die nicht auf den ersten Blick zu sehen sind. Durch die verschiedenen Codebasen entstehen unterschiedliche Entwicklungsumgebungen. Dieses Tutorial beschreibt die wichtigsten Unterschiede, die du als Content-Ersteller beachten solltest.

In diesem Tutorial wird Folgendes beschrieben:

  • Eine kurze Geschichte der Java Edition und der Bedrock Edition
  • Die Unterschiede zwischen den beiden Editionen, und was diese für die Content-Erstellung bedeuten

Es gibt zwei Hauptversionen von Minecraft.

Minecraft: Java Edition

Diese Version wurde ursprünglich 2009 veröffentlicht. Sie hieß ursprünglich Minecraft, bis sie im September 2017 in Minecraft: Java Edition umbenannt wurde. Wie der Name schon sagt, wurde sie in Java entwickelt und ist größtenteils nicht mit der aktuellen Version von Minecraft kompatibel. Diese Edition wird allgemein einfach als Java bezeichnet.

Minecraft: Bedrock Edition

Die Bedrock Edition wurde am 20. September 2017 veröffentlicht und basierte auf der Minecraft: Pocket Edition, die 2011 veröffentlicht wurde. Damit wurden neun der wichtigsten Geräteplattformen unter einer einzigen Codebasis namens Bedrock Engine zusammengeführt. Dafür wurde Minecraft von Grund auf neu geschrieben, was einige grundlegende Änderungen an der Plattform mit sich brachte, die den Weg für eine faszinierende neue Entwicklungscommunity bereiteten. Diese Edition wird allgemein einfach als Bedrock bezeichnet.

Unterschiede bei den Welten

Der offensichtlichste Unterschied zwischen beiden Versionen ist das Welt-Format. Bedrock Edition verwendet das LevelDB-Format für die Weltspeicherung, während Java Edition das Anvil-Format verwendet. Aus diesem Grund funktionieren die meisten Tools von Drittanbietern, die für die Weltbearbeitung in der Java Edition erstellt wurden, für die Bedrock Edition nicht.

Die beiden Versionen verwenden auch ein deutlich unterschiedliches Blockformat. Java Edition hat ein flaches Blockformat mit einer eindeutigen Zeichenfolge für jeden einzelnen Block. Der Status eines Blocks wird separat gespeichert. In ähnlicher Weise ist Bedrock Edition zu einem auf Zeichenfolgen basierenden System mit Blockzuständen übergegangen, einige Blöcke sind jedoch weiterhin durch Datenwerte definiert und gruppiert. Grundsätzlich bedeutet dies, dass Blöcke zwischen den Versionen unterschiedlich benannt werden. In der Bedrock Edition wäre Granit stone 1, während es in der Java Edition einfach granite ist.

Ein weiterer wichtiger Unterschied betrifft die Weltgenerierung. Obwohl beide Versionen einen ähnlichen Prozess zur Generierung von Gelände verwenden, nutzen sie jeweils einen anderen Zufallszahlengenerator. Dies bedeutet, dass Seeds zwischen den Versionen nicht kompatibel sind. Ein Seed, der in der Bedrock Edition verwendet wird, wird anders generiert als in der Java Edition. Dies macht das Erstellen von Inhalten für die Bedrock Edition in der Java Edition etwas schwieriger.

Unterschiede bei Redstone und Befehlen

Auch die Struktur und Implementierung der Befehle zwischen den beiden Versionen sind unterschiedlich. Die Befehlsstruktur der Bedrock Edition ähnelt dem System, das in Versionen der Java Edition vor 1.13 verwendet wurde. Dabei wird auf unformatierte JSON-Zeichenfolgen in Befehlen verzichtet, an dessen Stelle ein komponentenbasiertes System rückt. Statt der Verwendung langer und komplexer JSON-Zeichenfolgen zum Anpassen von Objekten kannst du ein Objekt mit einem einzigen Befehl erschaffen, ein Ereignis ausführen lassen und es gleichzeitig benennen.

summon <entityType: EntityType> [spawnPos: x y z] [spawnEvent: String] [named: String]

Derzeit gibt es in der Bedrock Edition keine Möglichkeit, Spielern benutzerdefinierte Gegenstände mit /give zukommen zu lassen, wie dies in der Java Edition möglich ist. Der Gegenstand muss vorab erstellt und zum Spieler teleportiert werden. Die gebräuchlichsten Verfahren dazu sind entweder, den Gegenstand in eine Truhe zu legen und die Truhe daraufhin zu zerstören, oder ein Objekt über eine Beutetabelle einer getöteten Kreaturen fallen zu lassen.

Abgesehen davon sollten sich die Befehle der Bedrock Edition denen der Java Edition vor Version 1.13 sehr ähneln. Das in Java Edition 1.13 eingeführte Ausführungsformat wird in der Bedrock Edition nicht unterstützt.

Anzeigetafeln funktionieren in beiden Versionen gleich; die Bedrock Edition bietet zurzeit jedoch keine Unterstützung für die breite Palette von Kriterien, durch die sich die Java Edition auszeichnet. Derzeit ist dummy das einzige Kriterium, das von der Bedrock Edition unterstützt wird. Keine der übrigen in der Java Edition verfügbaren Kriterien wurde von der Bedrock Edition implementiert. Weiterhin gibt es auch keine Unterstützung für Befehle wie /stats oder /team.

Zeitplan-Befehle unterscheiden sich zwischen den Editionen. In der Java Edition hat der /schedule-Befehl die folgende Syntax:

/schedule function <function> <time> [append|replace]
/schedule clear <function>

Eine Funktion wird so geplant, dass sie nach Ablauf eines Zeitraums ausgeführt wird, wobei die Wahlmöglichkeit besteht, dieselbe Funktion erneut mit „append“ zu planen, oder frühere Zeitpläne der Funktion mit „replace“ zu löschen, bevor ein neuer geplant wird. Darüber hinaus kann für geplante Funktionen mit der Option „clear“ die Zeitplanung aufgehoben werden.

In der Bedrock Edition hat /schedule die folgende Syntax:

/schedule on_area_loaded add <from: x y z> <to: x y z> <function: filepath>
/schedule on_area_loaded add circle <center: x y z> <radius: int> <function: filepath>
/schedule on_area_loaded add tickingarea <name: string> <function: filepath>

Anstatt eine Funktion nach einer bestimmten Zeit auszuführen zu lassen, können Funktionen so geplant werden, dass sie ausgeführt werden, wenn eine bestimmte Region der Welt geladen wird. Die Option „tickingarea“ führt die angegebene Funktion aus, wenn ein Ticking-Bereich mit dem angegebenen Namen geladen wird. Wenn der Ticking-Bereich bereits aktiv ist, wird die Funktion sofort ausgeführt. Wenn der Ticking-Bereich jedoch noch nicht vorhanden ist, bleibt die Funktion in der Schwebe, bis der Ticking-Bereich erstellt wird, z. B. mit dem /tickingarea-Befehl, woraufhin die Funktion ausgeführt wird.

Mehrere Funktionen können für denselben Ort oder Ticking-Bereich geplant werden. Im Gegensatz zur Java Edition können geplante Funktionen jedoch nicht gelöscht werden.

Redstone funktioniert auch etwas anders. Im Gegensatz zur Java Edition unterstützt die Bedrock Edition keine Quasi-Konnektivität. Systeme, die Mechaniken wie BUD-Schalter (Block Update Detector) verwenden, funktionieren nicht. Außerdem benötigen Kolben einen Tick, um zurückgezogen zu werden, und hinterlassen keine Blöcke, wenn sie einen Ein-Tick-Impuls erhalten. Sogar die Art und Weise, wie Updates stattfinden, unterscheidet sich leicht. Obwohl die große Mehrheit der Redstone-Schaltkreise zwischen den beiden Versionen gut funktioniert, funktionieren komplexere Schaltungen möglicherweise nicht.

Ressourcenpakete

Es gibt viele Überschneidungen zwischen Bedrock Edition und Java Edition, wenn es um Ressourcenpakete geht. Aber auch hier gibt es ein paar Unterschiede. Der offensichtlichste Unterschied ist der Wechsel von .mcmeta-Dateien zu .json-Dateien in der Bedrock Edition. Diese Dateien werden verwendet, um die Eigenschaften verschiedener Teile der Benutzeroberfläche zu definieren, und werden weitgehend auf die gleiche Weise mit deutlichen Syntaxunterschieden zwischen den beiden Formaten verwendet. Dazu kommen große Unterschiede bei den Texturdateiformaten, hauptsächlich die Verwendung von TGA-Dateien für Alpha-Kanäle anstelle von PNG. Einige Texturen (hauptsächlich Objekte) sind ebenfalls etwas anders gestaltet.

Verhaltenspakete

Einer der größten Unterschiede zwischen der Bedrock Edition und der Java Edition betrifft die Verwendung von Verhaltenspaketen. Obwohl sie funktional den Datenpaketen in der Java Edition ähneln, variieren die tatsächliche Implementierung und Verwendung von Verhaltenspaketen erheblich.

Verhaltenspakete bieten neue Funktionen, sei es das Erstellen eigener Objekte von Grund auf, das Hinzufügen neuer Blöcke und Elemente oder der Zugriff auf Ereignisse mithilfe der JavaScript-API. Dies bietet ein enormes Maß an Flexibilität und Kontrolle und ist im Vergleich zur Java Edition einer der leistungsstärksten Teile der Bedrock Edition.

Gameplay und Spielereingaben

Ein wichtiger Unterschied, der häufig übersehen wird, betrifft die Art der Plattform, die Spieler verschiedener Versionen verwenden. Für die Java Edition kannst du einigermaßen sicher sein, dass dein Spieler eine Tastatur und eine Maus verwendet, für die Bedrock Edition gilt, dass dies höchstwahrscheinlich nicht der Fall ist.

Derzeit sind Konsolensteuerungen die gebräuchlichste Eingabemethode für die Bedrock Edition, wobei die Toucheingabe knapp an zweiter Stelle steht. Tastatur- und Maussteuerungen liegen abgeschlagen auf dem dritten Platz und machen nur einen kleinen Anteil der Spieler aus.

Das bedeutet, dass du beim Entwerfen von Inhalten in der Bedrock Edition die verschiedenen Arten von Eingaben beachten solltest, die die Spieler verwenden werden. Denke auch daran, wie deine Spieler spielen. Während das Spam-Clicking mit einer Maus oder sogar einem Controller relativ einfach ist, könnten Touch-Spieler davon frustriert sein. Tastaturspieler können vielleicht mit einem Bogen perfekt zielen, mit einem Controller oder einer Touch-Steuerung ist dies aber sehr viel schwieriger. Für Spieler mit Mobilgeräten kann komplexes Parkour sogar das Spiel ganz unmöglich machen.

Denken immer daran, wer mit deinen Inhalten spielen wird. Die Spieler der Java Edition sind tendenziell etwas älter, und die Bedrock Edition wendet sich an eine deutlich jüngere Zielgruppe. Wahrscheinlich haben diese niemals die Bedrock Edition auf einem PC gespielt.

Leistung

Hier werden die Dinge etwas vager und schwieriger zu definieren. Da die Bedrock Edition-Engine so konzipiert ist, dass sie auf PC, Mobilgerät und Konsole gespielt werden kann, ist sie im Allgemeinen eine „tolerantere“ Plattform, die auf Lower-End-Hardware viel besser funktioniert als die Java Edition. Das hat jedoch auch seine Nachteile.

Neben normalen Bugs, die Probleme verursachen (und was wäre Minecraft ohne Bugs?), führen die erweiterten Funktionen der Plattform auch dazu, dass das Spiel fehleranfälliger wird. Viele Objekte mit komplizierten Verhaltensweisen können einige Geräte verlangsamen. Benutzerdefinierte Objekte, die übermäßig komplexe Modelle verwenden, verbrauchen sehr viel RAM. Selbst die Menge der Chunks, die gleichzeitig geladen werden können, kann auf Lower-End- und Mobilgeräten deutlich geringer sein.

Um vielen dieser Leistungsprobleme zu begegnen, wurde für die Bedrock Edition das Rendering und Ticking von Chunks aufgeteilt. Anstelle einer direkten Beziehung zwischen diesen wie in der Java Edition (d. h. alles, was du siehst, wird geladen), kannst du mit der Bedrock Edition deine Renderentfernung (wie weit du sehen kannst) auf einen anderen Wert als die Simulationsentfernung einstellen (wie weit Chunks ticken). Dies gibt dir die Möglichkeit, weit entfernte Bereiche visuell zu rendern, ohne diese Chunks zu ticken. Tickende Chunks haben einen direkten Einfluss auf die Leistung: je mehr Chunks zu einem bestimmten Zeitpunkt ticken, desto größer ist die Gefahr für Probleme auf Lower-End-Geräten.


Insgesamt ist der Wechsel von der Java Edition zur Bedrock Edition ziemlich problemlos, wenn du ausreichend vorbereitet bist und die Unterschiede verstehst. Viele Funktionen, die Java Edition-Ersteller über Befehle verwendet haben, wurden in Verhaltenspakete verschoben. Die meisten Aspekte des Spiels werden überarbeitet, um datengesteuert zu funktionieren, wobei großer Wert auf Flexibilität gelegt wird. Im Zuge der Weiterentwicklung des Spiels wird sich das Gameplay immer gleich anfühlen, aber was diesem zugrunde liegt, wird sehr unterschiedlich funktionieren.

Wie geht es weiter?

Wenn du gerade neu von der Java Edition kommst, ist dein erster Schritt in der Bedrock Edition die Add-On-Entwicklung. Dadurch erhältst du einen guten Einblick in die Erstellung von Inhalten in Bedrock.