Lithium — mod do optymalizacji logiki gry w Minecraft
Lithium to mod optymalizujący Minecrafta, który przyspiesza logikę gry: AI mobów, ticki bloków, kolizje jednostek — bez zmiany mechanik…
Lithium to mod optymalizujący Minecrafta, który przyspiesza logikę gry: AI mobów, ticki bloków, kolizje jednostek — bez zmiany mechanik vanilla.
Lithium — mod do optymalizacji logiki gry w Minecraft
Wersja Minecraft, na której przetestowano i napisano artykuł: 26.2
Zakres obsługiwanych wersji: 1.16.2 – 26.2
Lithium to mod optymalizujący dla Minecrafta, który przyspiesza wewnętrzną logikę gry: obliczenia mobów, bloków i jednostek. Każdy tick gry serwer przelicza stan świata — porusza mobami i „myśli” za nie, aktualizuje bloki, przetwarza kolizje, obsługuje bloki-mechanizmy — a na obciążonym świecie te obliczenia stają się wąskim gardłem: czas ticka rośnie, pojawiają się spadki płynności. Mod przepisuje te systemy tak, aby te same obliczenia wykonywały się szybciej, nie zmieniając żadnej mechaniki vanilla. Działa zarówno w trybie jednoosobowym, jak i na serwerze, przyspieszając właśnie symulację świata, a nie grafikę.
Co dokładnie przyspiesza mod
Lithium to nie jeden patch, lecz zestaw niezależnych optymalizacji dla różnych podsystemów gry. Każda z nich przepisuje konkretny fragment kodu na bardziej wydajny, zachowując wynik identyczny z oryginałem.
Główne kierunki:
Sztuczna inteligencja mobów. Zamiast tego, aby mob co tick odpytywał wszystko wokół w poszukiwaniu innych jednostek, mod przechodzi na model zdarzeniowy: mob jest powiadamiany tylko wtedy, gdy ktoś wejdzie w jego strefę uwagi. Wyszukiwanie ścieżki również zostało przepisane na szybszy kod.
Bloki-mechanizmy. Skrzynie, warsztaty warzenia, ogniska i inne podobne bloki mogą „zasypiać” — przestają być przetwarzane co tick, dopóki nie zmieni się ich zawartość lub stan. Nieaktywny warsztat warzenia czy wygasłe ognisko nie marnują czasu serwera na próżno.
Ticki bloków. Obliczanie losowych ticków zostało przepisane tak, by tworzyć mniej obiektów tymczasowych. Mniej obiektów oznacza mniejsze obciążenie odśmiecacza pamięci Javy, który w przeciwnym razie regularnie zawiesza się przy ich czyszczeniu.
Kolizje jednostek. Dla kształtów prostokątnych i pustych zastosowano wyspecjalizowane, szybkie obliczenia zamiast ogólnych, cięższych.
Przedmioty i pociski. Upuszczone przedmioty łączą się mądrzej — według typu i rozmiaru stosu, bez zbędnych prób łączenia. Sprawdzanie kolizji między pociskami, które fizycznie nie mogą się zderzyć (na przykład duża chmura Pereł Endu w jednym miejscu), jest pomijane — to zauważalne przy dużych skupiskach.
Magazyny i komparatory. Bloki z zawartością informują sąsiednie komparatory o zmianie poziomu wypełnienia tylko wtedy, gdy rzeczywiście do niej doszło, zamiast wymuszać ślepe sprawdzanie ekwipunku co tick. W systemach sortujących i magazynach z dziesiątkami kontenerów zdejmuje to zauważalną część obciążenia.
Wioski i najazdy. Usunięto nadmiarowe aktualizacje paska najazdu oraz część powtarzających się wyszukiwań miejsc pracy dla mieszkańców.
Łącznie obniża to czas przetwarzania jednego ticka (MSPT) i pozwala światu utrzymać się bliżej docelowych 20 ticków na sekundę nawet pod obciążeniem.
Jak to odczuwalne jest w grze
W trybie jednoosobowym Minecraft również uruchamia wewnętrzny serwer — to on „tickuje” świat. Gdy mod odciąża ten serwer, procesor zyskuje czas na resztę zadań, więc wraz z niższym czasem ticka rośnie zarówno liczba klatek na sekundę, jak i ogólna responsywność gry.
Na serwerach wieloosobowych efekt jest bezpośredni: mniejszy czas ticka oznacza, że ten sam sprzęt utrzymuje więcej obciążonych jednostek, chunków i graczy bez spadków płynności. Administrator zyskuje zapas mocy bez konieczności ulepszania sprzętu.
Największe obciążenie ticka generują właśnie wymienione wyżej systemy: dziesiątki aktywnych mobów, duże automatyczne farmy, skupiska mieszkańców, długie linie redstone z mnóstwem bloków-mechanizmów. Im więcej tego w załadowanych chunkach, tym bardziej zauważalny zysk z moda. Na pustym świecie z kilkoma blokami różnica w czasie ticka będzie minimalna — tam wąskim gardłem jest nie logika, lecz inne czynniki.
Mod działa niezależnie po każdej stronie. Można go zainstalować wyłącznie na serwerze — klienci nie muszą go mieć, i odwrotnie. Nie trzeba tworzyć nowych światów: optymalizacje włączają się na istniejących zapisach od razu po uruchomieniu.
Dlaczego zachowanie pozostaje vanilla
Główną zasadą moda jest dokładna zgodność z oryginałem. Farmy, mechanizmy redstone, timingi mobów i dropu działają dokładnie tak samo, jak bez niego. To właśnie dzięki tej rygorystyczności Lithium jest oficjalnie dozwolony w speedrunach Minecraft: nie daje przewagi, ponieważ nie zmienia zasad gry.
Niewielka część optymalizacji technicznie różni się od oryginału, ale tylko w sposób, który w żaden sposób nie wpływa na rozgrywkę ani mechanizmy. Jeśli taka optymalizacja mimo wszystko zepsuje jakąś konstrukcję, twórcy uznają to za błąd i go naprawiają.
Podsumowanie
Lithium zmienia czas przetwarzania ticka na obciążonych światach i serwerach — i robi to bez żadnych kompromisów w zachowaniu vanilla. W przeciwieństwie do optymalizatorów, które podnoszą FPS poprzez zmianę sposobu renderowania świata, ten mod przyspiesza samą symulację: AI, bloki-mechanizmy, kolizje. W przeciwieństwie do rozwiązań poświęcających dokładność na rzecz szybkości, tutaj wynik pozostaje identyczny z oryginałem, dzięki czemu farmy i redstone się nie psują. Najbardziej zyskują światy z dużymi farmami, redstone i skupiskami jednostek, a także zapełnione serwery wieloosobowe. Odpowiedni dla graczy technicznych, administratorów serwerów i speedrunnerów, którzy potrzebują stabilnego ticka bez zmiany mechanik Minecrafta.
Instalacja
Typowa instalacja zajmuje około 5 minut. Procedura jest taka sama; różni się tylko loader i odpowiedni build.
- 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.











