-20% na pakiety Standard i Premium do 14.10, 23:59. Zobacz oferte →

Poradnik: jak wgrać grafiki na serwer

Krok po kroku, co zrobić z plikami pobranymi z edytora GUI, rang i texturepacka. Nie musisz nic wiedzieć o programowaniu. Wystarczy, że umiesz skopiować plik i wkleić tekst.

Jak chcesz wgrać grafiki?
Plugin QubustextureNasz pluginWrzucasz modele i obrazki do folderów, a plugin sam robi paczkę i wysyła ją graczom. Osobny poradnik.

Zanim zaczniesz

Paczka zasobów (inaczej texturepack) to zwykły plik .zip z obrazkami. Gra bierze z niego obrazki i pokazuje je zamiast swoich. Tak zmienisz wygląd miecza, a nawet dodasz własne GUI i rangi.

Jak to działa z GUI i rangami? Każdy Twój obrazek dostaje w paczce swój znak, tak jak literka. Gdy wpiszesz ten znak w tytule menu albo przed nickiem, gra narysuje tam Twój obrazek.

Potrzebujesz:

  • serwera Minecraft (każdy się nada),
  • dostępu do plików serwera: panel hostingu z menedżerem plików albo program FileZilla,
  • obrazków PNG z QubusStudio (wystarczy darmowe konto),
  • 10 minut. Wszystko robisz klikaniem i kopiowaniem.
Chcesz tylko zmienić wygląd przedmiotów u siebie, bez serwera? Przejdź od razu do sekcji Wygląd przedmiotów.

Jak zapisać plik z tekstem

W tym poradniku zrobisz kilka małych plików z tekstem, np. default.json. To zwykły tekst. Zapisujesz go w Notatniku, tylko z inną końcówką nazwy niż .txt.

  1. Pokaż końcówki nazw plików
    Otwórz Eksplorator plików. Kliknij Widok, potem Pokaż i zaznacz Rozszerzenia nazw plików. Teraz widzisz, czy plik to default.json, czy default.json.txt.
  2. Otwórz Notatnik i wklej tekst
    Przy każdej ciemnej ramce w tym poradniku jest przycisk Kopiuj. Kliknij go i wklej tekst do Notatnika (Ctrl + V).
  3. Zapisz z dobrą nazwą
    Kliknij Plik, potem Zapisz jako. Na dole przy „Zapisz jako typ” wybierz Wszystkie pliki. Wpisz nazwę razem z końcówką, np. default.json. Kodowanie zostaw UTF‑8 i kliknij Zapisz.
Plik nazywa się default.json.txt? Gra go nie zobaczy. Kliknij go prawym przyciskiem, wybierz Zmień nazwę i usuń .txt z końca.

Twoja paczka zasobów (robisz raz)

Paczkę robisz raz. Potem tylko dorzucasz do niej nowe obrazki.

Krok 1: zrób foldery

  1. Zrób folder moj_pack
    Na pulpicie kliknij prawym przyciskiem, wybierz Nowy, potem Folder i nazwij go moj_pack.
  2. Zrób w środku foldery jak na rysunku
    Nazwy muszą być dokładnie takie same, małymi literami.
  3. Wrzuć obrazki do folderu qubus
    Obrazek GUI pobierzesz w edytorze GUI przyciskiem Pobierz PNG, a plakietkę rangi w edytorze rang przyciskiem Tylko PNG. Nazwy plików: małe litery, bez spacji i bez polskich znaków, np. sklep.png.
Tak ma wyglądać folder moj_pack
moj_pack/
├── pack.mcmeta              ← opis paczki (krok 2)
└── assets/
    └── minecraft/
        ├── font/
        │   └── default.json     ← lista obrazków (krok 3)
        └── textures/
            └── qubus/
                ├── sklep.png        ← Twoje GUI
                └── ranga_admin.png  ← Twoja ranga

Krok 2: plik pack.mcmeta

Ten plik mówi grze: „to jest paczka zasobów”. Skopiuj tekst niżej i zapisz go w folderze moj_pack jako pack.mcmeta (tak jak w sekcji Jak zapisać plik).

moj_pack/pack.mcmeta
{
  "pack": {
    "pack_format": 34,
    "description": "Moj serwer"
  }
}

Liczba 34 pasuje do gry od 1.20.5 do 1.21.1. Masz inną wersję? Weź liczbę z tabelki na dole sekcji Wygląd przedmiotów. Zła liczba niczego nie psuje, gra tylko pokaże ostrzeżenie.

Krok 3: plik default.json (zrobi go za Ciebie generator)

