Guide

Så uppdaterar du ett plugin till en ny Minecraft-version

Uppdaterad 18 oktober 2026

När din server går över till en ny Minecraft-version fortsätter många plugin att fungera utan ändringar, eftersom Bukkit-API:et är stabilt. Andra slutar läsas in eller går sönder på små sätt. Om upphovspersonen inte har uppdaterat ett plugin och du har källkoden kan du uppdatera det själv: här är vad som ändras och i vilken ordning.

Beskriv det som det ska fungera på den nya versionen.

Generera det här med Codexe

Steg för steg

  1. 1.Prova den gamla .jar-filen först

    Lägg den på en testserver med den nya versionen och läs konsolen. Om den läses in och fungerar behöver du kanske inte ändra något.

  2. 2.Ändra API-beroendet

    I pom.xml eller build.gradle sätter du paper-api eller spigot-api till den nya versionen.

  3. 3.Uppdatera api-version och Java

    Sätt api-version i plugin.yml (till exempel '1.21') och kompilera för den Java som den nya versionen kräver: Java 17 före 1.20.5, Java 21 från 1.20.5, Java 25 för 26.x.

  4. 4.Rätta det som inte längre kompileras

    Bygg och gå igenom felen: omdöpta material, borttagna metoder, ändrade händelseklasser. Kompilatorn listar dem med fil och rad.

  5. 5.Uppdatera beroenden

    Plugin som ditt plugin använder (Vault, PlaceholderAPI, ProtocolLib, WorldGuard) behöver också versioner som stöder den nya Minecraft-versionen, både i byggfilen och på servern.

  6. 6.Testa på den nya versionen

    Läs in det på en server med den nya versionen och samma plugin, och prova varje kommando och funktion, inte bara starten.

Vad som brukar gå sönder

  • Material- och enum-namn: uppdateringen 1.13 döpte om de flesta föremål och block; senare versioner lägger till, döper om eller tar bort några. Kod som använder gamla namn eller numeriska id:n misslyckas.
  • Föråldrade metoder borttagna: metoder som har varit markerade som föråldrade i flera versioner försvinner till slut.
  • Föremålsdata: från 1.20.5 ersattes föremåls-NBT av datakomponenter. Plugin som redigerar föremåls-NBT direkt behöver skriva om den delen; det vanliga ItemMeta-API:et fortsätter att fungera.
  • NMS och reflection: kod som använder serverns interna klasser går sönder i nästan varje version. Ersätt den med API:et där det går, eller med ett bibliotek som ProtocolLib.
  • Biblioteksversioner: shadade bibliotek som byggts för en äldre Java kan misslyckas på den nya.

Uppdatera över många versioner

Att gå från 1.8 eller 1.12 till 1.21 är närmare en omskrivning av delarna som rör föremål, block och partiklar än en uppdatering. Gör det i ett svep mot det nya API:et, inte version för version, och räkna med att konfigurationsfilerna också behöver nya materialnamn.

Om pluginet måste stödja flera versioner samtidigt, kompilera mot den äldsta du stöder och undvik API som lagts till senare, eller använd separata byggen per version.

Med Codexe

På Pro och uppåt kan du importera pluginets källkod som en ZIP och be till exempel: ”Det här är mitt Paper 1.20.4-plugin. Uppdatera det till Paper 1.21.4”. Codexe läser Minecraft-versionen från byggfilen, bygger med den Java som versionen kräver och åtgärdar kompileringsfel med de verkliga signaturerna i API:et som det bygger mot. För ett plugin du har gjort på Codexe ber du om den nya versionen i projektchatten.

Kompileringen visar att pluginet går att bygga mot det nya API:et. Prova det sedan på en testserver, eftersom beteendeförändringar mellan versioner inte syns som kompileringsfel.

Frågor

Kan jag uppdatera ett plugin utan källkoden?

Inte på ett pålitligt sätt. Att dekompilera en .jar ger kod som är svår att underhålla och kan bryta mot upphovspersonens licens. Leta först efter en uppdaterad version eller en underhållen fork.

Fungerar ett 1.21.1-plugin på 1.21.4?

Ofta ja, inom samma huvudversion, om det inte använder NMS eller API som har ändrats. Testa det innan du förlitar dig på det.

Varför säger servern ”Unsupported API version”?

Det är det omvända fallet: pluginet riktar sig mot ett nyare API än servern. Bygg det för din servers version eller uppdatera servern.

Bygg om ett plugin för din version

Den här prompten öppnas färdig att skicka:

“En Paper 1.21.4-version av mitt Spigot 1.12.2-plugin TreeFeller: att bryta den nedersta stocken i ett träd med en yxa bryter hela trädet, kostar hållbarhet per stock, fungerar för alla träslag i 1.21, även körsbär och mangrove, slås på och av med /treefeller, inställningar i config.yml.”

Generera det här med Codexe
Så uppdaterar du ett Minecraft-plugin till en ny version | Codexe