Better Beds Mod: Rendering-Optimierung und 3D-Bettmodelle in Minecraft
Detaillierter technischer Überblick über den Client-Optimierungs-Mod Better Beds für Minecraft zur Steigerung der FPS.
Detaillierter technischer Überblick über den Client-Optimierungs-Mod Better Beds für Minecraft zur Steigerung der FPS.
Abhängigkeiten:
Loader: Fabric / NeoForge / Quilt
Minecraft-Version: 1.16 – 1.21.x
Die Modifikation Better Beds schreibt den Rendering-Mechanismus für Betten in Minecraft um und ersetzt den schweren Vanilla-Block-Entity-Renderer durch die Standard-Engine für statische Modelle. Im Vanilla-Spiel werden Betten als Block Entity Renderer (BER) verarbeitet, wodurch der Prozessor (CPU) gezwungen wird, ihre Geometrie bei jedem Frame neu zu berechnen. Better Beds verwandelt Betten in klassische Blöcke mit JSON-Modellen, wodurch ihr Rendering vollständig auf die Grafikkarte (GPU) verlagert wird. Dies sorgt für eine deutliche Steigerung der Bildrate (FPS) in der Nähe von Dörfern oder in Multiplayer-Lobbys und ermöglicht die Anpassung von Betten über Standard-Ressourcenpakete.
Technische Probleme des Vanilla-Bett-Renderings
In Vanilla-Minecraft werden Betten, Truhen, Schilder und Banner als spezielle Objekte behandelt — Block Entities. Im Gegensatz zu normalem Stein oder Holz, die beim Laden des Chunks in ein statisches Chunk-Mesh gebacken werden, benötigen Block Entities einen individuellen Renderer (Block Entity Renderer).
Probleme, die dieser Ansatz im Vanilla-Spiel verursacht:
CPU-Auslastung. Der Prozessor ist gezwungen, jede Millisekunde die Koordinaten jedes Bettes in der Nähe abzufragen und separate Zeichenanweisungen an die Grafikkarte zu senden.
Fehlende Occlusion-Culling-Optimierung. Der Vanilla-Entity-Renderer zeichnet Betten auch dann, wenn sie sich hinter Wänden oder unter dem Boden befinden, und verschwendet so Computerressourcen.
Leistungseinbrüche (FPS-Lag). Wenn du ein großes Dorf mit Dutzenden von Dorfbewohnern betrittst oder auf Servern in Modi wie BedWars spielst, in denen viele Betten in Basen aufgestellt sind, kann die Bildrate aufgrund der Überlastung der CPU mit Rendering-Threads plötzlich drastisch sinken.
Optimierung und Mechanik von Better Beds
Die Modifikation Better Beds entfernt den Block Entity Renderer für Betten vollständig und verwandelt sie in standardmäßige 3D-Blöcke.
Wie die Optimierung funktioniert:
Während des Ladens eines Chunks liest das Spiel das Bettmodell als statisches Objekt, ähnlich wie Treppen oder Zäune.
Die Bettgeometrie wird in das allgemeine 3D-Chunk-Mesh kombiniert (gebacken).
Die Grafikkarte zeichnet den gesamten Chunk zusammen mit dem Bett in einem einzigen Durchgang (einem Draw Call), ohne die CPU für Berechnungen pro Frame heranzuziehen.
Wenn das Bett hinter anderen undurchsichtigen Blöcken verborgen ist, stoppen Occlusion-Culling-Algorithmen automatisch das Rendering und sparen GPU-Speicher.
Da die Modifikation ausschließlich clientseitig arbeitet, ändert sie die Spiellogik nicht. Betten behalten alle ihre Funktionen: Du kannst darauf schlafen, deinen Spawnpunkt überschreiben, und Dorfbewohner erkennen sie problemlos als Arbeits- oder Schlafplätze. Die Modifikation muss nicht auf dem Server installiert werden, sodass du sie beim Spielen im Multiplayer frei verwenden kannst.

