DoesPotatoTick? Mod do Minecraft 1.20.1, 1.21.1
Mod wydajnościowy, który nie pozwala bytom na tickowanie, gdy są daleko od graczy.
DoesPotatoTick — Przegląd
DoesPotatoTick poprawia wydajność, zawieszając („zamrażając”) odległe encje, które nie muszą być aktualizowane w każdym ticku. Dzięki konfigurowalnym regułom i zabezpieczeniom zmniejsza obciążenie procesora serwera i może również zwiększyć FPS klienta, zachowując normalne zachowanie rozgrywki.
1. Cel
Minecraft aktualizuje każdą encję 20 razy na sekundę, co może przeciążyć serwery z dużymi światami, wieloma graczami lub ciężkimi modpackami. Ustawienia vanilla nie potrafią odróżnić ważnych encji od nieistotnych. DoesPotatoTick wprowadza kontrolowany system, który aktualizuje tylko to, co konieczne.
2. Główny mechanizm
Każdej encji przypisywany jest stan tickowania. Serwer ocenia ten stan w każdym ticku na podstawie lokalizacji, kategorii i kontekstu; klient opcjonalnie pomija renderowanie encji, które nie są tickowane.
2.1 Aktywacja na podstawie odległości
- Gracze definiują aktywny region (konfigurowalny promień w chunkach).
- Encje poza tym regionem stają się kandydatami do zawieszenia.
- Regiony aktualizują się tylko wtedy, gdy gracz przemieści się między chunkami, zaloguje się lub zmieni wymiar.
2.2 Obsługa wymiarów i claimów
- Optymalizację można ograniczyć do wybranych wymiarów.
- Encje na obszarach objętych claimem (FTB Chunks, OpenPartiesAndClaims) są zawsze tickowane.
- Gracze są powiadamiani, jeśli nie zainstalowano żadnego moda obsługującego claimy.
2.3 Wyjątki encji
Niektóre encje nigdy nie są zamrażane:
- Gracze, spadające bloki, bossy vanilla
- Szeroka lista bossów z modów i systemów mechanicznych
- Całe mody mogą zostać dodane do białej listy. Lista przeładowuje się automatycznie przy zmianach konfiguracji.
2.4 Reguły filtrowania
Konfigurowalne reguły pozwalają ignorować lub uwzględniać:
- Wrogie moby, zwierzęta, najeźdźców
- Upuszczone przedmioty
- Pociski (z opcjonalną logiką wymuszającą tickowanie celów trafień). Umierające encje mogą dokończyć swoją sekwencję śmierci.
2.5 Wykrywanie farm mobów
Okresowo skanuje gęstość chunków; jeśli wykryty zostanie wzorzec przypominający farmę, dotknięte encje są zmuszane do tickowania, aby zapewnić dalsze działanie farm.
2.6 Obsługa najazdów
Podczas aktywnych najazdów optymalizacja może zostać wyłączona lub dostosowana zgodnie z konfiguracją.
3. Funkcje klienta
3.1 Pomijanie renderowania
Encje, które nie są tickowane, mogą być ukryte, aby poprawić FPS. Naciąganie łuku tymczasowo ponownie włącza renderowanie, aby uniknąć problemów z celowaniem.
3.2 Integracja z Embeddium
Dodaje dedykowany ekran konfiguracji, gdy zainstalowane jest Embeddium.
3.3 Synchronizacja
Lekki pakiet informuje klienta, które encje powinny być wyświetlane.
4. Konfiguracja
- doespotatotick-common.toml: podstawowe zachowanie serwera
- doespotatotick-client.toml: kontrola renderowania
- Domyślne ustawienia stawiają na bezpieczeństwo i kompatybilność.
- Cała logika działa w wątku serwera; zmiany stosują się spójnie między tickami i przeładowaniami.
5. Uczyń DPT lepszym
Gdy:
- Uważasz, że konkretny typ encji nigdy nie powinien przestać być tickowany
- Masz prośbę o opcję konfiguracji
- Napotkasz nieoczekiwaną sytuację z powodu zamrożenia tickowania encji
Nie wahaj się skontaktować ze mną przez GitHub Issues lub e-mail 670067575@qq.com
6. Rozważania projektowe
Mod ma na celu:
- Zmniejszenie obciążenia serwera bez zmiany rozgrywki
- Zachowanie walk z bossami, farm i mechanik z modów
- Pozostanie kompatybilnym z istniejącymi ekosystemami modów
Jego zachowanie przypomina kontrolowany, świadomy kontekstu system planowania, a nie prosty przełącznik „wyłącz odległe encje”.
7. Trochę historii i ewolucji
DoesPotatoTick nie zaczął się jako dopracowany mod, który widzisz dzisiaj.
Zaczął życie jako fork DoesItTick autorstwa Txni, stworzony wyłącznie jako tymczasowa poprawka kompatybilności dla ekosystemu Lithium/RoadRunner. Oryginalna wersja była, szczerze mówiąc, dość prymitywna: tylko garść opcji konfiguracji, a każda pojedyncza encja, w każdym pojedynczym ticku, przechodziła w pętli przez wszystkich graczy online, sprawdzając „czy ktoś jest wystarczająco blisko?”. To O(encje × gracze) na tick — na serwerze z 20 tysiącami encji i 50 graczami samo to dodawało miliony niepotrzebnych iteracji na sekundę. Czyste okrucieństwo.
Stare dpt$checkAlwaysTick() było równie bolesne: uruchamiało kosztowne sprawdzenia konfiguracji i tagów na każdej encji w każdym ticku, bez żadnego buforowania. Żadnych poprawek renderowania po stronie klienta — zamrożone encje po prostu się zacinały i „duchowały” w miejscu, wyglądając na zepsute.
Wszystko się zmieniło, gdy zaktualizowaliśmy mod:
- Zastąpiliśmy naiwną pętlę po graczach obecnym PlayerTracker: mapą przestrzenną wymiar → chunk → zakres Y, aktualizowaną leniwie tylko przy ruchu. Złożoność spadła z O(n×m) do zasadniczo O(gracze) na aktualizację.
- Flagi alwaysTick są teraz obliczane raz przy rejestracji typu encji i buforowane na zawsze.
- Dodano odpowiednie pakiety sieciowe i culling po stronie klienta (plus zaworek bezpieczeństwa przy naciąganiu łuku), dzięki czemu zamrożone encje po prostu czysto znikają, zamiast się glitchować.
- Wykrywanie farm mobów, świadomość najazdów, integracja z modami obsługującymi claimy, GUI Embeddium… nic z tego wtedy nie istniało.
Dzisiejszy DoesPotatoTick to już nie „kolejny mod do cullingu encji”. To wynik wielu pełnych refaktoryzacji i obsesji na punkcie zrobienia tego dobrze — bez psucia twoich bossów, farm czy konstrukcji z Create.
Podziękowania dla Txni za pierwotną iskrę oraz dla każdego testera i współtwórcy, a także dla Grok i ChatGPT za pomoc w projektowaniu, pisaniu i dopracowaniu tego opisu (po prostu padam, gdy sam piszę readme lol).
Ciesz się maślanymi, płynnymi tickami (albo ich brakiem)!
Jak zainstalować DoesPotatoTick?
With Millida Launcher
Install Millida Launcher
The launcher is free: download it at millida.net/launcher and sign in with any nickname.
Click “Install” on this page
The launcher opens and installs the mod for Minecraft 1.20.1–1.21.1 on Fabric, Forge, NeoForge or Quilt automatically.
Launch the game
A profile with it appears in the launcher: click “Play”.
Manually
Install Fabric, Forge, NeoForge or Quilt
The loader must match the game version of the mod file, for example Minecraft 1.21.1. After installing it, a separate profile appears in your launcher.
Download the file for your version
In the version list above, pick the file doespotatotick-1.21.1-5.6.4.jar (46 KB) for your game version and loader.
Put it in the mods folder
The folder is inside .minecraft (Windows: %appdata%\.minecraft\mods). If it does not exist, create it.
Launch the loader profile
Open “Mods” in the main menu: DoesPotatoTick? should be in the list.
Minecraft 1.21.1 runs on Java 21: with a different Java version the game may close right after launch.
Wersje
Z zależnościami
| Minecraft | Loader | Plik | Data | Akcje |
|---|---|---|---|---|
| 1.21.1 | NeoForge | doespotatotick-1.21.1-5.6.445.5 KB | ||
| 1.20.1 | Forge | doespotatotick-1.20.1-5.6.345.8 KB 1 | ||
| 1.20.1 | Fabric | doespotatotick-fabric-1.20.1-5.2.0.jar21.5 KB 1 | ||
| 1.20.1 | Fabric, Quilt | doespotatotick-fabric-quilt-1.20.1-3.6.1.jar41.3 KB |
FAQ
Which Minecraft versions does DoesPotatoTick? work on?
There are files for 1.21.1, 1.20.1. The newest is 1.21.1.
Is DoesPotatoTick? for Forge or Fabric?
There are files for Fabric: 1.20.1, for Forge: 1.20.1, for NeoForge: 1.21.1 and for Quilt: 1.20.1.
Does DoesPotatoTick? need other mods?
The author lists no required dependencies: the Fabric, Forge, NeoForge or Quilt loader is enough.
Which Java does DoesPotatoTick? need?
Minecraft 1.21.1 runs on Java 21. If the game closes right after launch, the usual cause is the wrong Java version in the profile settings.
Where can I download DoesPotatoTick? safely?
On this page: the file doespotatotick-1.21.1-5.6.4.jar (46 KB) is stored on Millida’s server, with no link shorteners. SHA-1 checksum: d5fc5d18171da8465f5858550ed8b74e411e3131.
Opinie
Oceń DoesPotatoTick? jako pierwszy

