Discord
Wiki / Nether

Łączenie portali w Netherze - obliczenia i algorytm

Łączenie portali w Netherze

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

Podstawy łączenia portali w Netherze

Kiedy wchodzisz do portalu, gra przelicza Twoje współrzędne i szuka najbliższego istniejącego portalu po drugiej stronie. Kluczowa regula: 1 blok w Netherze = 8 bloków w Overworld, ale tylko na osiach X i Z. Współrzędna Y jest przeliczana 1:1.

Gdy gra nie znajdzie istniejącego portalu w zasięgu, tworzy nowy. I tu zaczynają się problemy, bo automatycznie generowany portal łączy się z najbliższym, a nie z tym, z którym Ty chcesz go połączyć. Dlatego ręczne budowanie portali na obliczonych współrzędnych jest jedynym sposobem na kontrole połączeń.

Zasięg 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 zasięg przy wyjściu z Netheru to celowy design. Oznacza to, ze portal w Netherze łatwiej znajdzie istniejący portal w Overworld niż odwrotnie.

Algorytm wyszukiwania portalu

Gra wykonuje następujące kroki za każdym razem, gdy wchodzisz do portalu:

  1. Przelicz współrzędne - 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 istniejącego portalu - W promieniu 128 bloków (Nether) lub 1024 bloków (Overworld) od obliczonej pozycji szukaj najbliższego aktywnego portalu.
  3. Oblicz dystans - Dystans to odległość 3D (uwzględnia 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 się do portalu z najmniejszym dystansem.
  5. Jeśli brak portalu w zasięgu - Gra tworzy nowy portal na obliczonej pozycji (lub najbliższej dostępnej powierzchni). Nowy portal powstaje na pierwszym solidnym bloku w pionie od Y obliczonego w dół.
Przyklad: Dlaczego dwa portale łączą się 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 niż zasięg 128. Oba portale w Overworld wchodzą do tego samego portalu w Netherze.

Rozwiazanie: zbuduj drugi portal w Netherze na X=112, Z=12.

Obliczenia współrzędnych krok po kroku

Krok 1: Zapisz współrzędne portalu w Overworld

Stojąc wewnątrz ramy portalu (na fioletowym bloku), naciśnij F3. Zapisz X, Y i Z. Ważne: użyj współrzędnych bloku portalu, nie gracza. Współrzędne bloku widoczne sa w linii "Block:" na ekranie F3.

Krok 2: Oblicz współrzędne 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: Przykłady obliczeń

Przykład 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 się -66)

Buduj portal w Netherze na: X=230, Z=-66

Przykład 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 częsty błąd w obliczeniach, który powoduje przesuniecie portalu o 1 blok i może zepsuć linkowanie na granicy zasiegu.

Krok 4: Zbuduj portal na obliczonych współrzędnych

Przejdź do Netheru przez dowolny portal. Następnie idź do obliczonych współrzędnych (użyj 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 współrzędnych jest ława lub pustka, zbuduj portal najbliżej 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 przejdź na druga strone. Powinienes wyjść w swoim portalu w Overworld (lub bardzo blisko niego). Następnie wróć 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 się na eliminacji konkurencji.

Metoda 1: Precyzyjne współrzędne

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

Metoda 2: Zniszcz konkurencyjne portale

Jeśli w zasięgu 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, żeby dezaktywować portal.
  • Przesuń swój portal bliżej docelowych współrzędnych - nawet różnica 1 bloku może zmienić, który portal wygrywa.

Metoda 3: Wykorzystaj współrzędna Y

Algorytm uwzględnia dystans 3D, włącznie z Y. Jeśli dwa portale sa w tej samej odległości XZ, wygrywa ten z blizszym Y do obliczonej pozycji. Budując portal na odpowiedniej wysokości (np. Y=64 zamiast Y=120), możesz wymusić 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 się z A. Aby B tez działał, zbuduj drugi portal w Netherze na Y=200.

Rozlaczanie i naprawianie połączeń

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

Problem: Portal w Overworld prowadzi do złego portalu w Netherze

  1. Sprawdź współrzędne portalu w Overworld (F3)
  2. Oblicz prawidłowe współrzędne w Netherze (X/8, Z/8)
  3. Przejdź do Netheru i idź na obliczone współrzędne
  4. Zbuduj tam nowy portal
  5. Wróć do Overworld i przejdź ponownie - gra znajdzie nowy, bliższy portal

Problem: Portal w Netherze prowadzi do złego portalu w Overworld

  1. Sprawdź współrzędne portalu w Netherze (F3)
  2. Oblicz prawidłowe współrzędne w Overworld (X*8, Z*8)
  3. Wróć do Overworld i idź na obliczone współrzędne
  4. Zbuduj tam portal z obsydianu
  5. Wróć do Netheru i przejdź ponownie - gra powinna znaleźć nowy portal

Problem: Dwa portale w Overworld łączą się z jednym w Netherze

To najczęstszy problem. Rozwiazanie: zbuduj drugi portal w Netherze na współrzędnych obliczonych z drugiego portalu Overworld. Dwa portale w Overworld oddalone o mniej niż 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)

