Better Beds Mod: Renderingsoptimering och 3D-sängmodeller i Minecraft
Detaljerad teknisk granskning av klientoptimeringsmodden Better Beds för Minecraft för att öka FPS.
Detaljerad teknisk granskning av klientoptimeringsmodden Better Beds för Minecraft för att öka FPS.
Beroenden:
Laddare: Fabric / NeoForge / Quilt
Minecraft-version: 1.16 – 1.21.x
Modifikationen Better Beds skriver om sängrenderingsmekanismen i Minecraft och ersätter den tunga vanilla block entity renderern med standardmotorn för statiska modeller. I vanilla-spelet bearbetas sängar som en Block Entity Renderer (BER), vilket tvingar processorn (CPU) att räkna om deras geometri i varje bildruta. Better Beds omvandlar sängar till klassiska block med JSON-modeller, varigenom deras rendering helt överförs till grafikkortet (GPU). Detta ger en betydande ökning av bildhastigheten (FPS) nära byar eller i flerspelarlobbyer och gör att sängar kan anpassas via standardresurspaket.
Tekniska problem med vanilla sängrendering
I vanilla Minecraft hanteras sängar, kistor, skyltar och banderoller som specialobjekt — Block Entities. Till skillnad från vanlig sten eller trä, som bakas in i den statiska chunk-meshen när den laddas, kräver blockentiteter en individuell renderer (Block Entity Renderer).
Problem som detta tillvägagångssätt orsakar i vanilla-spelet:
CPU-överbelastning. Processorn tvingas varje millisekund att fråga efter koordinaterna för varje säng i närheten och skicka separata ritinstruktioner till grafikkortet.
Brist på Occlusion Culling-optimering. Vanilla entity renderer ritar sängar även när de befinner sig bakom väggar eller under golvet, vilket slösar bort din dators resurser.
Prestandafall (FPS-lagg). Om du går in i en stor by med dussintals bybor eller spelar på servrar i lägen som BedWars där många sängar är placerade i baser, kan bildhastigheten plötsligt sjunka drastiskt på grund av CPU-överbelastning från renderingstrådar.
Optimering och mekanik i Better Beds
Better Beds-modden tar helt bort Block Entity Renderer för sängar och gör om dem till standard 3D-block.
Hur optimeringen fungerar:
Vid laddning av en chunk läser spelet sängmodellen som ett statiskt objekt, i likhet med trappor eller staket.
Sänggeometrin kombineras (bakas) i den allmänna 3D chunk-meshen (Chunk Mesh).
Grafikkortet ritar hela chunken tillsammans med sängen i en enda genomgång (en Draw Call), utan att centralprocessorn involveras alls för bild-för-bild-beräkningar.
Om sängen är dold bakom andra ogenomskinliga block kommer occlusion culling-algoritmer automatiskt att stoppa dess rendering, vilket sparar GPU-minne.
Eftersom modifikationen uteslutande fungerar på klientsidan förändrar den inte spellogiken. Sängar behåller alla sina funktioner: du kan sova i dem, återställa din spawn-punkt, och bybor känner utan problem igen dem som arbets- eller sovplatser. Modden kräver ingen installation på servern, så du kan fritt använda den när du spelar flerspelarläge.

Historisk kontext: varför sängar blev entiteter
Mojangs beslut att göra sängar till blockentiteter var ett nödvändigt steg förr i tiden. Fram till och med version 1.12 använde Minecraft ett gammalt block-ID-system som bara tilldelade 4 bitar till varje blocks metadata (högst 16 olika tillstånd).
För en säng var man tvungen att koda:
16 olika ullfärger.
2 sängdelar (huvud- och fotända).
4 placeringsriktningar (norr, söder, öster, väster).
Detta gav 128 tillståndskombinationer, vilket fysiskt inte rymdes inom det gamla systemets begränsningar. För att inte slösa bort dussintals dyrbara lediga block-ID:n transformerade utvecklarna sängen till en Tile Entity (föregångaren till Block Entity) och flyttade lagringen av färger och riktning till separata metadata, medan ritningen flyttades till den CPU-baserade renderern.
I version 1.13 ("The Flattening") skrev utvecklarna om ID-systemet helt, vilket gjorde det möjligt att skapa block med ett obegränsat antal tillstånd. Sängkoden förblev dock oförändrad. Better Beds löser faktiskt denna föråldrade tekniska skuld genom att föra tillbaka sängar till det vanliga blockformatet.
Anpassning och stöd för resurspaket
Vanilla-sängar använder en enda stor textur sträckt över en platt entitetsmodell. Att ändra sänggeometrin (till exempel göra benen runda eller lägga till en voluminös filt) med hjälp av vanliga resurspaket i vanilla-spelet är omöjligt utan att installera tunga optimerare som OptiFine med dess Custom Entity Models (CEM)-funktion.
Better Beds gör sängar öppna för all grafisk anpassning. Eftersom sängen nu är ett normalt block kan du skapa eller ladda ner ett resurspaket med en bed.json-fil i mappen models/block/.
Detta gör att du kan:
Skapa fulla 3D-sängmodeller med detaljerade kuddar, filtar och ben.
Använda animerade texturer eller lägga till element som lyser i mörkret (via PBR-shaders).
Lägga till volymetriska detaljer som går utanför den standardmässiga rektangulära ramen.
Som standard innehåller modifikationen inbyggda JSON-modeller som exakt kopierar vanilla-utseendet på sängar, så utan att installera tredjepartsresurspaket kommer du inte att märka någon visuell skillnad, men du får en prestandaökning.
Kompatibilitet och begränsningar
Modifikationen har en hög nivå av kompatibilitet med andra grafikoptimerare (Sodium, Embeddium, Iris, Lithium), eftersom den använder samma hooks för chunk-renderingsoptimering.
Begränsningar och konflikter:
Bedspreads. Denna populära mod, som låter dig applicera bannermönster på sängar, är inkompatibel med Better Beds. Anledningen är att Bedspreads är strikt bundet till vanilla Block Entity Renderer för att rita bannern över sängen.
Moddar för anpassade sängar. Om en annan mod lägger till nya sängtyper och använder standardmodellrenderaren för detta, behöver du ett separat resurspaket med JSON-modeller för dessa nya sängar. Moddar som registrerar sängar via egna anpassade BER-renderare kommer att fungera stabilt, men får inte FPS-ökningen från Better Beds.
Författarens åsikt
Better Beds är en effektiv teknisk lösning för optimering av klientsidan av Minecraft. Att ersätta den föråldrade renderingsmetoden för sängar med statiska JSON-modeller eliminerar helt CPU-belastningen per bildruta, vilket gör att grafikkortet kan rita sängar som en del av landskapet.
Jämfört med tunga moddar för att ändra entitetsmodeller, erbjuder Better Beds ett lätt alternativ som uteslutande fokuserar på att optimera sängar och utöka möjligheterna för skapare av resurspaket. Den största nackdelen är inkompatibiliteten med moddar som modifierar vanilla entity renderer (som Bedspreads), samt behovet av att manuellt lägga till modeller för möbler från vissa tredjepartsmoddar. Modifikationen är perfekt för dig om du spelar på en svag dator, ofta besöker stora baser eller byar med många sängar, eller vill installera vackra 3D-möbeltexturer utan att förlora prestanda.
Installation
En typisk installation tar ungefär 5 minuter. Flödet är detsamma; bara Loader och den matchande builden skiljer sig.
- 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.











