Learn · modules

Czym jest przebijanie w Minecraft? Wyjaśnienie uderzania przez ściany

Przebijanie pomija sprawdzanie linii wzroku, pozwalając na trafienia przez ściany. Oto jak to działa i dlaczego serwery prawie zawsze to wykrywają.

TRtrolPublished 3 min read

Czym jest Przebijanie?

Przebijanie to moduł bojowy, który pozwala atakowi trafić nawet wtedy, gdy solidny blok znajduje się bezpośrednio między atakującym a celem. Normalna walka w Minecrafcie najpierw wykonuje sprawdzenie: gra rysuje linię od ciebie do tego, w co uderzasz, a jeśli ta linia trafi w teren zanim dotrze do celu, atak nie zostanie zarejestrowany. Przebijanie pomija to sprawdzenie. Żadna zasieka, ściana, płyta kamienna – to już nie ma znaczenia. Sprawdzenie albo przejdzie, albo nie, a Przebijanie po prostu usuwa to wymaganie, co jest dokładnie tym, co sprawia, że jest to jedna z łatwiejszych rzeczy do wykrycia przez serwer.

Jak to działa

Standardowy Minecraft wykonuje raycast zanim pozwoli na trafienie. Gra rysuje prostą linię od atakującego gracza do celu i zatrzymuje się na pierwszym solidnym bloku, który ta linia dotknie. Jeśli ten blok jest bliżej celu, atak mija, kropka. To pojedyncze sprawdzenie jest powodem, dla którego zwykle wystarczy ściana, zamknięte drzwi, a nawet słupek ogrodzeniowy, aby zamach nie zdziałał nic.

Przebijanie usuwa lub omija promień raycasta, dzięki czemu atak przechodzi jakby bloku tam nie było. Usunięcie nie zawsze jest całkowite. Niektóre implementacje zachowują kolizję bloku podczas ruchu, ale rezygnują z niej specjalnie podczas walki, a niektóre ograniczają sprawdzanie przeszkód tylko do postaci, a nie terenu – węższa wersja tej samej idei. Efekt końcowy we wszystkich przypadkach jest jednak taki sam: coś stałego znajdowało się między dwoma graczami, a atak i tak trafił

Przecięcie vs. Zasięg

Warto to oddzielić od zasięgu. Zasięg określa, jak daleko może dotrzeć atak. Przebijanie nie ma nic wspólnego z odległością, chodzi o to, co znajduje się na linii między dwoma punktami, a nie o długość tej linii. Gracz może mieć całkowicie zwykły zasięg i jednocześnie używać Przebijania, a oba te efekty pojawiają się razem wystarczająco często, że ludzie je mylą.

PrzebijanieZasięg
Co zmieniaWymóg linii widzeniaLimit zasięgu ataku
Działa przezŚciany między graczamiOtwartą przestrzeń w każdym zasięgu
WykrywanieSprawdzanie promienia przez serwerZasięg ataku w stosunku do pozycji

Dlaczego serwery to łapią

Krótko mówiąc: sprawdzanie jest geometryczne i niepodważalne. W momencie uderzenia serwer może wykonać własny raycast między rzeczywistymi pozycjami dwóch graczy. Jeśli na tej drodze znajduje się solidny teren, nie ma żadnego uzasadnienia dla tego, aby uderzenie w ogóle wylądowało. W przeciwieństwie do wygładzania zasięgu lub rotacji, gdzie serwer musi uwzględnić opóźnienia i normalną ludzką niedoskonałość, ściana albo tam była, albo jej nie było. To pozostawia bardzo mało miejsca na fałszywe pozytywy, co również oznacza bardzo mało miejsca dla gracza, żeby się wymigać.

FAQ