Návod
Jak aktualizovat plugin na novou verzi Minecraftu
Aktualizováno 18. října 2026
Když tvůj server přejde na novou verzi Minecraftu, spousta pluginů funguje dál beze změn, protože API Bukkitu je stabilní. Jiné se přestanou načítat nebo se rozbijí v drobnostech. Pokud autor plugin neaktualizoval a ty máš jeho zdrojový kód, můžeš ho aktualizovat sám/sama: tady je, co se mění a v jakém pořadí.
Popiš ho tak, jak má fungovat na nové verzi.
Vygeneruj to s CodexeKrok za krokem
1.Nejdřív zkus starý .jar
Dej ho na testovací server nové verze a přečti si konzoli. Pokud se načte a funguje, možná nemusíš nic měnit.
2.Změň závislost na API
V
pom.xmlnebobuild.gradlenastavpaper-apinebospigot-apina novou verzi.3.Aktualizuj api-version a Javu
Nastav
api-versionvplugin.yml(třeba'1.21') a kompiluj pro Javu, kterou nová verze potřebuje: Java 17 před 1.20.5, Java 21 od 1.20.5, Java 25 pro 26.x.4.Oprav, co se už nezkompiluje
Sestav a projdi chyby: přejmenované materiály, odstraněné metody, změněné třídy událostí. Kompilátor je vypíše se souborem a řádkem.
5.Aktualizuj závislosti
Pluginy, které tvůj plugin používá (Vault, PlaceholderAPI, ProtocolLib, WorldGuard), potřebují verze, které novou verzi Minecraftu taky podporují, v souboru sestavení i na serveru.
6.Otestuj na nové verzi
Načti ho na serveru nové verze se stejnými pluginy a vyzkoušej každý příkaz a funkci, nejen start.
Co se obvykle rozbije
- Názvy materiálů a enumů: aktualizace 1.13 přejmenovala většinu předmětů a bloků; pozdější verze některé přidávají, přejmenovávají nebo odstraňují. Kód, který používá staré názvy nebo číselná ID, selže.
- Odstraněné zastaralé metody: metody označené jako deprecated po několik verzí nakonec zmizí.
- Data předmětů: od 1.20.5 nahradily NBT předmětů datové komponenty. Pluginy, které NBT předmětů upravují přímo, potřebují tuhle část přepsat; běžné API
ItemMetafunguje dál. - NMS a reflexe: kód, který používá interní třídy serveru, se rozbije skoro v každé verzi. Kde to jde, nahraď ho API, nebo knihovnou jako ProtocolLib.
- Verze knihoven: zabalené knihovny sestavené pro starší Javu můžou na nové selhat.
Aktualizace přes mnoho verzí
Přechod z 1.8 nebo 1.12 na 1.21 je spíš přepsání částí, které pracují s předměty, bloky a částicemi, než aktualizace. Udělej to najednou proti novému API, ne verzi po verzi, a počítej s tím, že i konfigurační soubory budou potřebovat nové názvy materiálů.
Pokud plugin musí podporovat několik verzí najednou, kompiluj proti nejstarší podporované a vyhni se API přidanému později, nebo použij samostatná sestavení pro každou verzi.
S Codexe
V tarifu Pro a vyšším můžeš naimportovat zdrojový kód pluginu jako ZIP a požádat třeba: „Tohle je můj plugin pro Paper 1.20.4. Aktualizuj ho na Paper 1.21.4“. Codexe přečte verzi Minecraftu ze souboru sestavení, sestaví s Javou, kterou daná verze potřebuje, a opraví chyby kompilace podle skutečných signatur API, proti kterému sestavuje. U pluginu, který jsi vytvořil/a v Codexe, požádej o novou verzi v chatu projektu.
Kompilace dokazuje, že se plugin sestaví na novém API. Pak ho vyzkoušej na testovacím serveru, protože změny chování mezi verzemi se jako chyby kompilace neprojeví.
Otázky
Můžu aktualizovat plugin bez jeho zdrojového kódu?
Spolehlivě ne. Dekompilace .jar dává kód, který se špatně udržuje a může porušit licenci autora. Nejdřív hledej aktualizovanou verzi nebo udržovaný fork.
Funguje plugin pro 1.21.1 na 1.21.4?
V rámci stejné hlavní verze často ano, pokud nepoužívá NMS nebo API, které se změnilo. Než se na něj spolehneš, otestuj ho.
Proč server hlásí „Unsupported API version“?
To je opačný případ: plugin cílí na novější API, než má server. Sestav ho pro verzi svého serveru, nebo aktualizuj server.
Sestav plugin znovu pro svou verzi
Toto zadání se otevře připravené k odeslání:
“Verze pro Paper 1.21.4 mého pluginu TreeFeller pro Spigot 1.12.2: rozbití spodního kmene stromu sekerou rozbije celý strom, za každý kmen ubere výdrž, funguje pro všechny typy dřeva z 1.21 včetně třešně a mangrovu, zapnutí a vypnutí přes /treefeller, nastavení v config.yml.”
Vygeneruj to s Codexe