Ten plik to lista Twoich obrazków. Każdy obrazek dostaje w nim swój znak. Nie musisz nic pisać:

  1. Kliknij „Wybierz swoje pliki PNG”
    Zaznacz obrazki z folderu qubus.
  2. Skopiuj default.json
    Kliknij Kopiuj nad ciemną ramką na dole generatora.
  3. Zapisz plik
    Zapisz go jako default.json w folderze moj_pack/assets/minecraft/font.
albo wpisz nazwy ręcznie poniżej
\uE000
\uE001
Komendy LuckPerms dla wszystkich rang
/lp creategroup admin
/lp group admin meta setprefix 100 "&f[admin] "
W podglądzie niewidzialne znaki są zastąpione nazwą w nawiasie. Przycisk kopiuje prawdziwe znaki, gotowe do wklejenia w konsoli (po jednej linijce). Grupa bierze nazwę z pliku bez przedrostka ranga_, a ważność maleje od pierwszej rangi na liście.
Wysokość to wysokość obrazka w pikselach (Windows: prawy klik na PNG, Właściwości, Szczegóły). Przy wybraniu plików generator odczyta ją sam. Kolejność ma znaczenie: jeśli dopiszesz coś później, dodawaj na końcu, żeby stare znaki się nie zmieniły.
moj_pack/assets/minecraft/font/default.json
{
  "providers": [
    { "type": "space", "advances": { "\uF000": -8, "\uF001": -1, "\uF002": -2, "\uF003": -3, "\uF004": -4, "\uF005": 1, "\uF006": 2, "\uF007": 4 } },
    { "type": "bitmap", "file": "minecraft:qubus/sklep.png", "ascent": 13, "height": 256, "chars": ["\uE000"] },
    { "type": "bitmap", "file": "minecraft:qubus/ranga_admin.png", "ascent": 8, "height": 9, "chars": ["\uE001"] }
  ]
}
Dodajesz obrazki później? Dopisz je na końcu listy w generatorze. Wtedy stare znaki zostaną takie same i nic nie trzeba poprawiać w menu ani w rangach.

Krok 4: spakuj paczkę do .zip

  1. Wejdź do środka folderu moj_pack
    Kliknij go dwa razy.
  2. Zaznacz wszystko w środku
    Wciśnij Ctrl + A. Zaznaczą się pack.mcmeta i folder assets.
  3. Zrób zip
    Kliknij prawym przyciskiem na zaznaczeniu i wybierz Kompresuj do pliku ZIP (w Windows 11: Skompresuj do, potem Plik ZIP). Nazwij go moj_pack.zip.
Pakujesz to, co jest w środku folderu, a nie sam folder moj_pack. Gdy otworzysz zip, pack.mcmeta ma być widoczny od razu.

Krok 5: daj paczkę graczom

Serwer nie wysyła pliku sam. Wrzucasz zip do internetu, a serwer podaje graczom link do niego.

  1. Wrzuć zip do internetu
    Najprościej na stronę MCPacks (mc-packs.net): wybierasz plik i dostajesz link.
  2. Wpisz link w server.properties
    Plik server.properties leży w głównym folderze serwera. Otwórz go, znajdź te linijki i wpisz swój link:
    server.properties
    resource-pack=https://twoj-link-do-paczki.zip
    require-resource-pack=true
  3. Zrestartuj serwer
    Gracz przy wejściu zobaczy pytanie, czy pobrać paczkę. Klika Tak i gotowe.
Link z Google Drive nie zadziała. Link musi od razu pobierać plik, bez żadnej strony po drodze. Z Dropboxa działa, gdy na końcu linku zamienisz dl=0 na dl=1.

Gdy zmienisz coś w paczce

Gra pamięta starą paczkę. Żeby gracze dostali nową, dopisz kod SHA‑1. To 40 liter i cyfr, coś jak odcisk palca pliku. Każdy nowy zip ma inny kod, więc gra od razu wie, że ma pobrać paczkę jeszcze raz.

  1. Wrzuć nowy zip
    MCPacks pokaże przy nim kod SHA‑1. Skopiuj go.
  2. Wpisz link i kod w server.properties
    server.properties
    resource-pack=https://twoj-link-do-paczki.zip
    resource-pack-sha1=tu_wklej_kod
    require-resource-pack=true
  3. Zrestartuj serwer
