Opas
Miten päivittää plugin uuteen Minecraft-versioon
Päivitetty 18. lokakuuta 2026
Kun palvelimesi siirtyy uuteen Minecraft-versioon, monet pluginit toimivat ilman muutoksia, koska Bukkit API on vakaa. Toiset lakkaavat latautumasta tai hajoavat pienillä tavoilla. Jos tekijä ei ole päivittänyt pluginia ja sinulla on sen lähdekoodi, voit päivittää sen itse: tässä on, mikä muuttuu ja missä järjestyksessä.
Kuvaile se sellaisena kuin sen pitäisi toimia uudessa versiossa.
Generoi tämä CodexellaVaihe vaiheelta
1.Kokeile ensin vanhaa .jar-tiedostoa
Laita se uuden version testipalvelimelle ja lue konsoli. Jos se latautuu ja toimii, sinun ei ehkä tarvitse muuttaa mitään.
2.Vaihda API-riippuvuus
Aseta tiedostossa
pom.xmltaibuild.gradlepaper-apitaispigot-apiuuteen versioon.3.Päivitä api-version ja Java
Aseta
api-versiontiedostossaplugin.yml(esimerkiksi'1.21') ja käännä sille Javalle, jota uusi versio vaatii: Java 17 ennen 1.20.5:tä, Java 21 1.20.5:stä alkaen, Java 25 versioille 26.x.4.Korjaa se, mikä ei enää käänny
Kokoa ja käy virheet läpi: uudelleennimetyt materiaalit, poistetut metodit, muuttuneet tapahtumaluokat. Kääntäjä listaa ne tiedoston ja rivin kanssa.
5.Päivitä riippuvuudet
Pluginisi käyttämät pluginit (Vault, PlaceholderAPI, ProtocolLib, WorldGuard) tarvitsevat nekin versiot, jotka tukevat uutta Minecraft-versiota, sekä koontitiedostossa että palvelimella.
6.Testaa uudella versiolla
Lataa se uuden version palvelimelle samojen pluginien kanssa ja kokeile jokaista komentoa ja ominaisuutta, ei vain käynnistystä.
Mikä yleensä hajoaa
- Materiaalien ja enumien nimet: 1.13-päivitys nimesi uudelleen useimmat esineet ja kuutiot; myöhemmät versiot lisäävät, nimeävät uudelleen tai poistavat joitakin. Vanhoja nimiä tai numeerisia tunnisteita käyttävä koodi epäonnistuu.
- Vanhentuneet metodit poistettu: useiden versioiden ajan vanhentuneiksi merkityt metodit katoavat lopulta.
- Esinedata: 1.20.5:stä alkaen esineiden NBT korvattiin datakomponenteilla. Esineiden NBT:tä suoraan muokkaavien pluginien täytyy kirjoittaa se osa uudelleen; tavallinen
ItemMeta-API toimii edelleen. - NMS ja reflektio: palvelimen sisäisiä luokkia käyttävä koodi hajoaa lähes jokaisessa versiossa. Korvaa se mahdollisuuksien mukaan API:lla tai kirjastolla, kuten ProtocolLib.
- Kirjastojen versiot: vanhemmalle Javalle kootut shadatut kirjastot voivat epäonnistua uudella.
Päivitys monen version yli
Siirtyminen 1.8:sta tai 1.12:sta 1.21:een on lähempänä esineisiin, kuutioihin ja partikkeleihin koskevien osien uudelleenkirjoitusta kuin päivitystä. Tee se kerralla uutta API:a vasten, ei versio kerrallaan, ja varaudu siihen, että myös asetustiedostot tarvitsevat uudet materiaalinimet.
Jos pluginin täytyy tukea useita versioita kerralla, käännä se vanhinta tukemaasi versiota vasten ja vältä myöhemmin lisättyä API:a, tai käytä erillisiä koonteja kullekin versiolle.
Codexella
Pro-tilauksesta ylöspäin voit tuoda pluginin lähdekoodin ZIP-tiedostona ja pyytää esimerkiksi: "Tämä on Paper 1.20.4 -pluginini. Päivitä se Paper 1.21.4:lle". Codexe lukee Minecraft-version koontitiedostosta, kokoaa sillä Javalla, jota versio vaatii, ja korjaa käännösvirheet käyttäen sen API:n todellisia signatuureja, jota vasten se kootaan. Codexella tekemääsi pluginiin pyydä uutta versiota projektin chatissa.
Kääntäminen todistaa, että plugin kääntyy uutta API:a vasten. Kokeile sitä sitten testipalvelimella, koska versioiden väliset toimintamuutokset eivät näy käännösvirheinä.
Kysymykset
Voinko päivittää pluginin ilman sen lähdekoodia?
Et luotettavasti. .jar-tiedoston dekompilointi tuottaa koodia, jota on vaikea ylläpitää, ja se voi rikkoa tekijän lisenssiä. Etsi ensin päivitetty versio tai ylläpidetty haarukka.
Toimiiko 1.21.1-plugin 1.21.4:ssä?
Usein kyllä, saman pääversion sisällä, ellei se käytä NMS:ää tai muuttunutta API:a. Testaa se ennen kuin luotat siihen.
Miksi palvelin sanoo "Unsupported API version"?
Se on päinvastainen tapaus: plugin on tehty uudemmalle API:lle kuin palvelin. Kokoa se palvelimesi versiolle tai päivitä palvelin.
Kokoa plugin uudelleen versiollesi
Tämä kehote aukeaa valmiina lähetettäväksi:
“Paper 1.21.4 -versio Spigot 1.12.2 -pluginistani TreeFeller: puun alimman pölkyn rikkominen kirveellä rikkoo koko puun, kuluttaa kestävyyttä pölkkyä kohti, toimii kaikilla 1.21:n puulajeilla kirsikka ja mangrove mukaan lukien, päälle ja pois komennolla /treefeller, asetukset config.yml-tiedostossa.”
Generoi tämä Codexella