Starlight (Forge) — mod do pełnej przebudowy i optymalizacji silnika oświetlenia w Minecrafcie
Starlight (Forge) przepisuje silnik oświetlenia Minecrafta — szybkie i poprawne światło blokowe oraz niebo na obciążonych serwerach i w…
Starlight (Forge) przepisuje silnik oświetlenia Minecrafta — szybkie i poprawne światło blokowe oraz niebo na obciążonych serwerach i w dużych światach.
Starlight (Forge) — mod do pełnej przebudowy i optymalizacji silnika oświetlenia w Minecrafcie
Wersja Minecrafta, na której przetestowano i napisano artykuł: 1.20.2
Zakres obsługiwanych wersji: 1.17.1 – 1.20.2
Projekt w archiwum: Starlight (Forge) został przeniesiony do stanu nieaktywnego. Nie będzie nowych buildów pod 1.20.3+, 1.21 i nowsze wydania tego moda.
Starlight (Forge) to mod optymalizacyjny dla Minecrafta, który całkowicie przepisuje wewnętrzny silnik oświetlenia. Implementacja waniliowa wolno oblicza propagację światła blokowego i nieba: na serwerach z dziesiątkami graczy prowadzi to do spadków TPS podczas masowej zmiany bloków, a w grze jednoosobowej — do ciemnych szwów na granicach chunków po generacji lub /reload. Starlight zastępuje cały system własną implementacją, powiązaną bezpośrednio z obiektem chunka.
Co zmienia silnik światła
Propagacja światła to łańcuch obliczeń, w którym blok o określonym poziomie oświetlenia przekazuje wartość sąsiadom, ci przekazują dalej, i tak aż do granicy zanikania (15 dla pełnego źródła). Silnik waniliowy trzyma sekcje światła osobno od chunków i przetwarza je przez kolejkę z dużą liczbą struktur pośrednich. Przy takim schemacie aktualizacje często stoją w miejscu albo powtarzają się dwukrotnie dla tego samego punktu.
W Starlight sekcje światła istnieją tylko razem z ChunkAccess — samym obiektem chunka. Jeśli chunk nie jest załadowany, nie mogą dla niego istnieć żadne aktualizacje oświetlenia. Eliminuje to całą klasę błędów z "wiszącymi" sekcjami: puste chunki z danymi światła, ciemne plamy po ponownym załadowaniu świata, nieodświeżone światło nieba na granicach. Obciążenie planisty jest przy tym mniejsze — silnik nie sprawdza już stanów, których sprawdzanie nie ma sensu.

Oświetlenie na granicach chunków zaraz po /reload na płaskim świecie — w wersji waniliowej widać ciemne szwy na granicach, przy aktywnym Starlight granica jest jednolita
Uruchomienie i działanie
Plik jar umieszcza się w folderze mods — mod nie wymaga dodatkowych bibliotek i nie tworzy dodatkowych plików w config/ podczas startu. Zachowanie jest takie samo na kliencie i serwerze: przy pierwszym wczytaniu istniejący świat przebudowuje dane oświetlenia chunk po chunku w miarę ich ładowania, więc w pierwsze sekundy po wejściu do starego świata możliwe są krótkie mikrozacięcia przy gwałtownym poruszaniu się.
Starlight można instalować wybiórczo — tylko na kliencie albo tylko na serwerze. Jeśli mod jest tylko na serwerze, łączą się z nim klienci z wanilią lub ze Starlight po stronie gracza. Odwrotnie działa to tak samo: klient ze Starlight normalnie łączy się z serwerem waniliowym.
Podsumowanie
Starlight (Forge) rozwiązuje jedno zadanie — szybkie i poprawne obliczanie oświetlenia na mocno obciążonych serwerach i w światach z częstą masową zmianą bloków. Przy przetrwaniu czy budowaniu na przeciętnym buildzie różnica w FPS jest ledwo zauważalna, więc realny sens instalowania moda pojawia się na serwerze Forge z aktywną gospodarką opartą na redstone, w dużym modpacku, albo jako sposób na pozbycie się ciemnych szwów na granicach chunków.
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.











