Better Beds Mod: Optimalizace vykreslování a 3D modely postelí v Minecraftu
Detailní technický přehled klientského optimalizačního módu Better Beds pro Minecraft ke zvýšení FPS.
Detailní technický přehled klientského optimalizačního módu Better Beds pro Minecraft ke zvýšení FPS.
Závislosti:
Zavaděč: Fabric / NeoForge / Quilt
Verze Minecraftu: 1.16 – 1.21.x
Modifikace Better Beds přepisuje mechanismus vykreslování postelí v Minecraftu, přičemž nahrazuje těžký vanilla block entity renderer standardním enginem statických modelů. Ve vanilla hře jsou postele zpracovávány jako Block Entity Renderer (BER), což nutí procesor (CPU) přepočítávat jejich geometrii v každém snímku. Better Beds převádí postele na klasické bloky s JSON modely, díky čemuž se jejich vykreslování plně přesouvá na grafickou kartu (GPU). To přináší výrazné zvýšení snímkové frekvence (FPS) v blízkosti vesnic nebo v lobby her pro více hráčů a umožňuje přizpůsobovat postele prostřednictvím standardních resource packů.
Technické problémy vanilla vykreslování postelí
Ve vanilla Minecraftu se s postelemi, truhlami, cedulemi a prapory zachází jako se speciálními objekty — Block Entities (Entity bloků). Na rozdíl od běžného kamene nebo dřeva, které jsou při načítání zapečeny do statické sítě chunku, entity bloků vyžadují individuální renderer (Block Entity Renderer).
Problémy, které tento přístup ve vanilla hře způsobuje:
Zátěž procesoru. Procesor je nucen každou milisekundu zjišťovat souřadnice každé postele v okolí a odesílat samostatné instrukce k vykreslení grafické kartě.
Chybějící optimalizace okluze (Occlusion Culling). Vanilla entity renderer vykresluje postele, i když jsou za zdmi nebo pod podlahou, a zbytečně tak plýtvá prostředky tvého počítače.
Poklesy výkonu (FPS lag). Pokud vstoupíš do velké vesnice s desítkami vesničanů nebo hraješ na serverech v režimech jako BedWars, kde je na základnách umístěno mnoho postelí, snímková frekvence může v důsledku přetížení procesoru vlákny vykreslování náhle výrazně klesnout.
Optimalizace a mechanika módu Better Beds
Mód Better Beds zcela odstraňuje Block Entity Renderer pro postele a mění je na standardní 3D bloky.
Jak optimalizace funguje:
Během načítání chunku hra čte model postele jako statický objekt, podobně jako schody nebo ploty.
Geometrie postele je zkombinována (zapečena) do obecné 3D sítě chunku (Chunk Mesh).
Grafická karta vykreslí celý chunk spolu s postelí v jednom průchodu (jeden Draw Call), aniž by do výpočtů jednotlivých snímků vůbec zapojovala centrální procesor.
Pokud je postel skryta za jinými neprůhlednými bloky, algoritmy odstraňování skrytých ploch (Occlusion Culling) automaticky zastaví její vykreslování, čímž šetří paměť grafické karty.
Protože modifikace funguje výhradně na straně klienta, nemění herní logiku. Postelím zůstávají všechny jejich funkce: můžeš v nich spát, přepsat si bod respawnu a vesničané je bez problémů rozpoznají jako pracovní nebo spací místa. Mód není nutné instalovat na server, takže jej můžeš volně používat při hraní v multiplayeru.