▸Nie używasz MCPacks? Tak policzysz kod sam (Windows)
Otwórz folder z plikiem moj_pack.zip. Kliknij w pasek adresu na górze okna, wpisz cmd i wciśnij Enter. W czarnym oknie wpisz komendę niżej i wciśnij Enter. Kod to długi ciąg w drugiej linijce.
Czarne okno (wiersz polecenia)
certutil -hashfile moj_pack.zip SHA1

GUI w menu

GUI pokazuje się w tytule okna skrzyni. Tytuł ustawiasz w pluginie od menu, np. DeluxeMenus.

  1. Skopiuj tytuł z generatora
    W generatorze (sekcja Twoja paczka zasobów, krok 3) przy swoim GUI kliknij Kopiuj tytuł do .yml.
  2. Otwórz plik swojego menu
    W DeluxeMenus to np. plugins/DeluxeMenus/gui_menus/sklep.yml.
  3. Wklej tytuł w menu_title
    Wklej go między podwójne cudzysłowy, tak jak tu:
    plugins/DeluxeMenus/gui_menus/sklep.yml
    menu_title: "&f\uF000\uE000"
    open_command: sklep
    size: 54
  4. Ustaw liczbę slotów
    size to liczba kratek: 27 dla 3 rzędów skrzyni, 54 dla 6 rzędów. Ma być tyle rzędów, ile miałeś w edytorze.
  5. Przeładuj menu i sprawdź
    Wpisz /dm reload i otwórz menu w grze.

Co znaczą te znaki? &f to biały kolor (bez niego GUI wyjdzie szare). \uF000 przesuwa obrazek do lewej krawędzi skrzyni. \uE000 to Twój obrazek.

Cudzysłów musi być podwójny ". W pojedynczym ' zamiast obrazka zobaczysz napis.
Numer kratki do slot: zobaczysz w edytorze GUI: włącz Numery slotów na dolnym pasku.

Rangi na czacie

Ranga to plakietka przed nickiem, np. ADMIN. Rangi trzyma plugin LuckPerms. Każda grupa graczy ma tam prefiks, czyli to, co stoi przed nickiem. Tam wkleisz znak swojej plakietki.

Krok po kroku

  1. Wgraj paczkę z plakietkami
    Tak jak w sekcji Twoja paczka zasobów. Bez paczki zamiast plakietki zobaczysz pusty kwadracik.
  2. Skopiuj komendy
    W generatorze kliknij Kopiuj komendy LuckPerms. To gotowe komendy dla wszystkich Twoich rang.
  3. Wklej je w konsoli serwera
    Wklejaj po jednej linijce i każdą zatwierdzaj Enterem.
  4. Daj graczowi rangę
    Konsola serwera
    /lp user NickGracza parent add admin
    Zamiast NickGracza wpisz nick, a zamiast admin nazwę rangi.
  5. Wyjdź i wejdź na serwer
    Plakietka pojawi się przed nickiem.
Znak plakietki jest niewidzialny. W konsoli wygląda jak pusty kwadracik albo nic. To normalne, w grze z paczką zobaczysz plakietkę.

Plakietki nie ma na czacie?

LuckPerms tylko pamięta plakietkę. Na czacie wypisuje ją plugin od czatu. Najprościej użyć EssentialsX Chat (razem z pluginem Vault). W pliku plugins/Essentials/config.yml znajdź część chat i ustaw:

plugins/Essentials/config.yml
chat:
  format: '{PREFIX}{DISPLAYNAME}&7: &f{MESSAGE}'

{PREFIX} to miejsce na plakietkę. Potem wpisz /essentials reload.

Plakietka na liście graczy i nad głową

Listę graczy (pod klawiszem Tab) i napis nad głową ustawia plugin TAB. Potrzebuje jeszcze pluginu PlaceholderAPI.

  1. Raz wpisz w konsoli
    Konsola serwera
    /papi ecloud download LuckPerms
    /papi reload
  2. W ustawieniach TAB wpisz plakietkę
    W polach tabprefix i tagprefix wpisz %luckperms_prefix%. TAB zamieni ten napis na plakietkę gracza.

Wygląd plakietki

  • Plakietka jest szara albo kolorowa? Przed znakiem musi stać &f (biały). Komendy z generatora już go mają.
  • Za duża albo za mała? W default.json zmień height, czyli wysokość w pikselach. Linijka czatu ma 9 pikseli, więc 9 to dobry wybór.
  • Za wysoko albo za nisko? Zmień ascent o 1. Mniejsza liczba to niżej, większa to wyżej.
  • Nick stoi za daleko albo za blisko? Zamiast spacji za plakietką wklej znak odstępu z tabelki (minus przybliża, plus oddala):
