Handleiding
Een plugin bijwerken naar een nieuwe Minecraft-versie
Bijgewerkt 18 oktober 2026
Als je server naar een nieuwe Minecraft-versie gaat, blijven veel plugins zonder wijzigingen werken, omdat de Bukkit-API stabiel is. Andere laden niet meer of gaan op kleine punten stuk. Heeft de maker een plugin niet bijgewerkt en heb je de broncode, dan kun je hem zelf bijwerken: dit is wat er verandert en in welke volgorde.
Beschrijf hem zoals hij op de nieuwe versie moet werken.
Genereer dit met CodexeStap voor stap
1.Probeer eerst de oude .jar
Zet hem op een testserver van de nieuwe versie en lees de console. Laadt hij en werkt hij, dan hoef je misschien niets te veranderen.
2.Verander de API-dependency
Zet in
pom.xmlofbuild.gradlepaper-apiofspigot-apiop de nieuwe versie.3.Werk api-version en Java bij
Zet
api-versioninplugin.yml(bijvoorbeeld'1.21') en compileer voor de Java die de nieuwe versie nodig heeft: Java 17 vóór 1.20.5, Java 21 vanaf 1.20.5, Java 25 voor 26.x.4.Herstel wat niet meer compileert
Bouw en loop de fouten langs: hernoemde materialen, verwijderde methoden, veranderde eventklassen. De compiler toont ze met bestand en regel.
5.Werk dependencies bij
Plugins die jouw plugin gebruikt (Vault, PlaceholderAPI, ProtocolLib, WorldGuard), hebben ook versies nodig die de nieuwe Minecraft-versie ondersteunen, zowel in het buildbestand als op de server.
6.Test op de nieuwe versie
Laad hem op een server van de nieuwe versie met dezelfde plugins en probeer elk commando en elke functie, niet alleen het opstarten.
Wat meestal stukgaat
- Namen van materialen en enums: de update 1.13 hernoemde de meeste items en blokken; latere versies voegen er toe, hernoemen of verwijderen er een paar. Code die oude namen of numerieke id's gebruikt, faalt.
- Verouderde methoden verwijderd: methoden die al meerdere versies als deprecated zijn gemarkeerd, verdwijnen uiteindelijk.
- Itemdata: vanaf 1.20.5 is item-NBT vervangen door data components. Plugins die item-NBT rechtstreeks bewerken, moeten dat deel herschrijven; de gewone
ItemMeta-API blijft werken. - NMS en reflectie: code die interne serverklassen gebruikt, gaat op bijna elke versie stuk. Vervang die waar mogelijk door de API, of door een library zoals ProtocolLib.
- Versies van libraries: geshade libraries die voor een oudere Java zijn gebouwd, kunnen op de nieuwe falen.
Bijwerken over veel versies heen
Van 1.8 of 1.12 naar 1.21 gaan lijkt meer op het herschrijven van de delen die items, blokken en particles raken dan op een update. Doe het in één keer tegen de nieuwe API, niet versie voor versie, en reken erop dat de configbestanden ook nieuwe materiaalnamen nodig hebben.
Moet de plugin meerdere versies tegelijk ondersteunen, compileer dan tegen de oudste versie die je ondersteunt en vermijd API die later is toegevoegd, of gebruik aparte builds per versie.
Met Codexe
Op Pro en hoger kun je de broncode van de plugin als ZIP importeren en bijvoorbeeld vragen: "Dit is mijn Paper 1.20.4-plugin. Werk hem bij naar Paper 1.21.4". Codexe leest de Minecraft-versie uit het buildbestand, bouwt met de Java die die versie nodig heeft en herstelt compileerfouten met de echte signaturen van de API waartegen hij bouwt. Voor een plugin die je op Codexe hebt gemaakt, vraag je de nieuwe versie aan in de projectchat.
Compileren bewijst dat de plugin op de nieuwe API bouwt. Probeer hem daarna op een testserver, want gedragsveranderingen tussen versies verschijnen niet als compileerfouten.
Vragen
Kan ik een plugin bijwerken zonder de broncode?
Niet betrouwbaar. Een .jar decompileren levert code op die lastig te onderhouden is en mogelijk de licentie van de maker schendt. Zoek eerst naar een bijgewerkte versie of een onderhouden fork.
Werkt een 1.21.1-plugin op 1.21.4?
Vaak wel, binnen dezelfde hoofdversie, tenzij hij NMS of API gebruikt die is veranderd. Test hem voordat je erop vertrouwt.
Waarom zegt de server "Unsupported API version"?
Dat is het omgekeerde geval: de plugin richt zich op een nieuwere API dan de server. Bouw hem voor de versie van je server of werk de server bij.
Bouw een plugin opnieuw voor jouw versie
Deze prompt opent klaar om te versturen:
“Een Paper 1.21.4-versie van mijn Spigot 1.12.2-plugin TreeFeller: de onderste stam van een boom breken met een bijl breekt de hele boom, kost duurzaamheid per stam, werkt voor elke houtsoort van 1.21, ook cherry en mangrove, aan/uit met /treefeller, instellingen in config.yml.”
Genereer dit met Codexe