Better Beds Mod: Weergave-optimalisatie en 3D-bedmodellen in Minecraft
Gedetailleerd technisch overzicht van de Better Beds client optimalisatie mod voor Minecraft om de FPS te verhogen.
Gedetailleerd technisch overzicht van de Better Beds client optimalisatie mod voor Minecraft om de FPS te verhogen.
Vereisten:
Loader: Fabric / NeoForge / Quilt
Minecraft Versie: 1.16 – 1.21.x
De Better Beds modificatie herschrijft het weergavemechanisme van bedden in Minecraft, door de zware vanilla block entity renderer te vervangen door de standaard engine voor statische modellen. In de vanilla game worden bedden verwerkt als een Block Entity Renderer (BER), wat de processor (CPU) dwingt om hun geometrie elke frame opnieuw te berekenen. Better Beds converteert bedden naar klassieke blokken met JSON-modellen, waardoor hun weergave volledig naar de videokaart (GPU) wordt verplaatst. Dit zorgt voor een aanzienlijke toename van de framerate (FPS) in de buurt van dorpen of in multiplayer-lobby's en stelt je in staat om bedden aan te passen via standaard resource packs.
Technische problemen van vanilla bed weergave
In vanilla Minecraft worden bedden, kisten, borden en banieren behandeld als speciale objecten — Block Entities. In tegenstelling tot gewoon steen of hout, die tijdens het laden in de statische chunk-mesh worden gebakken, vereisen block entities een individuele renderer (Block Entity Renderer).
Problemen die deze aanpak in de vanilla game veroorzaakt:
CPU Overbelasting. De processor wordt elke milliseconde gedwongen om de coördinaten van elk bed in de buurt op te vragen en aparte tekeninstructies naar de grafische kaart te sturen.
Gebrek aan Occlusion Culling optimalisatie. De vanilla entity renderer tekent bedden zelfs als ze zich achter muren of onder de vloer bevinden, wat de bronnen van je computer verspilt.
Prestatiedalingen (FPS-lag). Als je een groot dorp met tientallen dorpelingen betreedt of op servers speelt in modi zoals BedWars waar veel bedden in bases zijn geplaatst, kan de framerate plotseling aanzienlijk dalen door de overbelasting van de CPU door rendering threads.
Optimalisatie en mechanica van Better Beds
De Better Beds mod verwijdert de Block Entity Renderer voor bedden volledig, waardoor ze in standaard 3D-blokken veranderen.
Hoe de optimalisatie werkt:
Tijdens het laden van een chunk leest het spel het bedmodel als een statisch object, vergelijkbaar met trappen of hekken.
De geometrie van het bed wordt gecombineerd (gebakken) in de algemene 3D chunk-mesh (Chunk Mesh).
De videokaart tekent de hele chunk samen met het bed in één doorgang (één Draw Call), zonder de centrale processor in te schakelen voor berekeningen per frame.
Als het bed verborgen is achter andere ondoorzichtige blokken, stoppen occlusion culling algoritmen automatisch de weergave ervan, wat GPU-geheugen bespaart.
Omdat de modificatie uitsluitend aan de clientzijde werkt, verandert de spelmechanica niet. Bedden behouden al hun functies: je kunt erop slapen, je spawnpunt resetten, en dorpelingen herkennen ze probleemloos als werk- of slaapplaatsen. De mod hoeft niet op de server te worden geïnstalleerd, dus je kunt deze vrij gebruiken tijdens het spelen in multiplayer.

