Better Beds Mod : Optimisation du rendu et modèles de lits 3D dans Minecraft
Examen technique détaillé du mod d'optimisation client Better Beds pour Minecraft afin d'augmenter les FPS.
Examen technique détaillé du mod d'optimisation client Better Beds pour Minecraft afin d'augmenter les FPS.
Dépendances :
Chargeur : Fabric / NeoForge / Quilt
Version de Minecraft : 1.16 – 1.21.x
Le mod Better Beds réécrit le mécanisme de rendu des lits dans Minecraft, en remplaçant le lourd moteur de rendu des entités de blocs vanilla par le moteur standard de modèles statiques. Dans le jeu vanilla, les lits sont traités par un Block Entity Renderer (BER), ce qui oblige le processeur (CPU) à recalculer leur géométrie à chaque image. Better Beds convertit les lits en blocs classiques avec des modèles JSON, déplaçant ainsi entièrement leur rendu vers la carte graphique (GPU). Cela offre une augmentation significative de la fréquence d'images (FPS) près des villages ou dans les lobbys multijoueurs et permet de personnaliser les lits via des packs de ressources standards.
Problèmes techniques du rendu des lits vanilla
Dans Minecraft vanilla, les lits, les coffres, les panneaux et les bannières sont gérés comme des objets spéciaux — des Block Entities (entités de blocs). Contrairement à la pierre ou au bois ordinaire, qui sont fusionnés dans le maillage statique du chunk lors de son chargement, les entités de blocs nécessitent un moteur de rendu dédié (Block Entity Renderer).
Problèmes causés par cette approche dans le jeu vanilla :
Surcharge du CPU. Le processeur est obligé, à chaque milliseconde, de requêter les coordonnées de chaque lit à proximité et d'envoyer des instructions de dessin séparées à la carte graphique.
Absence d'optimisation de l'occlusion. Le moteur de rendu des entités vanilla dessine les lits même lorsqu'ils se trouvent derrière des murs ou sous le sol, gaspillant les ressources de votre ordinateur.
Baisse de performances (Lag FPS). Si vous entrez dans un grand village avec des dizaines de villageois ou si vous jouez sur des serveurs dans des modes comme BedWars où de nombreux lits sont installés dans les bases, la fréquence d'images peut chuter de manière significative en raison de la surcharge du CPU par les threads de rendu.
Optimisation et mécanismes de Better Beds
Le mod Better Beds supprime complètement le Block Entity Renderer pour les lits, les transformant en blocs 3D standards.
Comment fonctionne l'optimisation :
Pendant le chargement du chunk, le jeu lit le modèle du lit comme un objet statique, de la même manière que des escaliers ou des barrières.
La géométrie du lit est combinée (précalculée) dans le maillage 3D général du chunk (Chunk Mesh).
La carte graphique dessine l'ensemble du chunk avec le lit en un seul passage (un seul Draw Call), sans solliciter le processeur pour des calculs par image.
Si le lit est caché derrière d'autres blocs opaques, les algorithmes de suppression de l'occlusion (Occlusion Culling) arrêtent automatiquement son rendu, économisant ainsi la mémoire du GPU.
Puisque la modification fonctionne exclusivement côté client, elle ne change pas la logique du jeu. Les lits conservent toutes leurs fonctions : vous pouvez dormir dedans, réinitialiser votre point d'apparition, et les villageois les reconnaissent sans problème comme des lieux de travail ou de sommeil. Le mod n'a pas besoin d'être installé sur le serveur, vous pouvez donc l'utiliser librement en multijoueur.

