Guides / Troubleshooting

Pakiet danych się nie ładuje? Struktura folderów i trzy nazwy, które muszą się zgadzać

Pakiet danych, który nie pojawia się na liście /datapack, ma problem ze ścieżką, a nie z kodem. Oto dokładna struktura, zasada przestrzeni nazw i foldery, które zostały zmienione.

/datapack list nic nie pokazuje lub wyświetla pakiet jako wyłączony. Prawie zawsze JSON jest w porządku, a foldery są błędne.

Struktura

world/datapacks/my_pack/
├── pack.mcmeta
└── data/
    └── my_namespace/
        ├── function/         one .mcfunction per file
        ├── recipe/
        ├── loot_table/
        ├── advancement/
        ├── predicate/
        └── tags/
            └── function/
                └── load.json

Trzy nazwy muszą się zgadzać, a jedna z nich nie jest oczywista:

  1. pack.mcmeta w katalogu głównym pakietu — obok data/, nie w jego środku.
  2. data/<namespace>/ — Twoja przestrzeń nazw, małymi literami, bez spacji. Staje się to prefiksem w my_namespace:my_function.
  3. Nazwy folderów kategorii, które się zmieniły i są zazwyczaj winowajcą.

Nazwy folderów zostały zmienione na liczbę pojedynczą

To zepsuło wiele pakietów i wiele samouczków:

StareObecne
functions/function/
recipes/recipe/
loot_tables/loot_table/
advancements/advancement/
predicates/predicate/
structures/structure/

Pakiet używający nazw w liczbie mnogiej ładuje się — pojawia się w /datapack list — i po prostu nic nie robi, co jest najbardziej mylącym trybem awarii. tags/ pozostało w liczbie mnogiej, podobnie jak tags/function/, które stało się liczbą pojedynczą w jego wnętrzu. Tak, to jest niespójne.

Automatyczne uruchamianie czegoś

Dwa specjalne tagi:

data/minecraft/tags/function/load.json   → runs once on load/reload
data/minecraft/tags/function/tick.json   → runs every tick

Zwróć uwagę na data/minecraft/, a nie na własną przestrzeń nazw — tag należy do Minecrafta, funkcje, na które wskazuje, należą do Ciebie:

{ "values": ["my_namespace:setup"] }

Diagnostyka krok po kroku

  1. /datapack list — jeśli pakiet w ogóle nie jest wymieniony, brakuje pack.mcmeta, jest źle sformatowany lub znajduje się o jeden poziom za głęboko.
  2. Wymieniony, ale wyłączony/datapack enable "file/my_pack". Zwróć uwagę na prefiks file/ i cudzysłowy.
  3. Wymieniony i włączony, ale bezczynny — błędny pack_format lub nazwy folderów w liczbie mnogiej.
  4. /reload i przeczytaj czat. Błędy składni w funkcjach pojawiają się tam, a nie po cichu.

Spakowany czy nie

Obie opcje działają. Spakowany oznacza pack.mcmeta w katalogu głównym zipa, dokładnie tak samo jak w przypadku pakietów zasobów. Forma folderu jest łatwiejsza podczas tworzenia, ponieważ /reload wykrywa zmiany bez ponownego pakowania.

Umiejscowienie na serwerze

Na serwerze ścieżka to <world>/datapacks/, gdzie <world> jest wartością level-name w server.properties — a nie katalogiem głównym serwera. Umieszczenie pakietu w folderze serwera to najczęstszy błąd po stronie serwera.

Złóż pakiet z aktualnymi nazwami folderów, prawidłowym pack.mcmeta i już podłączonym tagiem ładowania, a następnie pobierz go gotowego do wstawienia, za pomocą Datapack Studio.

Datapack Studio →

More guides

Browse all →

Szukasz innych narzędzi do Minecrafta?

Zestaw generatorów, podglądów i konwerterów działających w przeglądarce — wszystkie za darmo.