Historische context: waarom bedden entiteiten werden
De beslissing van Mojang om van bedden block entities te maken was in het verleden een noodzakelijke stap. Tot en met versie 1.12 gebruikte Minecraft een oud block ID-systeem dat slechts 4 bits toewees voor de metadata van elk blok (maximaal 16 verschillende staten).
Voor een bed moest men het volgende coderen:
16 verschillende wolkleuren.
2 beddelen (hoofd- en voeteneind).
4 plaatsingsrichtingen (noord, zuid, oost, west).
Dit resulteerde in 128 staatscombinaties, die fysiek niet pasten binnen de beperkingen van het oude systeem. Om geen tientallen kostbare vrije block-ID's te verspillen, transformeerden de ontwikkelaars het bed in een Tile Entity (de voorloper van de Block Entity), waarbij de opslag van kleuren en richting naar aparte metadata werd verplaatst, en het tekenen naar de CPU-gebaseerde renderer.
In versie 1.13 ("The Flattening") hebben de ontwikkelaars het ID-systeem volledig herschreven, waardoor blokken met een onbeperkt aantal staten kunnen worden gemaakt. De code van de bedden bleef echter ongewijzigd. Better Beds lost eigenlijk deze verouderde technische schuld op door bedden terug te brengen naar het standaard blockformaat.
Aanpassing en ondersteuning voor resource packs
Vanilla bedden gebruiken een enkele grote textuur die over een plat entiteitsmodel is gespannen. Het wijzigen van de geometrie van het bed (bijvoorbeeld om de poten rond te maken of een volumineuze deken toe te voegen) met normale resource packs is onmogelijk in de vanilla game zonder de installatie van zware optimizers zoals OptiFine met de functie Custom Entity Models (CEM).
Better Beds maakt bedden open voor elke grafische aanpassing. Omdat het bed nu een normaal blok is, kun je een resource pack maken of downloaden met een bed.json bestand in de map models/block/.
Dit stelt je in staat om:
Volledig 3D-bedmodellen te maken met gedetailleerde kussens, dekens en poten.
Geanimeerde texturen te gebruiken of glow-in-the-dark elementen toe te voegen (via PBR-shaders).
Volumetrische details toe te voegen die verder reiken dan het standaard rechthoekige frame.
Standaard bevat de modificatie ingebouwde JSON-modellen die het vanilla-uiterlijk van bedden exact kopiëren. Zonder het installeren van externe resource packs zul je geen visueel verschil merken, maar je krijgt wel een prestatieboost.
Compatibiliteit en beperkingen
De modificatie heeft een hoge compatibiliteit met andere grafische optimizers (Sodium, Embeddium, Iris, Lithium), omdat deze dezelfde hooks gebruikt voor optimalisatie van chunk-rendering.
Beperkingen en conflicten:
Bedspreads. Deze populaire mod, waarmee je banierpatronen op bedden kunt aanbrengen, is niet compatibel met Better Beds. De reden is dat Bedspreads strikt gebonden is aan de vanilla Block Entity Renderer om de banier over het bed te tekenen.
Mods voor aangepaste bedden. Als een andere mod nieuwe bedtypes toevoegt en hiervoor de standaard model renderer gebruikt, heb je een apart resource pack nodig met JSON-modellen voor deze nieuwe bedden. Mods die bedden registreren via hun eigen aangepaste BER-renderers zullen stabiel werken, maar zullen niet de FPS-boost van Better Beds krijgen.
Mening van de auteur
Better Beds is een effectieve technische oplossing voor het optimaliseren van de clientzijde van Minecraft. Het vervangen van de verouderde weergavemethode voor bedden door statische JSON-modellen elimineert de CPU-belasting per frame volledig, waardoor de grafische kaart bedden als onderdeel van het landschap kan tekenen.
In vergelijking met zware mods voor het veranderen van entiteitsmodellen biedt Better Beds een lichtgewicht alternatief dat uitsluitend is gericht op het optimaliseren van bedden en het uitbreiden van de mogelijkheden voor makers van resource packs. Het grootste nadeel is de incompatibiliteit met mods die de vanilla entity renderer wijzigen (zoals Bedspreads), en de noodzaak om handmatig modellen toe te voegen voor meubels van sommige mods van derden. De modificatie is perfect voor jou als je op een zwakke computer speelt, vaak grote bases of dorpen met veel bedden bezoekt, of als je mooie 3D-meubeltexturen wilt installeren zonder prestatieverlies.
Installatie
Een typische installatie duurt ongeveer 5 minuten. De stappen zijn gelijk; alleen de loader en de bijbehorende build verschillen.
- 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.











