Przejdź do treści głównej
50% zniżki wszystkie plany, oferta limitowana. Od $2.48/mo
14 min left
Gaming i media

Pięć praktycznych sposobów wykorzystania ChatGPT w tworzeniu modpacków do Minecrafta

B Autor: Bill 14 min czytania
AI chat window returning a diagnosis next to a Minecraft crash log and KubeJS recipe script

Wklejasz raport o awarii do ChatGPT, a on z pełnym przekonaniem wskazuje mod, którego w twoim packu w ogóle nie ma. Prosisz o recepturę KubeJS i dostajesz event.recipes.minecraft.shaped(...), przestarzałą składnię, która nie odpowiada aktualnym przykładom receptur KubeJS. Prosisz o blok FTB Quests, a dostajesz przecinki w stylu JSON, co może zepsuć wielowierszowy format FTB SNBT używany w plikach questów z ery 1.21.1.

Narzędzie nie jest zepsute. Zepsuty jest prompt. Modele AI często wracają do starszych przykładów moddingu Minecrafta, co jest ryzykowne dla aktualnych plików KubeJS i FTB Quests. Podaj modelowi dokładną wersję gry, build loadera, docelowy format pliku i działający przykład z własnego kodu, a wynik przejdzie z „pewnie błędnego” do „w większości poprawnego, resztę zweryfikuj”.

O to tu chodzi: te prompty działają w asystencie, za którego już płacisz (ChatGPT, Claude, Copilot), bez rejestracji w narzędziu do crashy i bez dodatkowej subskrypcji. Zakładają też, że potrafisz czytać wynik. KubeJS wygenerowany przez AI to skrót przy pisaniu dla kogoś, kto zna KubeJS; jeśli nie wyłapiesz zmyślonego ID przedmiotu, taki KubeJS cię ugryzie. Poniżej pięć promptów przypisanych do konkretnych zadań i uwzględniających wersję, każdy z realistycznym przykładem odpowiedzi i uwagą, gdzie zawodzi.

TL;DR

Najlepsze prompty ChatGPT do tworzenia modpacków Minecraft zawsze dostarczają trzy rzeczy: dokładną wersję Minecrafta, dokładny mod loader wraz z wersją i działający przykład z twojej własnej bazy kodu. Przy takim kontekście AI tworzy bardziej użyteczne pierwsze wersje dla triage'u crashy, receptur KubeJS, SNBT dla FTB Quests, krótkich list modów i komunikatów commitów. Ale każde ID przedmiotu, wywołanie API i szesnastkowe ID questa weryfikujesz sam. AI przyspiesza kompetentnego moddera; nie tworzy packa.

Czego te prompty nie zrobią

Ustaw oczekiwania, zanim cokolwiek skopiujesz:

  • Nie zbudują za ciebie modpacka. Każdy prompt tworzy jeden artefakt (recepturę, blok questa, diagnozę), który wrzucasz do packa, który już projektujesz.
  • Nie nauczą cię KubeJS ani SNBT. Jeśli składnia poniżej wygląda obco, tryby awarii cię ominą. Najpierw naucz się formatu, dopiero potem używaj AI, by przyspieszyć.
  • Nie zastąpią prawdziwego serwera testowego. AI wnioskuje ze stack trace'a; nie powie ci, że pack faktycznie się uruchamia ze 150 wczytanymi modami.
  • Nie zagwarantują poprawnego wyniku. Traktuj wszystko, co zwraca AI, jako pierwszą wersję do przejrzenia, a nie gotową odpowiedź.

Dlaczego AI potrzebuje właściwego kontekstu, zanim cokolwiek napisze

Minecraft version, loader build, and known-good code example supplying context to an AI prompt

Oto różnica między promptem, który działa, a ogólnym „zrób mi recepturę do Minecrafta": kontekst. Pomiń wersję i loader, a model może wygenerować starą składnię KubeJS dla twojego packa 1.21.1 na NeoForge, wymyślić nieistniejące ID przedmiotów albo sformatować FTB SNBT jak zwykły JSON. Skrypt może nic nie zrobić albo wysypać się z błędem zakopanym w logu, który i tak musisz przeczytać.

Dlatego każdy prompt w tym artykule niesie ten sam trzyczęściowy kontekst, który uzupełniasz z własnego packa:

  1. Dokładna wersja Minecrafta: 1.20.1, 1.21.1, ta, na której faktycznie grasz.
  2. Dokładny mod loader i wersja: Forge, NeoForge, Fabric lub Quilt, plus numer builda.
  3. Działający przykład z twojej własnej bazy kodu, wszędzie tam, gdzie możesz go podać. Jedna prawdziwa receptura z twojego server_scripts/, jeden poprawny blok questa, jeden wcześniejszy komunikat commita. To zdecydowanie największa dźwignia jakości: model odwzorowuje styl i API, które mu podasz, o wiele wierniej niż te, które zgaduje.

