Opas

Miten tehdä Paper-plugin

Päivitetty 7. lokakuuta 2026

Paper on käytetyin Minecraft-palvelinohjelmisto plugineille: se ajaa Spigot-plugineja ja lisää niiden päälle laajemman, nopeamman API:n. Paper-plugin on Java- (tai Kotlin-) projekti, joka on käännetty kohdetta paper-api vasten. Tässä mitä se tarvitsee, käsin tai tekoälyllä, joka rakentaa sen puolestasi.

Esimerkki, josta aloittaa.

Generoi tämä Codexella

Vaihe vaiheelta

  1. 1.Valitse Minecraft-versio

    Käytä versiota, jota palvelimesi ajaa. Se määrää Java-version: Java 17 ennen versiota 1.20.5, Java 21 versiosta 1.20.5 alkaen, Java 25 versioille 26.x.

  2. 2.Luo projekti

    Gradle- tai Maven-projekti, jossa on kyseisen version paper-api-riippuvuus PaperMC-repositoriosta, provided-/compileOnly-näkyvyydellä.

  3. 3.Kirjoita pääluokka

    Luokka, joka laajentaa luokkaa JavaPlugin ja jonka onEnable() rekisteröi komennot ja kuuntelijat.

  4. 4.Kuvaa plugin palvelimelle

    plugin.yml (name, version, main, api-version, commands, permissions). Paper tukee myös tiedostoa paper-plugin.yml omilla lataussäännöillään.

  5. 5.Kokoa ja testaa

    Kokoa .jar, laita se Paper-testipalvelimen plugins/-kansioon, käynnistä palvelin ja tarkista konsolista virheet.

Paper vai Spigot?

Spigot-API:lle kirjoitettu koodi toimii Paperilla, mutta ei toisinpäin: Paper lisää tapahtumia ja metodeja (esimerkiksi Adventure-tekstikomponentit ja monet asynkroniset API:t), joita Spigotissa ei ole. Kirjoita Paperille, jos palvelimesi ajaa Paperia; kirjoita Spigotille, jos pluginin on toimittava myös Spigot-palvelimilla.

Nopea tapa

Codexessa valitse Bukkit/Spigot/Paper-plugin, sano pyynnössä "Paper" ja versio ja kuvaile, mitä se tekee. Codexe pystyttää projektin ja oikean Java-version, kääntää sen, korjaa koontivirheet ja antaa sinun liittyä Paper-testipalvelimelle, jolle plugin on asennettu.

Yleisiä ongelmia

  • UnsupportedClassVersionError: plugin on käännetty uudemmalla Javalla kuin mitä palvelin ajaa.
  • NoSuchMethodError / NoClassDefFoundError: plugin käyttää API:a, jota ei ole palvelimen versiossa, tai riippuvuutta ei ole sisällytetty (shade) .jar-tiedostoon.
  • Plugin latautuu, mutta komennot eivät tee mitään: komento puuttuu tiedostosta plugin.yml tai suorittajaa ei ole rekisteröity.

Kysymykset

Toimivatko Paper-pluginit Purpurilla tai Foliella?

Purpur on Paperin haarukka, joten Paper-pluginit toimivat siinä. Folia muuttaa säikeistystä: pluginin on oltava kirjoitettu sen aluekohtaiselle ajastimelle toimiakseen Foliella.

Voinko kirjoittaa Paper-pluginin Kotlinilla?

Kyllä. Codexe voi generoida Kotlin-Gradle-projektin, jossa on build.gradle.kts, samalle Paper-API:lle.

Rakenna Paper-plugin nyt

Tämä kehote aukeaa valmiina lähetettäväksi:

“Paper 1.21.4 -plugin nimeltä Bounties: /bounty set <player> <amount> Vault-taloudella, tappaja saa palkkion, /bounty list näyttää 10 parasta, palkkiot tallennetaan uudelleenkäynnistysten yli, viestit tiedostossa config.yml.”

Generoi tämä Codexella
Miten tehdä Paper-plugin (Minecraft) | Codexe