Laczenie portali w Netherze - obliczenia i algorytm
Portale Netheru to nie magia. Gra uzywa konkretnego algorytmu, zeby zdecydowac, z ktorym portalem Cie polaczyc. Zrozumienie tego algorytmu pozwala budowac portale, ktore prowadza dokladnie tam, gdzie chcesz, unikac irytujacego linkowania wielu portali do jednego i tworzyc wydajne sieci autostrad w Netherze.
Podstawy laczenia portali w Netherze
Kiedy wchodzisz do portalu, gra przelicza Twoje wspolrzedne i szuka najblizszego istniejacego portalu po drugiej stronie. Kluczowa regula: 1 blok w Netherze = 8 blokow w Overworld, ale tylko na osiach X i Z. Wspolrzedna Y jest przeliczana 1:1.
Gdy gra nie znajdzie istniejacego portalu w zasiegu, tworzy nowy. I tu zaczynaja sie problemy, bo automatycznie generowany portal laczy sie z najblizszym, a nie z tym, z ktorym Ty chcesz go polaczyc. Dlatego reczne budowanie portali na obliczonych wspolrzednych jest jedynym sposobem na kontrole polaczen.
Overworld do Netheru: gra szuka portalu w promieniu 128 blokow (w Netherze) od obliczonej pozycji.
Nether do Overworld: gra szuka portalu w promieniu 1024 blokow (w Overworld) od obliczonej pozycji. To 128 blokow Netheru * 8.
Wiekszyy zasieg przy wyjsciu z Netheru to celowy design. Oznacza to, ze portal w Netherze latwiej znajdzie istniejacy portal w Overworld niz odwrotnie.
Algorytm wyszukiwania portalu
Gra wykonuje nastepujace kroki za kazdym razem, gdy wchodzisz do portalu:
- Przelicz wspolrzedne - Jesli idziesz do Netheru: X_nether = X_overworld / 8, Z_nether = Z_overworld / 8. Jesli wracasz do Overworld: X_overworld = X_nether * 8, Z_overworld = Z_nether * 8.
- Szukaj istniejacego portalu - W promieniu 128 blokow (Nether) lub 1024 blokow (Overworld) od obliczonej pozycji szukaj najblizszego aktywnego portalu.
- Oblicz dystans - Dystans to odleglosc 3D (uwzglednia X, Y i Z). Jesli dwa portale sa w tym samym dystansie XZ, wygrywa ten z blizszym Y.
- Wybierz najblizszy - Gracz teleportuje sie do portalu z najmniejszym dystansem.
- Jesli brak portalu w zasiegu - Gra tworzy nowy portal na obliczonej pozycji (lub najblizszej dostepnej powierzchni). Nowy portal powstaje na pierwszym solidnym bloku w pionie od Y obliczonego w dol.
Portal A w Overworld: X=100, Z=100
Portal B w Overworld: X=900, Z=100
Obliczona pozycja A w Netherze: X=12.5, Z=12.5
Obliczona pozycja B w Netherze: X=112.5, Z=12.5
Dystans miedzy A i B w Netherze: 100 blokow
Jesli w Netherze istnieje tylko jeden portal na X=12, Z=12 (automatycznie stworzony przez portal A), portal B tez go znajdzie, bo 100 blokow to mniej niz zasieg 128. Oba portale w Overworld wchodza do tego samego portalu w Netherze.
Rozwiazanie: zbuduj drugi portal w Netherze na X=112, Z=12.
Obliczenia wspolrzednych krok po kroku
Krok 1: Zapisz wspolrzedne portalu w Overworld
Stojac wewnatrz ramy portalu (na fioletowym bloku), nacisnij F3. Zapisz X, Y i Z. Wazne: uzyj wspolrzednych bloku portalu, nie gracza. Wspolrzedne bloku widoczne sa w linii "Block:" na ekranie F3.
Krok 2: Oblicz wspolrzedne docelowe
X_nether = floor(X_overworld / 8)
Z_nether = floor(Z_overworld / 8)
Y_nether = Y_overworld (lub dostosuj do terenu, zakres 5-120)
X_overworld = X_nether * 8
Z_overworld = Z_nether * 8
Y_overworld = Y_nether (lub dostosuj)
Krok 3: Przyklady obliczen
Portal w Overworld: X=1847, Y=64, Z=-523
Obliczenia:
X_nether = floor(1847 / 8) = floor(230.875) = 230
Z_nether = floor(-523 / 8) = floor(-65.375) = -66
(floor dla liczb ujemnych zaokragla w dol: -65.375 staje sie -66)
Buduj portal w Netherze na: X=230, Z=-66
Portal w Overworld: X=-3200, Y=63, Z=4800
Obliczenia:
X_nether = floor(-3200 / 8) = -400
Z_nether = floor(4800 / 8) = 600
Buduj portal w Netherze na: X=-400, Z=600
Dystans od spawnu (0,0): sqrt(400^2 + 600^2) = 721 blokow w Netherze
Odpowiednik 5770 blokow w Overworld. Lodowa autostrada pokona ten dystans w 10 sekund.
Krok 4: Zbuduj portal na obliczonych wspolrzednych
Przejdz do Netheru przez dowolny portal. Nastepnie idz do obliczonych wspolrzednych (uzyj F3 do nawigacji). Na miejscu zbuduj portal z obsydianu. Diamentowy kilof z enchantmentem Efficiency V kopie netherrack w jednym uderzeniu, co przyspiesza przygotowanie terenu.
Jesli na obliczonych wspolrzednych jest lawa lub pustka, zbuduj portal najblizej jak to mozliwe. Gra zaakceptuje portal w promieniu kilku blokow od idealnej pozycji. Klucz: im blizej obliczonej pozycji, tym pewniejsze polaczenie.
Krok 5: Przetestuj polaczenie
Zapal portal w Netherze i przejdz na druga strone. Powinienes wyjsc w swoim portalu w Overworld (lub bardzo blisko niego). Nastepnie wroc przez portal w Overworld i sprawdz, czy trafiasz do portalu w Netherze. Polaczenie musi dzialac w obie strony.
Wymuszone laczenie portali
Czasem chcesz polaczyc portal z konkretnym punktem, nawet jesli blizej jest inny portal. Metoda wymuszonego laczenia opiera sie na eliminacji konkurencji.
Metoda 1: Precyzyjne wspolrzedne
Zbuduj portal w Netherze dokladnie na obliczonych wspolrzednych (floor(X/8), floor(Z/8)). Im dokladniej, tym portal jest "blizej" w algorytmie wyszukiwania i wygrywa z portalami, ktore sa dalej.
Metoda 2: Zniszcz konkurencyjne portale
Jesli w zasiegu 128 blokow w Netherze (lub 1024 blokow w Overworld) jest portal, ktory "kradnie" polaczenie, masz dwie opcje:
- Zniszcz niepotrzebny portal - wykop blok obsydianu z ramy, zeby dezaktywowac portal.
- Przesun swoj portal blizej docelowych wspolrzednych - nawet roznica 1 bloku moze zmienic, ktory portal wygrywa.
Metoda 3: Wykorzystaj wspolrzedna Y
Algorytm uwzglednia dystans 3D, wlacznie z Y. Jesli dwa portale sa w tej samej odleglosci XZ, wygrywa ten z blizszym Y do obliczonej pozycji. Budujac portal na odpowiedniej wysokosci (np. Y=64 zamiast Y=120), mozesz wymusic polaczenie.
Portal A w Overworld: X=100, Y=64, Z=0
Portal B w Overworld: X=100, Y=200, Z=0 (na gorze)
Obliczona pozycja w Netherze: X=12, Z=0
Portal w Netherze na X=12, Y=64, Z=0:
Dystans do A: sqrt(0^2 + 0^2 + 0^2) = 0 (idealnie)
Dystans do B: sqrt(0^2 + 136^2 + 0^2) = 136
Portal w Netherze laczy sie z A. Aby B tez dzialal, zbuduj drugi portal w Netherze na Y=200.
Rozlaczanie i naprawianie polaczen
Portale nie maja stalego "polaczenia" zapisanego w danych swiata. Kazde przejscie to nowe wyszukiwanie algorytmem. Oznacza to, ze mozesz naprawic zle polaczenie w kazdej chwili, bez niszczenia starych portali.
Problem: Portal w Overworld prowadzi do zlego portalu w Netherze
- Sprawdz wspolrzedne portalu w Overworld (F3)
- Oblicz prawidlowe wspolrzedne w Netherze (X/8, Z/8)
- Przejdz do Netheru i idz na obliczone wspolrzedne
- Zbuduj tam nowy portal
- Wroc do Overworld i przejdz ponownie - gra znajdzie nowy, blizszy portal
Problem: Portal w Netherze prowadzi do zlego portalu w Overworld
- Sprawdz wspolrzedne portalu w Netherze (F3)
- Oblicz prawidlowe wspolrzedne w Overworld (X*8, Z*8)
- Wroc do Overworld i idz na obliczone wspolrzedne
- Zbuduj tam portal z obsydianu
- Wroc do Netheru i przejdz ponownie - gra powinna znalezc nowy portal
Problem: Dwa portale w Overworld lacza sie z jednym w Netherze
To najczestszy problem. Rozwiazanie: zbuduj drugi portal w Netherze na wspolrzednych obliczonych z drugiego portalu Overworld. Dwa portale w Overworld oddalone o mniej niz 1024 bloki (128*8) beda konkurowac o ten sam portal w Netherze, jesli istnieje tylko jeden.
Portal 1 OW: X=200, Z=300 (obliczone NE: X=25, Z=37)
Portal 2 OW: X=700, Z=500 (obliczone NE: X=87, Z=62)
Istniejacy portal NE: X=25, Z=37 (stworzony przez Portal 1)
Dystans portalu NE od obliczonej pozycji Portalu 2: sqrt((87-25)^2 + (62-37)^2) = sqrt(3844+625) = 66.8 blokow
66.8 < 128, wiec Portal 2 tez sie laczy z tym samym portalem NE.
Rozwiazanie: zbuduj portal NE na X=87, Z=62. Teraz Portal 2 laczy sie z blizszym portalem.
Wiele portali blisko siebie
Budowanie wielu portali blisko siebie (np. na serwerze SMP w okolicy spawnu) wymaga szczegolnego planowania. Oto zasady:
Minimalna odleglosc miedzy portalami
Zeby dwa portale w Overworld mialy oddzielne portale w Netherze, musza byc oddalone o wiecej niz 128 blokow w Netherze, czyli 1024 bloki w Overworld (128 * 8). Dla portali blizszych niz 1024 bloki w Overworld musisz recznie budowac oba portale w Netherze na precyzyjnych wspolrzednych.
Siec portali na serwerze
Na serwerach z duza liczba graczy czesto buduje sie centralna stacje w Netherze (hub) z wieloma portalami obok siebie, kazdy prowadzacy do innej bazy. Dziala to, jesli:
- Kazdy portal w Netherze jest na dokladnych wspolrzednych (floor(X_OW/8), floor(Z_OW/8))
- Kazdy portal w Overworld jest na wspolrzednych odpowiadajacych portalu NE (X_NE * 8, Z_NE * 8)
- Nie ma "wolnych" portali w zasiegu, ktore moga przejac polaczenie
Centralna stacja z autostradami lodowymi rozchodzacymi sie w czterech kierunkach to standard na duzych serwerach. Kazda autostrada ma stacje co 500-1000 blokow NE z precyzyjnie zlinkowanymi portalami.
Portale pionowe (rozne Y, te same XZ)
Mozesz miec dwa portale na tych samych wspolrzednych X/Z, ale na roznych Y. Przyklad: portal na poziomie morza (Y=64) i na szczycie gory (Y=200). W Netherze potrzebujesz dwoch portali na tym samym X/Z, ale na roznych Y. Algorytm dystansu 3D rozrozni je po wysokosci.
Ta technika jest przydatna w gorach i jaskiniach: osobny portal do bazy na powierzchni i osobny do kopalni na Y=-50. W Netherze portale beda blisko siebie, ale na roznych poziomach.
Czesto zadawane pytania
Czy portale dzialaja tak samo na Java i Bedrock?
Algorytm jest podobny, ale sa roznice. Na Bedrock Edition zasieg wyszukiwania portalu jest mniejszy (128 blokow Overworld zamiast 1024 przy powrocie z Netheru). To oznacza, ze portale na Bedrock latwiej sie "gubia" i czesciej tworza niepotrzebne nowe portale. Obliczenia wspolrzednych (X/8, Z/8) sa identyczne na obu edycjach.
Portal sam stworzyyl sie w dziwnym miejscu. Dlaczego?
Gdy gra nie moze umiescic portalu na obliczonej pozycji (np. jest tam lawa albo pustka), szuka najblizszej bezpiecznej lokalizacji. Moze to byc na skale nad jeziorem lawy, w jaskini albo na netherracku daleko od idealnego punktu. Rozwiazanie: zniszcz automatyczny portal i zbuduj wlasny na prawidlowych wspolrzednych, przygotowujac teren recznie.
Jak sprawdzic, z ktorym portalem jestem polaczony?
Przejdz przez portal i natychmiast sprawdz wspolrzedne (F3). Porownaj je z Twoimi obliczeniami. Jesli wspolrzedne nie zgadzaja sie z tym, czego oczekujesz, masz problem z linkowaniem. Wroc i zbuduj portal na prawidlowych wspolrzednych po drugiej stronie.
Czy komenda /setblock moze pomoc?
Na serwerze z uprawnieniami mozesz uzyc /setblock X Y Z minecraft:nether_portal do postawienia portalu na dokladnych wspolrzednych. Ale w survivalowym graniu jedyna opcja to reczna budowa z obsydianu. 10 blokow obsydianu to minimum na portal 4x5 (bez rogow).
Ile portali moge miec w jednym swiecie?
Nie ma limitu. Mozesz miec setki portali. Kazdy jest niezalezny i podlega temu samemu algorytmowi wyszukiwania. Im wiecej portali masz blisko siebie, tym wazniejsze staja sie precyzyjne obliczenia wspolrzednych.
Komentarze