Efekty ekranu i pule łupów: dwie połowy jednej skrzyni
Wagi w puli łupów decydują, co wypadnie; komenda /posteffect decyduje, jak to wygląda. Jedno i drugie to liczby, które możesz sprawdzić, zanim napiszesz datapack.
Ważona pula łupów i komenda /posteffect są zwykle zapisywane w różnych plikach przez różne osoby, a zawodzą w ten sam sposób: liczby nigdy nie zostają sprawdzone, zanim datapack trafi do gry. Jedno i drugie łatwo zweryfikować zawczasu.
Pula łupów to arytmetyka, nie wyczucie
Wpis w puli ma weight, a szansa na dowolny wpis to jego waga podzielona przez sumę wszystkich wag w tej puli. Nie ma tu żadnej ukrytej normalizacji ani minimum — waga 0 oznacza, że wpis nigdy nie wypada, a pula, której wagi sumują się do czegokolwiek, zachowuje się tak samo. Pułapką jest mieszanie losowań: pula z rolls: 2 losuje dwa razy, więc wpis z jedną czwartą wagi pojawia się w mniej więcej połowie wszystkich skrzyń, a nie w jednej czwartej.
| Wpis | Waga | Udział w jednym losowaniu |
|---|---|---|
| Sztabka żelaza | 20 | 20 ÷ 40 = 50% |
| Sztabka złota | 12 | 30% |
| Diament | 8 | 20% |
Dodaj czwarty wpis o wadze 40 i każda z powyższych liczb zmniejszy się o połowę. Na tym polega całe balansowanie i dlatego „wskaźnik diamentów jest jakiś nie tak” to prawie zawsze waga, o której skali zapomniałeś.
Tabele łupów to jedna z większych rodzin rejestrów w grze — dane dla 26.2, które mierzy ta strona, wymieniają ich 1355 — więc pula, o której nie umiesz myśleć liczbowo, to pula, której nigdy nie dostroisz ręcznie.
/posteffect to komenda z snapshotów
Java'owe /posteffect to komenda z ery snapshotów i nie istnieje w obecnych wydaniach stabilnych, a w Bedrock nie ma żadnego odpowiednika. Bedrock obsługuje barwienie ekranu przez resource packi i system wstrząsów kamery, więc poradnik dla Java Edition nie zadziała tutaj.
Komenda przyjmuje identyfikator efektu i siłę, a siła jest liczbą zmiennoprzecinkową, nie procentem. Efekty to niewielki rejestr — 40 w danych dla 26.2 — więc lista identyfikatorów jest dość krótka, by sprawdzić ją ręcznie, zamiast zgadywać. Podanie nieistniejącego efektu w niektórych buildach snapshotów kończy się cichym błędem i to drugi powód, by zweryfikować wszystko przed zapisaniem zmian.
Gdzie te dwie rzeczy się spotykają
Skrzynia, z której wypada rzadki przedmiot, i skrzynia, z której wypada pospolity, nie powinny wyglądać identycznie. Najpierw losuj pulę, żeby poznać rzeczywisty rozkład, a potem dobierz siłę efektu ekranu pasującą do tego, jak często gracz naprawdę go zobaczy. Zrobienie tego w odwrotnej kolejności daje dramatyczny efekt odpalający się bez przerwy, co odbiera się jako szum.
W budowli miejskiej oznacza to zwykle efekt o niskiej sile dla pospolitej puli i ten mocny zarezerwowany dla wpisu o najmniejszej wadze — ten sam stosunek, który już obliczyłeś.
Zbuduj komendę /posteffect i losuj ważoną pulę w narzędziach do efektów ekranu i łupów.