Łączenie portali w Netherze - obliczenia i algorytm

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ń.
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:
- 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.
- Szukaj istniejącego portalu - W promieniu 128 bloków (Nether) lub 1024 bloków (Overworld) od obliczonej pozycji szukaj najbliższego aktywnego portalu.
- 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.
- Wybierz najbliższy - Gracz teleportuje się do portalu z najmniejszym dystansem.
- 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ół.
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
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: Przykłady obliczeń
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
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.
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.
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
- Sprawdź współrzędne portalu w Overworld (F3)
- Oblicz prawidłowe współrzędne w Netherze (X/8, Z/8)
- Przejdź do Netheru i idź na obliczone współrzędne
- Zbuduj tam nowy portal
- Wróć do Overworld i przejdź ponownie - gra znajdzie nowy, bliższy portal
Problem: Portal w Netherze prowadzi do złego portalu w Overworld
- Sprawdź współrzędne portalu w Netherze (F3)
- Oblicz prawidłowe współrzędne w Overworld (X*8, Z*8)
- Wróć do Overworld i idź na obliczone współrzędne
- Zbuduj tam portal z obsydianu
- 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.
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