OdstępKod w .ymlZnak do komendy
-1 px\uF001
-2 px\uF002
-3 px\uF003
-4 px\uF004
+1 px\uF005
+2 px\uF006
+4 px\uF007

Wpisujesz plakietkę w pliku .yml innego pluginu? Możesz wpisać kod zamiast znaku, ale tylko w podwójnym cudzysłowie: "&f\uE001 ".

Wygląd przedmiotów

W edytorze texturepacka malujesz przedmioty piksel po pikselu. Paczka zmienia wygląd zwykłych rzeczy z gry. Gra szuka obrazka po nazwie, więc nazwa jest najważniejsza.

Nazwa musi być taka jak w grze: po angielsku, małymi literami. Diamentowy miecz to diamond_sword, jabłko to apple, chleb to bread. Nazwę sprawdzisz w grze: wciśnij F3 + H i najedź na przedmiot.

Wypróbuj u siebie (bez serwera)

  1. Pobierz paczkę
    W edytorze w zakładce Eksport kliknij Pobierz pack.zip. Nie rozpakowuj go.
  2. Otwórz folder paczek
    W grze: Opcje, Paczki zasobów, Otwórz folder paczek.
  3. Wrzuć tam plik .zip
    Przeciągnij go do tego folderu.
  4. Włącz paczkę
    Wróć do gry. Kliknij strzałkę przy swojej paczce, żeby przeszła na prawą stronę, i kliknij Gotowe.

Na serwerze

Serwer daje graczom jedną paczkę. Masz już paczkę z GUI i rangami? Wrzuć obrazki przedmiotów do niej, do folderu textures/item:

Jedna paczka na wszystko
moj_pack/
├── pack.mcmeta
└── assets/minecraft/
    ├── font/default.json           ← GUI i rangi
    └── textures/
        ├── qubus/...                ← obrazki GUI i rang
        └── item/diamond_sword.png   ← Twój miecz

Nie masz innej paczki? Wyślij graczom sam pack.zip z edytora, tak jak w kroku 5 sekcji Twoja paczka zasobów.

Gdzie w paczce leżą obrazki

moj_pack/assets/minecraft/textures
textures/
├── item/    ← przedmioty, np. diamond_sword.png
└── block/   ← bloki, np. stone.png
             (pień ma dwa: oak_log.png to bok, oak_log_top.png to góra)

Obrazek w grze ma 16 x 16 pikseli. Możesz dać większy (32, 64, 128), byle był kwadratem.

Ruchomy obrazek (animacja)

  1. Ułóż klatki jedna pod drugą
    Cztery klatki 16 x 16 dają jeden obrazek 16 x 64 pikseli.
  2. Dołóż mały plik obok
    Nazwij go jak obrazek, z dopiskiem .mcmeta na końcu:
    assets/minecraft/textures/item/diamond_sword.png.mcmeta
    {
      "animation": {
        "frametime": 4
      }
    }
    frametime to czas jednej klatki. 20 to jedna sekunda, więc 4 to szybka animacja.

Szybkie poprawianie: F3 + T

Grając u siebie, możesz wrzucić do folderu paczek rozpakowany folder moj_pack. Zmieniasz obrazek, wciskasz w grze F3 + T i od razu widzisz zmianę, bez pakowania i bez restartu.

Liczba pack_format dla Twojej wersji gry

Wersja grypack_format
1.20.5 do 1.21.134
1.21.2 i 1.21.342
1.21.446
1.21.555
1.21.663
1.21.7 i 1.21.864

Nowszej wersji nie ma w tabelce? Liczbę znajdziesz na minecraft.wiki pod hasłem „Pack format”.

Własny przedmiot obok zwykłego

Podmiana obrazka zmienia każdy diamentowy miecz. A co, jeśli chcesz zwykły miecz i obok niego specjalny „Miecz Ognia”? Wtedy dajesz mieczowi własny wygląd, który ma tylko ten jeden przedmiot.

Przykład dla obrazka miecz_ognia.png i gry 1.21.4 albo nowszej:

  1. Zrób w paczce nowy folder qubus
    Obok folderu minecraft, czyli w moj_pack/assets. W środku trzy rzeczy jak na rysunku.
  2. Wrzuć obrazek i zapisz dwa pliki
  3. Daj sobie przedmiot komendą w grze
moj_pack/assets
assets/
├── minecraft/...                  ← to, co już masz
└── qubus/
    ├── items/miecz_ognia.json      ← plik 1
    ├── models/item/miecz_ognia.json ← plik 2
    └── textures/item/miecz_ognia.png ← Twój obrazek
