Discord
Wiki / Nether

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.

Zasieg wyszukiwania portalu

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:

  1. 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.
  2. Szukaj istniejacego portalu - W promieniu 128 blokow (Nether) lub 1024 blokow (Overworld) od obliczonej pozycji szukaj najblizszego aktywnego portalu.
  3. 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.
  4. Wybierz najblizszy - Gracz teleportuje sie do portalu z najmniejszym dystansem.
  5. 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.
Przyklad: Dlaczego dwa portale lacza sie z jednym

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

Wzor: Overworld do Netheru

X_nether = floor(X_overworld / 8)

Z_nether = floor(Z_overworld / 8)

Y_nether = Y_overworld (lub dostosuj do terenu, zakres 5-120)

Wzor: Nether do Overworld

X_overworld = X_nether * 8

Z_overworld = Z_nether * 8

Y_overworld = Y_nether (lub dostosuj)

Krok 3: Przyklady obliczen

Przyklad 1: Baza gracza

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

Przyklad 2: Farma na oceanie

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.

Wskazowka: Funkcja floor() zaokragla w dol. Dla liczb dodatnich: floor(230.9) = 230. Dla ujemnych: floor(-65.1) = -66. To czesty blad w obliczeniach, ktory powoduje przesuniecie portalu o 1 blok i moze zepsuc linkowanie na granicy zasiegu.

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.

Przyklad: Wymuszanie polaczenia przez Y

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

  1. Sprawdz wspolrzedne portalu w Overworld (F3)
  2. Oblicz prawidlowe wspolrzedne w Netherze (X/8, Z/8)
  3. Przejdz do Netheru i idz na obliczone wspolrzedne
  4. Zbuduj tam nowy portal
  5. Wroc do Overworld i przejdz ponownie - gra znajdzie nowy, blizszy portal

Problem: Portal w Netherze prowadzi do zlego portalu w Overworld

  1. Sprawdz wspolrzedne portalu w Netherze (F3)
  2. Oblicz prawidlowe wspolrzedne w Overworld (X*8, Z*8)
  3. Wroc do Overworld i idz na obliczone wspolrzedne
  4. Zbuduj tam portal z obsydianu
  5. 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.

Naprawa: Dwa portale OW do jednego NE

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