Discord
Wiki / Nether

Łączenie portali w Netherze - obliczenia i algorytm

Portale Netheru to nie magia. Gra używa konkretnego algorytmu, zeby zdecydowac, z którym portalem Cie połączyć. Zrozumienie tego algorytmu pozwala budować portale, które prowadza dokładnie tam, gdzie chcesz, unikać irytujacego linkowania wielu portali do jednego i tworzyć wydajne sieci autostrad w Netherze.

Podstawy łączenia 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 bloków 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 zaczynają sie problemy, bo automatycznie generowany portal łączy sie z najblizszym, a nie z tym, z którym Ty chcesz go połączyć. Dlatego ręczne budowanie portali na obliczonych wspolrzednych jest jedynym sposobem na kontrole połączeń.

Zasieg wyszukiwania portalu

Overworld do Netheru: gra szuka portalu w promieniu 128 bloków (w Netherze) od obliczonej pozycji.

Nether do Overworld: gra szuka portalu w promieniu 1024 bloków (w Overworld) od obliczonej pozycji. To 128 bloków Netheru * 8.

Wiekszyy zasieg przy wyjsciu z Netheru to celowy design. Oznacza to, ze portal w Netherze łatwiej znajdzie istniejacy portal w Overworld niz odwrotnie.

Algorytm wyszukiwania portalu

Gra wykonuje nastepujace kroki za każdym razem, gdy wchodzisz do portalu:

  1. Przelicz wspolrzedne - Jeśli idziesz do Netheru: X_nether = X_overworld / 8, Z_nether = Z_overworld / 8. Jeśli wracasz do Overworld: X_overworld = X_nether * 8, Z_overworld = Z_nether * 8.
  2. Szukaj istniejacego portalu - W promieniu 128 bloków (Nether) lub 1024 bloków (Overworld) od obliczonej pozycji szukaj najblizszego aktywnego portalu.
  3. Oblicz dystans - Dystans to odleglosc 3D (uwzglednia X, Y i Z). Jeśli dwa portale sa w tym samym dystansie XZ, wygrywa ten z blizszym Y.
  4. Wybierz najbliższy - Gracz teleportuje sie do portalu z najmniejszym dystansem.
  5. Jeśli brak portalu w zasiegu - Gra tworzy nowy portal na obliczonej pozycji (lub najbliższej dostepnej powierzchni). Nowy portal powstaje na pierwszym solidnym bloku w pionie od Y obliczonego w dół.
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 między A i B w Netherze: 100 bloków

Jeśli w Netherze istnieje tylko jeden portal na X=12, Z=12 (automatycznie stworzony przez portal A), portal B tez go znajdzie, bo 100 bloków 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 wewnątrz ramy portalu (na fioletowym bloku), nacisnij F3. Zapisz X, Y i Z. Ważne: 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 dół: -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 bloków w Netherze

Odpowiednik 5770 bloków w Overworld. Lodowa autostrada pokona ten dystans w 10 sekund.

Wskazówka: Funkcja floor() zaokragla w dół. Dla liczb dodatnich: floor(230.9) = 230. Dla ujemnych: floor(-65.1) = -66. To czesty błąd w obliczeniach, który powoduje przesuniecie portalu o 1 blok i może zepsuc linkowanie na granicy zasiegu.

Krok 4: Zbuduj portal na obliczonych wspolrzednych

Przejdz do Netheru przez dowolny portal. Następnie 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.

Jeśli na obliczonych wspolrzednych jest ława lub pustka, zbuduj portal najblizej jak to możliwe. Gra zaakceptuje portal w promieniu kilku bloków od idealnej pozycji. Klucz: im bliżej obliczonej pozycji, tym pewniejsze połączenie.

Krok 5: Przetestuj połączenie

Zapal portal w Netherze i przejdz na druga strone. Powinienes wyjsc w swoim portalu w Overworld (lub bardzo blisko niego). Następnie wroc przez portal w Overworld i sprawdź, czy trafiasz do portalu w Netherze. Połączenie musi działać w obie strony.

Wymuszone łączenie portali

Czasem chcesz połączyć portal z konkretnym punktem, nawet jeśli bliżej jest inny portal. Metoda wymuszonego łączenia opiera sie na eliminacji konkurencji.

Metoda 1: Precyzyjne wspolrzedne

Zbuduj portal w Netherze dokładnie na obliczonych wspolrzednych (floor(X/8), floor(Z/8)). Im dokladniej, tym portal jest "bliżej" w algorytmie wyszukiwania i wygrywa z portalami, które sa dalej.

Metoda 2: Zniszcz konkurencyjne portale

