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 Codexe

Krok za krokem

  1. 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. 2.Změň závislost na API

    V pom.xml nebo build.gradle nastav paper-api nebo spigot-api na novou verzi.

  3. 3.Aktualizuj api-version a Javu

    Nastav api-version v plugin.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. 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. 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. 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 ItemMeta funguje 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
Jak aktualizovat plugin pro Minecraft na novou verzi | Codexe