Better Beds Mod: Ottimizzazione del rendering e modelli di letti 3D in Minecraft
Revisione tecnica dettagliata della mod di ottimizzazione client Better Beds per Minecraft per aumentare gli FPS.
Revisione tecnica dettagliata della mod di ottimizzazione client Better Beds per Minecraft per aumentare gli FPS.
Dipendenze:
Loader: Fabric / NeoForge / Quilt
Versione di Minecraft: 1.16 – 1.21.x
La mod Better Beds riscrive il meccanismo di rendering dei letti in Minecraft, sostituendo il pesante renderer delle entità blocco vanilla con il motore standard dei modelli statici. Nel gioco base, i letti vengono elaborati come Block Entity Renderer (BER), costringendo il processore (CPU) a ricalcolare la loro geometria ad ogni frame. Better Beds converte i letti in blocchi classici con modelli JSON, spostando così interamente il loro rendering sulla scheda video (GPU). Questo fornisce un notevole aumento del framerate (FPS) vicino ai villaggi o nelle lobby multiplayer e permette di personalizzare i letti tramite resource pack standard.
Problemi tecnici del rendering vanilla dei letti
Nel Minecraft vanilla, i letti, le casse, i cartelli e gli stendardi sono gestiti come oggetti speciali — Entità Blocco (Block Entities). A differenza della pietra o del legno normale, che vengono cotti nella mesh statica del chunk durante il suo caricamento, le entità blocco richiedono un renderer dedicato (Block Entity Renderer).
Problemi causati da questo approccio nel gioco vanilla:
Sovraccarico della CPU. Il processore è costretto ogni millisecondo a interrogare le coordinate di ogni letto nelle vicinanze e a inviare istruzioni di disegno separate alla scheda grafica.
Mancanza di ottimizzazione dell'occlusione. Il renderer delle entità vanilla disegna i letti anche quando si trovano dietro i muri o sotto il pavimento, sprecando le risorse del tuo computer.
Calo di prestazioni (Lag degli FPS). Se entri in un grande villaggio con decine di abitanti o giochi nei server in modalità come BedWars, dove nelle basi sono posizionati molti letti, il framerate può scendere drasticamente a causa del sovraccarico della CPU causato dai thread di rendering.
Ottimizzazione e meccaniche di Better Beds
La mod Better Beds rimuove completamente il Block Entity Renderer per i letti, trasformandoli in blocchi 3D standard.
Come funziona l'ottimizzazione:
Durante il caricamento del chunk, il gioco legge il modello del letto come un oggetto statico, simile a scale o staccionate.
La geometria del letto viene combinata (cotta) nella mesh 3D generale del chunk (Chunk Mesh).
La scheda grafica disegna l'intero chunk insieme al letto in un singolo passaggio (un singolo Draw Call), senza coinvolgere affatto il processore centrale per i calcoli frame per frame.
Se il letto è nascosto dietro altri blocchi opachi, gli algoritmi di scarto per occlusione (Occlusion Culling) interrompono automaticamente il suo rendering, risparmiando memoria della GPU.
Poiché la modifica funziona esclusivamente lato client, non altera la logica del gioco. I letti mantengono tutte le loro funzioni: puoi dormirci sopra, sovrascrivere il tuo punto di rinascita, e gli abitanti del villaggio li riconoscono senza problemi come postazioni di lavoro o punti di riposo. La mod non richiede l'installazione sul server, quindi puoi usarla liberamente mentre giochi in multiplayer.