Jeśli w zasiegu 128 bloków w Netherze (lub 1024 bloków w Overworld) jest portal, który "kradnie" połączenie, masz dwie opcje:

  • Zniszcz niepotrzebny portal - wykop blok obsydianu z ramy, zeby dezaktywowac portal.
  • Przesun swoj portal bliżej docelowych wspolrzednych - nawet różnica 1 bloku może zmienić, który portal wygrywa.

Metoda 3: Wykorzystaj wspolrzedna Y

Algorytm uwzglednia dystans 3D, włącznie z Y. Jeśli dwa portale sa w tej samej odleglosci XZ, wygrywa ten z blizszym Y do obliczonej pozycji. Budując portal na odpowiedniej wysokości (np. Y=64 zamiast Y=120), możesz wymusic połączenie.

Przyklad: Wymuszanie połączenia przez Y

Portal A w Overworld: X=100, Y=64, Z=0

Portal B w Overworld: X=100, Y=200, Z=0 (na górze)

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 łączy sie z A. Aby B tez dzialal, zbuduj drugi portal w Netherze na Y=200.

Rozlaczanie i naprawianie połączeń

Portale nie mają stalego "połączenia" zapisanego w danych świata. Każde przejscie to nowe wyszukiwanie algorytmem. Oznacza to, ze możesz naprawic źle połączenie w każdej chwili, bez niszczenia starych portali.

Problem: Portal w Overworld prowadzi do zlego portalu w Netherze

  1. Sprawdź 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. Sprawdź 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 znaleźć 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, jeśli 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 bloków

66.8 < 128, wiec Portal 2 tez sie łączy z tym samym portalem NE.

Rozwiazanie: zbuduj portal NE na X=87, Z=62. Teraz Portal 2 łączy 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 między portalami

Zeby dwa portale w Overworld mialy oddzielne portale w Netherze, musza byc oddalone o więcej niz 128 bloków w Netherze, czyli 1024 bloki w Overworld (128 * 8). Dla portali blizszych niz 1024 bloki w Overworld musisz ręcznie budować oba portale w Netherze na precyzyjnych wspolrzednych.

Siec portali na serwerze

Na serwerach z duża liczba graczy często buduje sie centralna stacje w Netherze (hub) z wieloma portalami obok siebie, każdy prowadzacy do innej bazy. Działa to, jeśli:

  • Każdy portal w Netherze jest na dokladnych wspolrzednych (floor(X_OW/8), floor(Z_OW/8))
  • Każdy portal w Overworld jest na wspolrzednych odpowiadajacych portalu NE (X_NE * 8, Z_NE * 8)
  • Nie ma "wolnych" portali w zasiegu, które mogą przejac połączenie

Centralna stacja z autostradami lodowymi rozchodzacymi sie w czterech kierunkach to standard na dużych serwerach. Każda autostrada ma stacje co 500-1000 bloków NE z precyzyjnie zlinkowanymi portalami.

Portale pionowe (różne Y, te same XZ)

Możesz miec dwa portale na tych samych wspolrzednych X/Z, ale na różnych Y. Przyklad: portal na poziomie morza (Y=64) i na szczycie góry (Y=200). W Netherze potrzebujesz dwoch portali na tym samym X/Z, ale na różnych Y. Algorytm dystansu 3D rozrozni je po wysokości.

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 różnych poziomach.

Często zadawane pytania

Czy portale działają tak samo na Java i Bedrock?

Algorytm jest podobny, ale sa różnicę. Na Bedrock Edition zasieg wyszukiwania portalu jest mniejszy (128 bloków Overworld zamiast 1024 przy powrocie z Netheru). To oznacza, ze portale na Bedrock łatwiej sie "gubia" i częściej tworzą 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 może umiescic portalu na obliczonej pozycji (np. jest tam ława albo pustka), szuka najbliższej bezpiecznej lokalizacji. Może to byc na skale nad jeziorem lawy, w jaskini albo na netherracku daleko od idealnego punktu. Rozwiazanie: zniszcz automatyczny portal i zbuduj własny na prawidlowych wspolrzednych, przygotowujac teren ręcznie.

Jak sprawdzić, z którym portalem jestem połączony?

Przejdz przez portal i natychmiast sprawdź wspolrzedne (F3). Porownaj je z Twoimi obliczeniami. Jeśli 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 może pomóc?

Na serwerze z uprawnieniami możesz użyć /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 bloków obsydianu to minimum na portal 4x5 (bez rogow).

Ile portali moge miec w jednym świecie?

Nie ma limitu. Możesz miec setki portali. Każdy jest niezalezny i podlega temu samemu algorytmowi wyszukiwania. Im więcej portali masz blisko siebie, tym wazniejsze staja sie precyzyjne obliczenia wspolrzednych.

Komentarze