Contexte historique : pourquoi les lits sont-ils devenus des entités ?
La décision de Mojang de transformer les lits en entités de blocs était une étape nécessaire par le passé. Jusqu'à la version 1.12 incluse, Minecraft utilisait un ancien système d'identifiants de blocs qui n'allouait que 4 bits aux métadonnées de chaque bloc (soit un maximum de 16 états différents).
Pour un lit, il fallait coder :
16 couleurs de laine différentes.
2 parties de lit (tête et pied).
4 directions de placement (nord, sud, est, ouest).
Cela donnait 128 combinaisons d'états, ce qui ne rentrait physiquement pas dans les limites de l'ancien système. Pour éviter de gaspiller des dizaines de précieux identifiants de blocs libres, les développeurs ont transformé le lit en un Tile Entity (l'ancêtre du Block Entity), déplaçant la sauvegarde des couleurs et de la direction dans des métadonnées séparées, et le rendu vers un moteur basé sur le CPU.
Dans la version 1.13 ("The Flattening"), les développeurs ont entièrement réécrit le système d'identifiants, permettant la création de blocs avec un nombre illimité d'états. Cependant, le code des lits est resté inchangé. Better Beds résout en fait cette dette technique obsolète, en ramenant les lits au format de bloc standard.
Personnalisation et support des packs de ressources
Les lits vanilla utilisent une seule grande texture étirée sur un modèle d'entité plat. Modifier la géométrie du lit (par exemple, rendre les pieds ronds ou ajouter une couverture volumineuse) à l'aide de packs de ressources habituels dans le jeu vanilla est impossible sans installer des optimiseurs lourds comme OptiFine avec sa fonction de modèles d'entités personnalisés (CEM).
Better Beds rend les lits ouverts à toute personnalisation graphique. Le lit étant désormais un bloc normal, vous pouvez créer ou télécharger un pack de ressources avec un fichier bed.json dans le dossier models/block/.
Cela vous permet de :
Créer des modèles de lits entièrement en 3D avec des oreillers, des couvertures et des pieds détaillés.
Utiliser des textures animées ou ajouter des éléments phosphorescents (via des shaders PBR).
Ajouter des détails volumétriques qui dépassent le cadre rectangulaire standard.
Par défaut, le mod inclut des modèles JSON intégrés qui reproduisent fidèlement l'apparence des lits vanilla, donc sans installer de packs de ressources tiers, vous ne remarquerez aucune différence visuelle, mais vous bénéficierez d'un gain de performances.
Compatibilité et limitations
Le mod a un niveau élevé de compatibilité avec d'autres optimiseurs graphiques (Sodium, Embeddium, Iris, Lithium), car il utilise les mêmes hooks pour l'optimisation du rendu des chunks.
Limitations et conflits :
Bedspreads. Ce mod populaire, qui permet d'appliquer des motifs de bannières sur les lits, est incompatible avec Better Beds. La raison est que Bedspreads est strictement lié au Block Entity Renderer vanilla pour dessiner la bannière au-dessus du lit.
Mods de lits personnalisés. Si un autre mod ajoute de nouveaux types de lits et utilise le moteur de rendu de modèles standard pour cela, vous aurez besoin d'un pack de ressources séparé avec des modèles JSON pour ces nouveaux lits. Les mods qui enregistrent des lits via leurs propres moteurs de rendu BER personnalisés fonctionneront de manière stable, mais ne bénéficieront pas de l'augmentation des FPS de Better Beds.
Avis de l'auteur
Better Beds est une solution technique efficace pour optimiser la partie cliente de Minecraft. Le remplacement de la méthode de rendu obsolète des lits par des modèles JSON statiques élimine complètement la charge sur le processeur à chaque image, permettant à la carte graphique de dessiner les lits comme une partie du paysage.
Comparé aux mods lourds modifiant les modèles d'entités, Better Beds offre une alternative légère qui se concentre exclusivement sur l'optimisation des lits et l'élargissement des possibilités pour les créateurs de packs de ressources. Le principal inconvénient est son incompatibilité avec les mods qui modifient le moteur de rendu des entités vanilla (comme Bedspreads), ainsi que la nécessité d'ajouter manuellement des modèles pour les meubles de certains mods tiers. Cette modification est parfaite pour vous si vous jouez sur un ordinateur peu puissant, visitez souvent de grandes bases ou des villages avec de nombreux lits, ou si vous souhaitez installer de belles textures de meubles 3D sans perte de performances.
Installation
Une installation classique prend environ 5 minutes. Le déroulé est le même ; seuls le loader et le build correspondant changent.
- 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.