Istniejący 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, więc Portal 2 tez się łączy z tym samym portalem NE.

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

Żeby dwa portale w Overworld miały oddzielne portale w Netherze, musza być oddalone o więcej niż 128 bloków w Netherze, czyli 1024 bloki w Overworld (128 * 8). Dla portali blizszych niż 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 się centralna stacje w Netherze (hub) z wieloma portalami obok siebie, każdy prowadzący do innej bazy. Działa to, jeśli:

  • Każdy portal w Netherze jest na dokładnych współrzędnych (floor(X_OW/8), floor(Z_OW/8))
  • Każdy portal w Overworld jest na współrzędnych odpowiadających portalu NE (X_NE * 8, Z_NE * 8)
  • Nie ma "wolnych" portali w zasięgu, które mogą przejąć połączenie

Centralna stacja z autostradami lodowymi rozchodzacymi się 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 mieć dwa portale na tych samych współrzędnych X/Z, ale na różnych Y. Przyklad: portal na poziomie morza (Y=64) i na szczycie góry (Y=200). W Netherze potrzebujesz dwóch portali na tym samym X/Z, ale na różnych Y. Algorytm dystansu 3D rozrozni je po wysokości.

Ta technika jest przydatna w górach 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 zasięg wyszukiwania portalu jest mniejszy (128 bloków Overworld zamiast 1024 przy powrocie z Netheru). To oznacza, ze portale na Bedrock łatwiej się "gubia" i częściej tworzą niepotrzebne nowe portale. Obliczenia współrzędnych (X/8, Z/8) sa identyczne na obu edycjach.

Portal sam stworzyyl się w dziwnym miejscu. Dlaczego?

Gdy gra nie może umieścić portalu na obliczonej pozycji (np. jest tam ława albo pustka), szuka najbliższej bezpiecznej lokalizacji. Może to być na skale nad jeziorem lawy, w jaskini albo na netherracku daleko od idealnego punktu. Rozwiazanie: zniszcz automatyczny portal i zbuduj własny na prawidłowych współrzędnych, przygotowujac teren ręcznie.

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

Przejdź przez portal i natychmiast sprawdź współrzędne (F3). Porównaj je z Twoimi obliczeniami. Jeśli współrzędne nie zgadzają się z tym, czego oczekujesz, masz problem z linkowaniem. Wróć i zbuduj portal na prawidłowych współrzędnych 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 dokładnych wspolrzednych. Ale w survivalowym graniu jedyna opcja to ręczna budowa z obsydianu. 10 bloków obsydianu to minimum na portal 4x5 (bez rogów).

Ile portali mogę mieć w jednym świecie?

Nie ma limitu. Możesz mieć setki portali. Każdy jest niezależny i podlega temu samemu algorytmowi wyszukiwania. Im więcej portali masz blisko siebie, tym ważniejsze staja się precyzyjne obliczenia wspolrzednych.

Komentarze