Contesto storico: perché i letti sono diventati entità
La decisione di Mojang di rendere i letti entità blocco è stato un passo obbligato in passato. Fino alla versione 1.12 inclusa, Minecraft utilizzava un vecchio sistema di ID dei blocchi che allocava solo 4 bit per i metadati di ogni blocco (un massimo di 16 stati diversi).
Per un letto era necessario codificare:
16 diversi colori di lana.
2 parti del letto (testiera e pediera).
4 direzioni di posizionamento (nord, sud, est, ovest).
Questo produceva 128 combinazioni di stati, che fisicamente non rientravano nei limiti del vecchio sistema. Per non sprecare decine di preziosi ID blocco liberi, gli sviluppatori hanno trasformato il letto in una Tile Entity (l'antenato della Block Entity), spostando il salvataggio dei colori e della direzione in metadati separati e il rendering su un renderer basato su CPU.
Nella versione 1.13 ("The Flattening"), gli sviluppatori hanno riscritto completamente il sistema degli ID, permettendo di creare blocchi con un numero illimitato di stati. Tuttavia, il codice dei letti è rimasto invariato. Better Beds di fatto risolve questo debito tecnico obsoleto, riportando i letti al formato di blocco standard.
Personalizzazione e supporto per i Resource Pack
I letti vanilla utilizzano un'unica grande texture adattata a un modello di entità piatto. Modificare la geometria del letto (ad esempio, arrotondare le gambe o aggiungere una coperta voluminosa) utilizzando normali resource pack nel gioco base è impossibile senza installare pesanti ottimizzatori come OptiFine con la sua funzione Custom Entity Models (CEM).
Better Beds apre i letti a qualsiasi personalizzazione grafica. Essendo il letto ora un blocco normale, puoi creare o scaricare un resource pack con un file bed.json nella cartella models/block/.
Questo ti permette di:
Creare modelli di letti completamente in 3D con cuscini, coperte e gambe dettagliate.
Usare texture animate o aggiungere elementi che si illuminano al buio (tramite shader PBR).
Aggiungere dettagli volumetrici che vanno oltre la cornice rettangolare standard.
Per impostazione predefinita, la mod include modelli JSON integrati che copiano esattamente l'aspetto dei letti vanilla, quindi senza installare resource pack di terze parti non noterai differenze visive, ma otterrai un incremento delle prestazioni.
Compatibilità e limitazioni
La mod ha un alto livello di compatibilità con altri ottimizzatori grafici (Sodium, Embeddium, Iris, Lithium), poiché utilizza gli stessi hook per l'ottimizzazione del rendering dei chunk.
Limitazioni e conflitti:
Bedspreads. Questa popolare mod, che permette di applicare i motivi degli stendardi sui letti, è incompatibile con Better Beds. Il motivo è che Bedspreads è strettamente legato al Block Entity Renderer vanilla per disegnare lo stendardo sopra il letto.
Mod per letti personalizzati. Se un'altra mod aggiunge nuovi tipi di letti e usa il renderer di modelli standard per questo, avrai bisogno di un resource pack separato con modelli JSON per quei nuovi letti. Le mod che registrano letti tramite propri renderer BER personalizzati funzioneranno stabilmente, ma non otterranno il boost di FPS da Better Beds.
L'opinione dell'autore
Better Beds è un'efficace soluzione tecnica per l'ottimizzazione del client di Minecraft. Sostituire il metodo di rendering obsoleto per i letti con modelli statici JSON elimina completamente il carico sulla CPU frame per frame, consentendo alla scheda grafica di disegnare i letti come parte del paesaggio.
Rispetto alle pesanti mod per il cambio di modelli di entità, Better Beds offre un'alternativa leggera che si concentra esclusivamente sull'ottimizzazione dei letti e sull'espansione delle possibilità per i creatori di resource pack. Lo svantaggio principale è la sua incompatibilità con le mod che modificano il renderer delle entità vanilla (come Bedspreads), così come la necessità di aggiungere manualmente modelli per i mobili da alcune mod di terze parti. Questa mod è perfetta per te se giochi su un computer poco potente, visiti frequentemente grandi basi o villaggi con molti letti, o se vuoi installare bellissime texture 3D per i mobili senza perdere prestazioni.
Installazione
Un'installazione tipica richiede circa 5 minuti. Il procedimento è lo stesso; cambiano solo il loader e la build corrispondente.
- 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.











