Minecraft Wiki Polska

Chcesz pomóc, ale nie wiesz, od czego zacząć? Sprawdź listę artykułów do rozszerzenia lub zilustrowania czy potrzebnych zmian.

CZYTAJ WIĘCEJ

Minecraft Wiki Polska
Advertisement
Information icon.svg
Ten element dotyczy wyłącznie Java Edition.

Funkcja − opcja w grze pozwalająca na uruchamianie zbiorów komend poprzez pliki tekstowe z rozszerzeniem .mcfunction.

Użycie[]

Do użycia funkcji potrzebny jest plik tekstowy umieszczony w katalogu .minecraft/saves/[nazwa świata]/data/functions. Pliki funkcji mogą być także umieszczane w podfolderach katalogu /functions. W trybie wieloosobowym funkcje muszą być zapisane w każdym świecie, w którym mają być użyte.

Dla przykładu uruchamianie funkcji custom:przykład/test będzie odpowiadać lokalizacji pliku functions/custom/przykład/test.mcfunction. Jeśli przestrzeń nazw została pominięta przy próbie wywołania funkcji, domyślną przestrzenią nazw zostanie minecraft:. Zalecane jes użycie własnej przestrzeni nazw bez modyfikowania domyślnej w celu zabezpieczenia przed błędami gry.[1]

Funkcje jako pliki tekstowe mogą być łatwo modyfikowane i nawet w większych ilościach są mniej podatne na powodowanie przeciążeń i błędów niż bloki poleceń. Po modyfikacji pliku funkcji należy użyć komendy /reload, by załadować do gry nową zawartość pliku z dysku bez potrzeby ponownego uruchamiania świata.

W plikach funkcji zalecane jest używanie systemu kodowania UTF-8 (bez BOM-u), by zapobiec problemom.

Po pomyślnym załadowaniu funkcji na czacie wyświetli się wiadomość: Wykonano [ilość] komend(y) z funkcji '[folder pliku funkcji]'.

Składnia funkcji[]

Testowanie systemu funkcji. W tej funkcji zostały użyte 3 komendy /tellraw i jedna /give.

W pliku .mcfunction na jedną komendę przeznaczony jest jeden wiersz tekstu. Przed komendą nie używa się slasha (/). Użytkownicy mogą dodawać komentarze do pliku funkcji, poprzedzając je znakiem #.

Domyślnie pojedyncze komendy w funkcjach nie mogą zawierać więcej niż 65 536 znaków. Wartość ta może być jednak zmieniana dzięki komendzie i parametrowi /gamerule maxCommandChainLength. Wszelkie komendy z ilością znaków powyżej nadanej wartości będą ignorowane podczas wykonywania funkcji.

Uruchamianie funkcji[]

Funkcje uruchomią wszystkie zawarte w nich komendy podczas trwania jednego ticku. Jeśli w danej funkcji znajduje się komenda wywołująca inną funkcję, wszystkie zostaną wywołane w ciągu tego samego czasu.

Zmiany pozycji bytów nie będą oddziaływać na komendy zapisane w funkcji przed następnym jej powtórzeniem, jeśli do zapisu pozycji użyto tyld ~. Komenda /execute omija to działanie.

Na przykład:

tp @s ~ ~5 ~
setblock ~ ~-1 ~ emerald_block
execute @s ~ ~ ~ setblock ~ ~-1 ~ diamond_block

Wywołana funkcja przeniesie gracza 5 bloków wyżej, umieści pod poprzednim miejscem jego pobytu blok szmaragdu, a na pozycji, na której znajduje się obecnie, umieści blok diamentu.

Poniżej znajdują się metody wywołania funkcji w grze:

Komendy[]

/function
  • Pozwala graczowi na jednorazowe wywołanie funkcji.
  • Komenda może zostać uruchomiona przez byt lub blok poleceń poprzez /function.
  • Opcjonalne argumenty jeśli i jeśli nie będą uruchamiane wyłącznie gdy zostanie podany selektor.
  • Użycie: /function
/gamerule gameLoopFunction* Uruchamia funkcję w każdym ticku.
  • Komendy w funkcji są uruchamiane przez serwer.
    • Koordynaty z jakich "serwer" wykonuje funkcje to (0, 0, 0).
  • Jeśli potrzebne jest zapętlenie wielu funkcji, możliwe jest wstawienie komend aktywujących inne funkcje do konkretnego pliku funkcji.
  • Użycie: /gamerule gameLoopFunction <przestrzeń nazw:ścieżka/pliku/funkcji>
  • Do zatrzymania zapętlenia funkcji należy użyć argumentu z nieistniejącą funkcją lub pozostawić argument pusty: /gamerule gameLoopFunction - (brak wartości jest domyślny).

Postępy[]

Postępy mogą aktywować funkcje po ich wykonaniu. Komendy w funkcji są uruchamiane przez ukończenie poprzez gracza danego postępu.

Działanie po wywołaniu funkcji dzięki ukończonemu postępowi jest określane przez pliki JSON używające wzoru

{
    "działanie": {
        "funkcja": "przestrzeń nazw:ścieżka/do/pliku/funkcji"
    }
}

Tagi[]

Funkcje mogą być grupowane poprzez użycie tagów w paczkach zasobów. Wywołanie konkretnego tagu komendą /function #(przestrzeń nazw):tag uruchomi wszystkie funkcje z wpisanym danym tagiem.

Historia[]

Pełna wersja
1.12-pre1Dodano funkcje.
-pre3Komendy nie mogą już rozpoczynać się znakiem / (slashem).
Komentarze mogą teraz być dodawane tylko poprzez znak #; użycie // nie jest już obsługiwane.
-pre4Dodano nowe argumenty do komendy /function: [jeśli tak|jeśli nie] [selektor]
-pre6W komendach funkcje, gdy warunek nie może zostać spełniony, są rozważane pod względem możliwości powodzenia.
1.1317w43aWłasne funkcje mogą być dodawane do paczek zasobów.
17w45aFunkcje są teraz w całości analizowane i buforowane przy ładowaniu.
17w49bFunkcje mogą być teraz tagowane.
Teraz funkcje tagowane w minecraft:tick uruchamiają się w każdym ticku na początku jego trwania.

Przypisy

Advertisement