Historischer Kontext: Warum Betten Entities wurden
Die Entscheidung von Mojang, Betten zu Block Entities zu machen, war in der Vergangenheit ein notwendiger Schritt. Bis einschließlich Version 1.12 verwendete Minecraft ein altes Block-ID-System, das den Metadaten jedes Blocks nur 4 Bits (maximal 16 verschiedene Zustände) zuwies.
Für ein Bett mussten folgende Daten codiert werden:
16 verschiedene Wollfarben.
2 Betteile (Kopf- und Fußteil).
4 Platzierungsrichtungen (Norden, Süden, Osten, Westen).
Dies ergab 128 Zustandskombinationen, die physisch nicht in die Beschränkungen des alten Systems passten. Um nicht Dutzende wertvoller freier Block-IDs zu verschwenden, verwandelten die Entwickler das Bett in eine Tile Entity (den Vorgänger der Block Entity), verschoben die Speicherung von Farben und Ausrichtung in separate Metadaten und lagerten das Zeichnen auf den CPU-basierten Renderer aus.
In Version 1.13 ("The Flattening") haben die Entwickler das ID-System komplett neu geschrieben, sodass Blöcke mit einer unbegrenzten Anzahl von Zuständen erstellt werden konnten. Der Bettcode blieb jedoch unverändert. Better Beds löst im Grunde diese veraltete technische Schuld und bringt Betten in das Standard-Blockformat zurück.
Anpassung und Unterstützung von Ressourcenpaketen
Vanilla-Betten verwenden eine einzige große Textur, die über ein flaches Entity-Modell gespannt ist. Das Ändern der Bettgeometrie (zum Beispiel runde Beine oder das Hinzufügen einer voluminösen Decke) mit normalen Ressourcenpaketen ist im Vanilla-Spiel ohne die Installation schwerer Optimierer wie OptiFine mit seiner Custom Entity Models (CEM)-Funktion nicht möglich.
Better Beds macht Betten offen für jegliche grafische Anpassung. Da das Bett nun ein normaler Block ist, kannst du ein Ressourcenpaket mit einer bed.json-Datei im Ordner models/block/ erstellen oder herunterladen.
Dies ermöglicht Folgendes:
Erstellung vollwertiger 3D-Bettmodelle mit detaillierten Kissen, Decken und Beinen.
Verwendung animierter Texturen oder Hinzufügen von im Dunkeln leuchtenden Elementen (über PBR-Shader).
Hinzufügen voluminöser Details, die über den standardmäßigen rechteckigen Rahmen hinausgehen.
Standardmäßig enthält die Modifikation integrierte JSON-Modelle, die das Vanilla-Erscheinungsbild von Betten exakt kopieren. Ohne die Installation von Ressourcenpaketen von Drittanbietern wirst du keinen optischen Unterschied feststellen, profitierst aber vom Leistungszuwachs.
Kompatibilität und Einschränkungen
Die Modifikation weist eine hohe Kompatibilität mit anderen Grafikoptimierern (Sodium, Embeddium, Iris, Lithium) auf, da sie dieselben Hooks für die Chunk-Rendering-Optimierung verwendet.
Einschränkungen und Konflikte:
Bedspreads. Dieser beliebte Mod, mit dem Banner-Muster auf Betten aufgetragen werden können, ist nicht mit Better Beds kompatibel. Der Grund dafür ist, dass Bedspreads strikt an den Vanilla-Block-Entity-Renderer gebunden ist, um das Banner über dem Bett zu zeichnen.
Mods für benutzerdefinierte Betten. Wenn eine andere Mod neue Betttypen hinzufügt und dafür den Standard-Modell-Renderer verwendet, benötigst du ein separates Ressourcenpaket mit JSON-Modellen für diese neuen Betten. Mods, die Betten über ihre eigenen benutzerdefinierten BER-Renderer registrieren, funktionieren stabil, erhalten aber nicht den FPS-Boost von Better Beds.
Meinung des Autors
Better Beds ist eine effektive technische Lösung zur Optimierung des Minecraft-Clients. Der Ersatz der veralteten Rendering-Methode für Betten durch statische JSON-Modelle eliminiert die CPU-Auslastung pro Frame vollständig, sodass die Grafikkarte Betten als Teil der Landschaft zeichnen kann.
Im Vergleich zu schweren Mods zur Änderung von Entity-Modellen bietet Better Beds eine ressourcenschonende Alternative, die sich ausschließlich auf die Optimierung von Betten und die Erweiterung der Möglichkeiten für Ersteller von Ressourcenpaketen konzentriert. Der Hauptnachteil ist die Inkompatibilität mit Mods, die den Vanilla-Entity-Renderer modifizieren (z. B. Bedspreads), sowie die Notwendigkeit, Modelle für Möbel aus einigen Drittanbieter-Mods manuell hinzuzufügen. Diese Modifikation ist ideal für dich, wenn du auf einem schwachen Computer spielst, häufig große Basen oder Dörfer mit vielen Betten besuchst oder schöne 3D-Möbeltexturen ohne Leistungsverlust installieren möchtest.
Installation
Eine typische Installation dauert etwa 5 Minuten. Der Ablauf ist gleich; nur Loader und der passende Build unterscheiden sich.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