Plik 1: assets/qubus/items/miecz_ognia.json
{
  "model": {
    "type": "minecraft:model",
    "model": "qubus:item/miecz_ognia"
  }
}
Plik 2: assets/qubus/models/item/miecz_ognia.json
{
  "parent": "minecraft:item/handheld",
  "textures": {
    "layer0": "qubus:item/miecz_ognia"
  }
}

handheld znaczy: trzymaj jak miecz, po skosie. Dla jedzenia albo klejnotu wpisz zamiast niego generated.

Komenda w grze (jako operator)
/give @p diamond_sword[item_model="qubus:miecz_ognia"]
Pluginy od sklepów i skrzynek mają w ustawieniach przedmiotu pole item_model albo item-model. Wpisz tam qubus:miecz_ognia, a przedmiot z pluginu dostanie Twój wygląd.
▸Masz starszą grę (od 1.14 do 1.21.3)? Kliknij tutaj

Tu nie ma pliku 1. Zamiast niego dopisujesz do zwykłego miecza „wyjątek”: miecz z numerem 1001 ma wygląd Miecza Ognia. Plik 2 i obrazek zostają takie same.

assets/minecraft/models/item/diamond_sword.json
{
  "parent": "minecraft:item/handheld",
  "textures": {
    "layer0": "minecraft:item/diamond_sword"
  },
  "overrides": [
    { "predicate": { "custom_model_data": 1001 }, "model": "qubus:item/miecz_ognia" }
  ]
}
Komenda w grze 1.20.5 do 1.21.3
/give @p diamond_sword[custom_model_data=1001]
Komenda w grze 1.14 do 1.20.4
/give @p diamond_sword{CustomModelData:1001}

Kolejny specjalny miecz dostaje numer 1002, następny 1003 i tak dalej.

Najczęstsze problemy

▸Zamiast GUI albo rangi widzę pusty kwadracik
Gra nie ma obrazka dla tego znaku. Sprawdź po kolei: czy gracz ma włączoną paczkę, czy PNG leży w assets/minecraft/textures/qubus, czy nazwa pliku jest taka sama jak w default.json i czy default.json leży w assets/minecraft/font.
▸Paczka się nie wczytuje albo gra pokazuje błąd
Najczęściej to literówka w default.json. Zrób go jeszcze raz generatorem i wklej w całości. Sprawdź też, czy po otwarciu zipa od razu widać pack.mcmeta.
▸Gra mówi, że nie udało się pobrać paczki
Link nie prowadzi prosto do pliku. Otwórz go w przeglądarce: pobieranie ma ruszyć od razu. Google Drive tak nie działa, Dropbox tylko z dl=1 na końcu.
▸Zmieniłem paczkę, a gracze dalej mają starą
Dopisz nowy kod SHA‑1 w server.properties i zrestartuj serwer (sekcja Twoja paczka zasobów, „Gdy zmienisz coś w paczce”). Jeśli przy wejściu kliknąłeś Nie, na liście serwerów kliknij Edytuj i ustaw paczki zasobów na Włączone.
▸W tytule menu widzę napis \uE000 zamiast obrazka
Tytuł musi być w podwójnym cudzysłowie: "&f\uF000\uE000".
▸GUI jest szare albo przesunięte
Szare: brakuje &f na początku tytułu. Przesunięte: tytuł musi zaczynać się od \uF000, a size musi zgadzać się z liczbą rzędów z edytora.
▸Znak w pliku .yml zamienił się w pytajnik
Plik zapisał się źle. Wklej znak jeszcze raz i zapisz z kodowaniem UTF‑8 (Notatnik: Zapisz jako, na dole Kodowanie).
▸Plakietka jest na czacie, ale nie ma jej na liście graczy
Listę graczy ustawia inny plugin, zwykle TAB. Zobacz w sekcji Rangi na czacie, „Plakietka na liście graczy”.
▸Przedmiot ma fioletowo-czarną kratkę
Gra nie znalazła obrazka. Sprawdź, czy PNG leży w dobrym folderze i czy nazwa w pliku jest taka sama jak nazwa obrazka (bez .png).
▸Mój przedmiot dalej wygląda zwyczajnie
Nazwa obrazka nie zgadza się z nazwą w grze. Sprawdź ją przez F3 + H. Upewnij się też, że paczka jest włączona i stoi wyżej niż inne paczki na liście.

Dalej nie działa? Napisz na naszym Discordzie, pomożemy. Dołącz zrzut ekranu i to, co wypisuje konsola serwera przy starcie.