Lithium : optimisation de la logique de jeu de Minecraft
Sodium s'occupe du rendu, Lithium s'occupe de tout le reste. Ce mod optimise la logique interne de Minecraft (IA des mobs, physique, chargement des chunks, pathfinding, ticks des blocs) sans modifier aucune mécanique de jeu. Vous déposez le fichier .jar dans le dossier mods et le jeu tourne plus fluidement, surtout sur les serveurs et dans les mondes qui comptent beaucoup d'entités.
Ce que Lithium optimise
Lithium cible le côté serveur du jeu : la logique exécutée à chaque tick (20 fois par seconde). Ce ne sont pas des changements graphiques, donc Lithium n'agit pas directement sur les FPS. Il améliore en revanche les TPS (ticks par seconde) et supprime les pics de lag.
IA des mobs et pathfinding
Minecraft vanilla calcule les trajets des mobs avec un algorithme qui explore les blocs alentour. Lithium réécrit ce système pour qu'il soit plus rapide et consomme moins de mémoire. L'effet se remarque surtout dans les mondes qui comptent beaucoup de mobs : fermes, fermes à spawner, villages pleins de villageois.
Physique des entités
Les collisions entre entités (mobs, objets, flèches) exigent de vérifier la position de chaque objet d'un chunk donné. Lithium utilise des structures de données optimisées pour ces calculs, ce qui réduit de plusieurs dizaines de pour cent le temps de vérification des collisions.
Ticks des blocs
Chaque bloc des chunks chargés peut avoir besoin d'une mise à jour à chaque tick : les plantes poussent, l'eau coule, la redstone transmet des signaux. Lithium optimise la file des événements de tick et évite les vérifications inutiles sur les blocs qui n'ont pas besoin d'être mis à jour.
Génération des chunks
Lithium accélère la génération du nouveau terrain en optimisant la génération du bruit et le placement des structures. L'exploration de nouvelles terres est plus fluide.
Formes de collision
Minecraft stocke les formes de collision des blocs (VoxelShapes) d'une manière qui provoque de nombreuses allocations de mémoire. Lithium met ces formes en cache et réduit la pression sur le garbage collector, ce qui diminue les pics de lag.
Comment Lithium fonctionne en coulisses
Lithium ne modifie pas les mécaniques du jeu : tout fonctionne exactement comme dans vanilla. Le mod remplace des algorithmes et des structures de données peu efficaces par des équivalents plus rapides. Quelques exemples :
- Liste des entités d'un chunk : vanilla utilise une
ArrayList, Lithium la remplace par une structure spatiale avec recherche en O(1) - Pathfinding : vanilla recalcule le chemin de zéro à chaque tick, Lithium met les résultats en cache et ne recalcule que lorsque l'environnement change
- Recherche d'états de blocs : vanilla parcourt linéairement la table des états, Lithium les indexe en O(1)
L'essentiel : aucun de ces changements n'affecte le gameplay. Un villageois rejoint toujours son lit, l'eau coule toujours de la même façon, les cultures poussent au même rythme. Lithium change la manière dont le jeu calcule ces choses, pas ce qu'il calcule.
Installation
Lithium est un mod Fabric. L'installer prend littéralement une minute :
- Vérifiez que Fabric Loader est installé (guide)
- Téléchargez Lithium sur Modrinth et choisissez la version correspondant à votre version de Minecraft
- Placez le fichier
lithium-fabric-X.X.X.jardans.minecraft/mods/ - Lancez le jeu avec le profil Fabric
Lithium n'a pas besoin de Fabric API : il fonctionne seul. Il n'y a aucun réglage à faire. Déposez le fichier et oubliez-le.
Lithium existe aussi en version NeoForge, appelée Lithium (NeoForge) ; cherchez-la sur Modrinth.
Gains de performances réels
L'aide apportée par Lithium dépend de ce que vous faites dans le jeu. Quelques scénarios :
| Scénario | Sans Lithium | Avec Lithium | Gain |
|---|---|---|---|
| Monde vide, exploration | 20 TPS | 20 TPS | Minime (moins de pics de lag) |
| Base avec 50+ villageois | 14-17 TPS | 19-20 TPS | Important |
| Ferme à mobs (200+ entités) | 10-15 TPS | 17-20 TPS | Considérable |
| Énorme machine en redstone | 8-12 TPS | 12-16 TPS | Perceptible |
| Serveur avec 20+ joueurs | 12-16 TPS | 18-20 TPS | Décisif |
20 TPS signifie que le jeu tourne à pleine vitesse. En dessous de 16 TPS, le jeu commence à saccader : les mobs se téléportent, la redstone prend du retard, les blocs se cassent avec un délai. Lithium maintient les TPS plus près de 20 dans les situations qui provoqueraient normalement des chutes.
Lithium + Sodium : le duo complet
Lithium et Sodium optimisent des couches différentes du jeu et sont conçus pour fonctionner ensemble :
- Sodium - rendu (GPU) : 2 à 5 fois plus de FPS, un moteur de rendu des chunks réécrit
- Lithium - logique (CPU) : TPS plus élevés, moins de pics de lag, meilleure physique
- Moonrise - chunks : le système de chunks de Paper, compatible avec Lithium et FerriteCore (il remplace Starlight, dont le dépôt a été archivé)
- FerriteCore - mémoire : 40 à 50 % de RAM en moins
- ModernFix - général : corrige les fuites de mémoire, chargement plus rapide
Sodium, Lithium, FerriteCore et ModernFix forment la base absolue de toute installation Fabric, et sur un serveur il vaut la peine d'ajouter Moonrise. Le gain de performances combiné dépasse la somme des mods pris séparément, car ils suppriment des goulots d'étranglement à des niveaux différents.
Lithium sur les serveurs
Lithium est particulièrement précieux sur les serveurs multijoueurs. Un serveur n'affiche pas de graphismes (il n'a donc pas besoin de Sodium), mais il doit calculer la logique du jeu pour tous les joueurs à la fois. Lithium réduit la charge CPU du serveur, ce qui donne des 20 TPS stables même avec plus de 30 joueurs connectés.
Sur un serveur Fabric, installez Lithium comme n'importe quel mod serveur : placez le fichier .jar dans le dossier mods/ du serveur. Les joueurs n'ont pas besoin d'avoir Lithium de leur côté (c'est un mod côté serveur), mais ils peuvent l'installer sur le client pour optimiser le mode solo.
Alternative côté serveur : les serveurs Paper/Purpur (des forks de Spigot) intègrent déjà de nombreuses optimisations de Lithium. Si vous utilisez Paper, le gain de Lithium sera plus faible.
Questions fréquentes
Lithium modifie-t-il les mécaniques de jeu ?
Non. Lithium est conçu pour que le jeu se comporte exactement comme vanilla. Si quelque chose fonctionne différemment avec Lithium, c'est un bug, à signaler sur le GitHub du projet.
Lithium fonctionne-t-il avec OptiFine ?
Lithium n'entre pas en conflit avec OptiFine (via OptiFabric), car il ne modifie pas le moteur de rendu. Mais Sodium + Lithium reste le meilleur choix, car Sodium offre plus de FPS qu'OptiFine.
Lithium nécessite-t-il Fabric API ?
Non. Lithium fonctionne sans Fabric API. Mais si vous avez d'autres mods Fabric, vous aurez probablement besoin de Fabric API de toute façon.
Lithium fonctionne-t-il sur Forge/NeoForge ?
La version officielle de Lithium est destinée à Fabric. Il existe des portages NeoForge (cherchez « Lithium » sur Modrinth avec le filtre NeoForge). Sur l'ancien Forge, l'équivalent est Radium.
Puis-je utiliser Lithium avec Sodium ?
Oui, ils sont conçus pour fonctionner ensemble. Sodium optimise le GPU (rendu), Lithium optimise le CPU (logique). Ensemble, ils donnent les meilleurs résultats.