Guide

Sådan opdaterer du et plugin til en ny Minecraft-version

Opdateret 18. oktober 2026

Når din server skifter til en ny Minecraft-version, bliver mange plugins ved med at virke uden ændringer, fordi Bukkit-API'en er stabil. Andre holder op med at indlæse eller går i stykker på små måder. Hvis forfatteren ikke har opdateret et plugin, og du har kildekoden, kan du selv opdatere det: her er, hvad der ændrer sig, og i hvilken rækkefølge.

Beskriv det, som det skal virke på den nye version.

Generér dette med Codexe

Trin for trin

  1. 1.Prøv først den gamle .jar

    Læg den på en testserver med den nye version, og læs konsollen. Hvis den indlæses og virker, behøver du måske ikke ændre noget.

  2. 2.Ændr API-afhængigheden

    Sæt paper-api eller spigot-api til den nye version i pom.xml eller build.gradle.

  3. 3.Opdatér api-version og Java

    Sæt api-version i plugin.yml (for eksempel '1.21'), og kompilér til den Java, som den nye version kræver: Java 17 før 1.20.5, Java 21 fra 1.20.5, Java 25 til 26.x.

  4. 4.Ret det, der ikke længere kompilerer

    Byg, og gå fejlene igennem: omdøbte materialer, fjernede metoder, ændrede event-klasser. Compileren viser dem med fil og linje.

  5. 5.Opdatér afhængigheder

    Plugins, som dit plugin bruger (Vault, PlaceholderAPI, ProtocolLib, WorldGuard), skal også være i versioner, der understøtter den nye Minecraft-version, både i buildfilen og på serveren.

  6. 6.Test på den nye version

    Indlæs det på en server med den nye version og de samme plugins, og prøv hver kommando og funktion, ikke kun opstarten.

Hvad der typisk går i stykker

  • Navne på materialer og enums: 1.13-opdateringen omdøbte de fleste genstande og blokke; senere versioner tilføjer, omdøber eller fjerner nogle. Kode, der bruger gamle navne eller numeriske id'er, fejler.
  • Forældede metoder fjernet: metoder, der har været markeret som deprecated i flere versioner, forsvinder til sidst.
  • Genstandsdata: fra 1.20.5 blev NBT på genstande erstattet af data components. Plugins, der redigerer genstandes NBT direkte, skal have den del omskrevet; den normale ItemMeta-API virker stadig.
  • NMS og reflection: kode, der bruger serverens interne klasser, går i stykker på næsten hver version. Erstat den med API'en, hvor det er muligt, eller med et bibliotek som ProtocolLib.
  • Biblioteksversioner: shadede biblioteker bygget til en ældre Java kan fejle på den nye.

Opdatering på tværs af mange versioner

At gå fra 1.8 eller 1.12 til 1.21 er tættere på en omskrivning af de dele, der rører genstande, blokke og partikler, end på en opdatering. Gør det i én omgang mod den nye API, ikke version for version, og regn med, at konfigurationsfilerne også skal have nye materialenavne.

Hvis pluginet skal understøtte flere versioner på én gang, så kompilér mod den ældste, du understøtter, og undgå API, der er tilføjet senere, eller brug separate builds pr. version.

Med Codexe

På Pro og opefter kan du importere pluginets kildekode som en ZIP og f.eks. skrive "Det her er mit Paper 1.20.4-plugin. Opdatér det til Paper 1.21.4". Codexe læser Minecraft-versionen fra buildfilen, bygger med den Java, versionen kræver, og retter kompileringsfejl ud fra de rigtige signaturer i den API, der bygges mod. For et plugin, du har lavet på Codexe, beder du om den nye version i projektchatten.

At det kompilerer, beviser, at pluginet kan bygges mod den nye API. Prøv det derefter på en testserver, for ændringer i opførsel mellem versioner viser sig ikke som kompileringsfejl.

Spørgsmål

Kan jeg opdatere et plugin uden dets kildekode?

Ikke pålideligt. At dekompilere en .jar giver kode, der er svær at vedligeholde og kan bryde forfatterens licens. Kig først efter en opdateret version eller en vedligeholdt fork.

Virker et 1.21.1-plugin på 1.21.4?

Ofte ja, inden for den samme hovedversion, medmindre det bruger NMS eller API, der er ændret. Test det, før du stoler på det.

Hvorfor siger serveren "Unsupported API version"?

Det er det modsatte tilfælde: pluginet sigter mod en nyere API end serveren. Byg det til din servers version, eller opdatér serveren.

Genbyg et plugin til din version

Denne prompt åbnes klar til at sende:

“En Paper 1.21.4-version af mit Spigot 1.12.2-plugin TreeFeller: når den nederste stamme på et træ ødelægges med en økse, falder hele træet, det koster holdbarhed pr. stamme, virker for alle træsorter i 1.21, inklusive kirsebær og mangrove, slås til og fra med /treefeller, indstillinger i config.yml.”

Generér dette med Codexe
Sådan opdaterer du et Minecraft-plugin til en ny version | Codexe