Historický kontext: proč se z postelí staly entity
Rozhodnutí Mojangu učinit z postelí entity bloků bylo v minulosti nezbytným krokem. Až do verze 1.12 včetně Minecraft používal starý systém ID bloků, který přiděloval metadatům každého bloku pouze 4 bity (maximálně 16 různých stavů).
Pro postel bylo nutné zakódovat:
16 různých barev vlny.
2 části postele (pelest a nohy).
4 směry umístění (sever, jih, východ, západ).
To dalo 128 kombinací stavů, které se fyzicky nevešly do omezení starého systému. Aby vývojáři neplýtvali desítkami cenných volných ID bloků, přeměnili postel na Tile Entity (předchůdce Block Entity), přičemž ukládání barev a směru přesunuli do samostatných metadat a samotné vykreslování na renderer založený na procesoru.
Ve verzi 1.13 ("The Flattening") vývojáři zcela přepsali systém ID, což umožnilo vytvářet bloky s neomezeným počtem stavů. Kód postelí však zůstal nezměněn. Better Beds v podstatě řeší tento zastaralý technický dluh tím, že vrací postele do standardního formátu bloku.
Přizpůsobení a podpora resource packů
Vanilla postele používají jedinou velkou texturu nataženou na plochý model entity. Změnit geometrii postele (například zaoblit nohy nebo přidat objemnou deku) pomocí běžných resource packů je ve vanilla hře nemožné bez instalace těžkých optimalizátorů, jako je OptiFine, s jeho funkcí Custom Entity Models (CEM).
Díky Better Beds jsou postele otevřené jakýmkoli grafickým úpravám. Protože postel je nyní normální blok, můžeš si vytvořit nebo stáhnout resource pack se souborem bed.json ve složce models/block/.
To ti umožní:
Vytvářet plnohodnotné 3D modely postelí s detailními polštáři, dekami a nohami.
Používat animované textury nebo přidávat prvky svítící ve tmě (prostřednictvím PBR shaderů).
Přidávat volumetrické detaily přesahující standardní obdélníkový rám.
Ve výchozím nastavení obsahuje modifikace vestavěné JSON modely, které přesně kopírují vanilla vzhled postelí, takže bez instalace resource packů třetích stran vizuální rozdíl nezaznamenáš, ale získáš zvýšení výkonu.
Kompatibilita a omezení
Modifikace má vysokou úroveň kompatibility s ostatními grafickými optimalizátory (Sodium, Embeddium, Iris, Lithium), protože používá stejné hooky pro optimalizaci vykreslování chunků.
Omezení a konflikty:
Bedspreads. Tento oblíbený mód, který umožňuje aplikovat vzory praporů na postele, je s Better Beds nekompatibilní. Důvodem je to, že Bedspreads je pro vykreslení praporu přes postel striktně vázán na vanilla Block Entity Renderer.
Módy na vlastní postele. Pokud jiný mód přidává nové typy postelí a používá k tomu standardní renderer modelů, budeš potřebovat samostatný resource pack s JSON modely pro tyto nové postele. Módy, které registrují postele prostřednictvím svých vlastních uživatelských BER rendererů, budou fungovat stabilně, ale nezískají zvýšení FPS od Better Beds.
Názor autora
Better Beds je efektivní technické řešení pro optimalizaci klientské části Minecraftu. Nahrazení zastaralé metody vykreslování postelí statickými JSON modely zcela eliminuje zátěž procesoru v jednotlivých snímcích, což umožňuje grafické kartě vykreslovat postele jako součást krajiny.
Ve srovnání s těžkými módy měnícími modely entit nabízí Better Beds odlehčenou alternativu, která se zaměřuje výhradně na optimalizaci postelí a rozšíření možností pro tvůrce resource packů. Hlavní nevýhodou je nekompatibilita s módy, které modifikují vanilla entity renderer (jako je Bedspreads), a také nutnost ručně přidávat modely nábytku z některých módů třetích stran. Modifikace je pro tebe ideální, pokud hraješ na slabém počítači, často navštěvuješ velké základny nebo vesnice se spoustou postelí, nebo si chceš nainstalovat krásné 3D textury nábytku bez ztráty výkonu.
Instalace
Typická instalace trvá asi 5 minut. Postup je stejný; liší se jen loader a odpovídající verze.
- 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.