Wskazówka: Linijka z wersją nie jest opcjonalną ozdobą. KubeJS 6.x dla Minecrafta 1.20.1 i KubeJS 7.2.x dla Minecrafta 1.21.1 to różne cele, a dokładny zainstalowany build wciąż ma znaczenie. Prompt, który pomija dokładne wersje gry, loadera i KubeJS, prosi model o zgadywanie.

Prompt: triage crash logów

Minecraft crash log moving through suspect ranking and controlled mod testing

Ten prompt zamienia ścianę stack trace'a w uszeregowaną listę podejrzanych modów i jeden następny krok, co jest najszybszym sposobem na skrócenie ślepego wyszukiwania binarnego.

You are helping me diagnose a Minecraft crash. Here is the context:
- Minecraft version: 1.21.1
- Mod loader + version: NeoForge [paste your exact build]
- What triggered it: crash on world load, ~150 mods
- (If it looks like a missing-dependency error, I'll paste the mod list too)

Here is the full crash report (or the first 100 lines plus every Caused by: block):
[paste the crash-report text or the top of latest.log]

Tell me:
1. The most likely cause, in one sentence.
2. A ranked list of the 2-3 mods most likely involved and why.
3. The single next step you'd take to confirm which one it is.
Keep it short. Don't guess at mods that aren't in the trace.

Realistyczna odpowiedź wygląda tak:

Prawdopodobna przyczyna: konflikt mixinów podczas ładowania świata. Dwa mody mogą wstrzykiwać się do tej samej klasy. Podejrzani: (1) Ramka org.spongepowered.asm.mixin.transformer wskazuje na mixin, którego nie udaje się zastosować; pierwszym podejrzanym jest mod będący właścicielem docelowej klasy. (2) Jedną ramkę wyżej pojawia się drugi mod ruszający renderowanie encji. (3) Mniej prawdopodobnie mod konfiguracyjny wczytany tuż przed awarią. Następny krok: wyciągnij obu podejrzanych, uruchom i dodawaj ich z powrotem po jednym. To potwierdzi tę parę szybciej niż usuwanie połowy listy.

Co dostroić: Jeśli diagnoza wraca ogólnikowa („jakiś mod koliduje"), to znaczy, że dałeś za mało stack trace'a: wklej pełny raport o awarii zamiast pierwszych 100 linii i dodaj listę modów z wersjami. Jeśli dalej jest mglista, log naprawdę nie wskazuje winowajcy i wracasz do wyszukiwania binarnego.

Gdzie zawodzi: AI z pełnym przekonaniem wskaże winnego moda, choć prawdziwa przyczyna leży gdzie indziej w stack trace. Traktuj jej odpowiedź jako uszeregowaną hipotezę, nie wyrok. Potwierdzasz ją, faktycznie wyciągając mody i uruchamiając grę.

To ten etap, który ludzie pomijają. AI czyta stack trace; nie powie ci, że pack uruchamia się czysto w realnych warunkach, bo część crashy pojawia się dopiero, gdy kilka modów inicjalizuje się razem na serwerze, a nie przy szybkim odpaleniu w trybie jednoosobowym. Właśnie wtedy przydaje się jednorazowy serwer testowy. Marketplace Cloudzy ma też wdrożenie Minecraft Forge jednym kliknięciem na Ubuntu Server 24.04 LTS. Marketplace podaje 2 GB RAM jako minimum, ale to dolna granica platformy, a nie cel przy dobieraniu zasobów dla dużego modpacka. Dla małego packa testowego 4 GB RAM i 2 vCPU to rozsądny punkt wyjścia; przy 100+ modach zacznij od około 8 GB i 4 vCPU, a potem dostosuj do liczby graczy, generowania świata i realnego profilowania. Postaw go, potwierdź poprawkę pod obciążeniem i skasuj.

VPS do gier

Hostuj serwery gier bez lagów dzięki szybkiemu hostingowi VPS NVMe.

VPS do gier

Prompt: generowanie receptur KubeJS

Ten prompt tworzy recepturę KubeJS dokładnie w tym API, którego używa twój pack, o ile najpierw wkleisz działającą recepturę z własnych skryptów, żeby model się do niej dopasował.

Write a KubeJS recipe for me.
- Target: Minecraft 1.21.1 / NeoForge [paste exact build] / KubeJS [paste exact installed 7.2.x build]
  (For the older line, use: Minecraft 1.20.1 / your exact loader build / your exact installed KubeJS 6.x build)
- Goal: a shaped recipe that crafts 3x create:andesite_alloy from
  iron nuggets and andesite.

Here is one working recipe from my server_scripts/ so you match my API style:
[paste one real ServerEvents.recipes block from your pack]

Output only the recipe, inside a ServerEvents.recipes(event => {...}) block.
Use item IDs exactly as I'd find them in-game; flag any ID you're unsure exists.

Z linią KubeJS 7.2.x dla Minecrafta 1.21.1 i wklejonym przykładem dostajesz aktualną składnię event.shaped() , pokazaną w dokumentacji receptur KubeJS:

// KubeJS 7.2.x - Minecraft 1.21.1 / NeoForge
ServerEvents.recipes(event => {
  event.shaped(
    Item.of('create:andesite_alloy', 3),
    ['III', 'IAI', 'III'],
    { I: 'minecraft:iron_nugget', A: 'minecraft:andesite' }
  )
})

Co dostroić: Dla Minecrafta 1.20.1 podaj dokładny build loadera i dokładnie zainstalowany build KubeJS 6.x, żeby model trafił w tę linię. Aby usunąć lub podmienić recepturę vanilla, poproś wprost o event.remove({ output: '...' }) or event.replaceInput(...) wprost: nazwij metodę, żeby nie improwizował.

Gdzie zawodzi: Dominują tu dwie awarie: zmyślone ID przedmiotów (create:andesite_alloy istnieje; create:andesite_gear może nie) oraz wynik dla złej wersji, gdy zapomnisz linii z celem. Zweryfikuj każde ID przedmiotu względem zainstalowanych modów, potem wrzuć skrypt do packa testowego i przeczytaj kubejs/logs/server.log.

Wskazówka: Wklejenie jednego sprawdzonego przykładu z własnego server_scripts/ zanim poprosisz o cokolwiek nowego, jest warte więcej niż jakiekolwiek sformułowanie promptu. Model naśladuje konkretny przykład przed sobą znacznie wierniej niż abstrakcyjne „poprawne" API, które pamięta połowicznie.

Prompt: pisanie ksiąg FTB Quests (SNBT na 1.21.1)

FTB Quests SNBT and JSON5 formats compared across Minecraft versions

Ten prompt tworzy wpisy FTB Quests w rozszerzonym formacie SNBT od FTB dla Minecrafta 1.21.1. To najtrudniejsze zadanie dla AI w całym zestawie, bo SNBT wygląda jak JSON, a model rozpaczliwie chce go traktować jak JSON. Dla Minecrafta 26.1.2 i nowszych FTB Quests używa JSON5 zamiast tego, więc nie używaj tam tego promptu SNBT.

Write an FTB Quests task block in FTB SNBT for Minecraft 1.21.1 / NeoForge.

FTB SNBT is NOT JSON. Follow these rules exactly:
- Do not use commas between fields in multiline objects.
- Match the 16-character UPPERCASE hexadecimal ID format used by my existing quests
  (example: 7942A6A571A4C5EB).
- Put the required amount in the task-level count field as a long (count: 8L); keep the nested item stack count at 1.
- This is a task block only; do not add chapter-level fields such as filename or quests.

Goal: an "item" task requiring 8x minecraft:diamond.
Match this known-good block's structure exactly:
[paste a valid SNBT block from your existing chapter file]

Output only the SNBT block.

Wzoruj wynik na bloku, o którym już wiesz, że jest poprawny:

{
    id: "7942A6A571A4C5EB"
    type: "item"
    item: {
        count: 1
        id: "minecraft:diamond"
    }
    count: 8L
}

Co dostroić: Dla całego rozdziału zamiast jednego zadania poproś o opakowanie rozdziału z filename i a quests: [...] a potem wymagaj osobnego 16-znakowego szesnastkowego ID dla każdego questa. Jeśli powtarza ID albo zmienia format, wklej dwa lub trzy sprawdzone ID i każ mu się do nich dostosować.

Gdzie zawodzi: Dodaje przecinki JSON do wielowierszowego FTB SNBT, wstawia wymaganą ilość do zagnieżdżonego stosu przedmiotów zamiast do pola count na poziomie zadania albo generuje zniekształcone ID questów. Każdy z tych przypadków może uniemożliwić wczytanie rozdziału lub sprawić, że zadanie źle zliczy postęp. Zwaliduj każdy blok względem działającej struktury i sprawdź log serwera, zanim trafi to w pobliże config/ftbquests/.

Prompt: dobór modów według motywu

Ten prompt używa AI jako skrótu do pomysłów (tematycznej krótkiej listy modów do sprawdzenia), nigdy jako źródła prawdy o tym, co istnieje.

Suggest mods for a modpack with this theme: [your theme, e.g. "steampunk
automation, tech-focused, no magic"].
- Minecraft version: 1.21.1
- Loader: NeoForge

For each suggestion, give me:
- The mod name and what it contributes to the theme.
- Whether you're confident it exists for 1.21.1 / NeoForge, or unsure.

Mark anything you're not certain about as UNVERIFIED. Do not assert
availability you're not sure of; I'll confirm each one on CurseForge/Modrinth.

Użyteczna odpowiedź oddziela pewne typy od zgadywanek:

Potwierdzone przykłady dla 1.21.1 / NeoForge (sprawdź dokładny plik): Utwórz, do automatyzacji i mechanizmów; Immersive Engineering, do maszyn multiblokowych i technologii przemysłowej. UNVERIFIED: [mniejsze dodatki, których model nie potrafi potwierdzić]. Sprawdź stronę projektu, zanim cokolwiek dodasz.

Co dostroić: Zawęź mocniej, prosząc wyłącznie o mody z potwierdzoną stroną na CurseForge lub Modrinth, i poproś o jednolinijkową notkę o zgodności przy każdym modzie (zależności, znane konflikty), żeby twoja krótka lista była zarazem listą kontrolną do researchu.

Gdzie zawodzi: AI bez skrępowania zmyśla nazwy modów i dostępność wersji. Wymyśli wiarygodnie brzmiący mod, który nie istnieje, albo stwierdzi, że jest build na 1.21 dla czegoś, co zatrzymało się na 1.19. Każda sugestia to trop do potwierdzenia na CurseForge lub Modrincie, a nie wpis do twojej modlisty.

Prompt: pisanie changelogów i komunikatów commitów

To najmniej ryzykowne i najbardziej niezawodne zadanie dla AI w całym zestawie: podaj jej diff, który sam zrobiłeś, i poproś o streszczenie. W tym jest naprawdę dobra.

Here are the changes in this modpack update (from my packwiz .pw.toml
adds/removes/updates):
[paste your git diff or a list of added/removed/updated mods]

Write two things:
1. A Conventional Commit message (type(scope): summary + a short body).
2. A short player-facing changelog entry, with a friendlier tone and no file names.

Only summarize the changes I gave you. Don't invent changes I didn't list.

Podaj jej prawdziwego diffa, a zwróci coś, co naprawdę byś wypuścił:

feat(mods): update Create stack and remove old storage entry

- Added Create: Steam 'n' Rails and Create Crafts & Additions
- Removed Simple Storage Network
- Updated JEI to the 1.21.1 build listed in the supplied diff

Gracze: ta aktualizacja rozbudowuje drzewko technologiczne Create o pociągi i maszyny elektryczne, usuwa mod magazynowy wymieniony w zestawie zmian i odświeża indeks receptur JEI.

Co dostroić: Ustal ton wprost: zwięzły do loga commitów, cieplejszy do notki dla graczy. Przy pełnym wydaniu zbierz diff całej aktualizacji i poproś o pogrupowane sekcje changeloga (Dodano / Zmieniono / Usunięto).

Gdzie zawodzi: Prawie nic, o ile trzymasz ją przy streszczaniu diffa, który podałeś. Jedyne realne ryzyko to napchanie changeloga zmianami, których nie zrobiłeś, więc nie każ jej „zgadywać, co jeszcze się zmieniło"; podaj prawdziwego diffa i trzymaj ją przy nim.

Kiedy nie ufać wynikowi (tryby awarii w pigułce)

Jeśli masz zapamiętać jedną sekcję, niech to będzie ta. We wszystkich powyższych zadaniach AI zawodzi na kilka przewidywalnych sposobów, a każdy ma przeciwdziałanie, którego elementy już masz:

Tryb awaryjnyGdzie się pojawiaJak temu zaradzić
Zmyślone ID przedmiotówReceptury KubeJS, przedmioty questoweZweryfikuj każde ID względem realnych modów; wklej prawdziwe ID do promptu
Zła wersja API KubeJSReceptury KubeJSW każdym prompcie podaj wersję gry, build loadera i dokładny build KubeJS
SNBT traktowany jak JSON (przecinki)FTB QuestsNapisz w prompcie „bez przecinków między polami tego samego poziomu"; zwaliduj względem sprawdzonego bloku
Nieprawidłowe ID questów (małe litery / zła długość)FTB QuestsWymagaj 16 znaków szesnastkowych wielkimi literami; podaj poprawne ID jako wzór
Zmyślona dostępność modówDobór modówPotwierdź każdą sugestię na CurseForge/Modrincie, zanim ją dodasz

Dwie techniki załatwiają większość. Po pierwsze, w każdym prompcie podaj dokładną wersję gry, build loadera, docelowy format i działający przykład. Po drugie, zrób to na dwa przebiegi: wygeneruj artefakt, potem wklej go z powrotem i poproś model o przejrzenie go pod kątem konkretnych ograniczeń, jak separatory FTB SNBT czy format ID questów. Zmuszony spojrzeć dwa razy, wyłapuje sporą część własnych błędów.

Nic z tego nie zwalnia cię z czytania wyniku. Oznacza tylko, że czytanie zajmuje minuty zamiast godzin, które zeszłyby na pisanie od zera.

Podsumowanie

ChatGPT przydaje się przy tworzeniu modpacków wtedy, gdy zmusisz go do pracy w realnych ograniczeniach twojego packa. Podaj mu dokładną wersję gry, build loadera, docelowy format i sprawdzony przykład; potem traktuj każdą recepturę, blok questa i diagnozę jak szkic, który musi przetrwać logi i prawdziwą instancję testową. Tak zachowasz przewagę szybkości, nie oddając modelowi autorytetu, na który nie zasłużył.

Często zadawane pytania

Czy AI potrafi czytać crash logi Minecrafta?

Tak. Wklej pełny raport o awarii albo przynajmniej pierwsze 100 linii i każdy blok Caused by: wraz z wersją Minecrafta i buildem loadera. Zdolny model przeczyta stack trace i uszereguje prawdopodobnych winowajców. Wykorzystaj to, by skrócić ślepe wyszukiwanie binarne, a potem potwierdź hipotezę na instancji testowej.

Jak używać ChatGPT do receptur KubeJS?

Zawsze podawaj wersję Minecrafta, build loadera i dokładny zainstalowany build KubeJS. KubeJS 6.x to linia Minecrafta 1.20.1, a KubeJS 7.2.x to linia Minecrafta 1.21.1. Wklej działającą recepturę z server_scripts/ żeby pasowała do twojego stylu, potem zweryfikuj każde ID przedmiotu i potwierdź API względem swojego loga KubeJS.

Jakie prompty sprawdzają się przy pisaniu FTB Quests?

Dla Minecrafta 1.21.1 rozpisz zasady wielowierszowego SNBT od FTB: bez przecinków między polami, trzymaj się 16-znakowego szesnastkowego formatu ID używanego przez istniejące questy, zachowuj typowane sufiksy liczbowe tam, gdzie źródło ich używa, i nie mieszaj pól zadania z polami rozdziału, takimi jak filename. Dołącz sprawdzony blok i zwaliduj wynik, zanim go wczytasz. Na Minecrafcie 26.1.2 i nowszym FTB Quests przechowuje te dane jako JSON5, więc użyj przykładu JSON5 dopasowanego do wersji.

Czy AI pisze dobre mody lub modpacki do Minecrafta?

Sama z siebie nie. AI przyspiesza dewelopera, który potrafi przeczytać i zweryfikować jej wynik, bo szkicuje receptury, questy i diagnozy szybciej, niż powstałyby od zera. Bez przeglądu nie tworzy niezawodnie działających modów ani packów. Jako narzędzie do szkiców w rękach kogoś, kto zna dziedzinę, to realne przyspieszenie; traktowana jak samodzielny autor, wypuszcza błędy do uniknięcia.

Jaką wersję Minecrafta i jaki loader mam podać AI?

Oba, za każdym razem. Podaj dokładną wersję Minecrafta, na przykład 1.21.1, oraz dokładny loader i build dla Forge, NeoForge, Fabric lub Quilt. Bez tego model może wybrać przestarzałą albo niezgodną z loaderem składnię. Zweryfikuj wynik w packu testowym, zanim przeniesiesz go na produkcję.

Udostępnij

Więcej z bloga

Czytaj dalej.

Gotowy do wdrożenia? Od $2,48/mies.

Niezależna chmura od 2008 roku. AMD EPYC, NVMe, 40 Gbps. Zwrot pieniędzy w ciągu 14 dni.