Ръководство

Как да обновиш плъгин до нова версия на Minecraft

Обновено на 18 октомври 2026 г.

Когато сървърът ти мине на нова версия на Minecraft, много плъгини продължават да работят без промени, защото Bukkit API е стабилно. Други спират да се зареждат или се чупят в дребни неща. Ако авторът не е обновил даден плъгин, а ти имаш кода му, можеш да го обновиш сам: ето какво се променя и в какъв ред.

Опиши го така, както трябва да работи на новата версия.

Генерирай това с Codexe

Стъпка по стъпка

  1. 1.Първо пробвай стария .jar

    Сложи го на тестов сървър с новата версия и прочети конзолата. Ако се зарежда и работи, може да не се налага да променяш нищо.

  2. 2.Смени зависимостта от API

    В pom.xml или build.gradle задай paper-api или spigot-api на новата версия.

  3. 3.Обнови api-version и Java

    Задай api-version в plugin.yml (например '1.21') и компилирай за Java, която новата версия изисква: Java 17 преди 1.20.5, Java 21 от 1.20.5, Java 25 за 26.x.

  4. 4.Поправи това, което вече не се компилира

    Компилирай и мини през грешките: преименувани материали, премахнати методи, променени класове на събития. Компилаторът ги изрежда с файл и ред.

  5. 5.Обнови зависимостите

    Плъгините, които плъгинът ти използва (Vault, PlaceholderAPI, ProtocolLib, WorldGuard), също трябва да са във версии, които поддържат новата версия на Minecraft, и във файла за компилация, и на сървъра.

  6. 6.Тествай на новата версия

    Зареди го на сървър с новата версия и същите плъгини и пробвай всяка команда и функция, а не само стартирането.

Какво обикновено се чупи

  • Имена на материали и enum-и: обновлението 1.13 преименува повечето предмети и блокове; по-късните версии добавят, преименуват или махат някои. Кодът, който използва стари имена или числови id-та, се проваля.
  • Премахнати deprecated методи: методите, маркирани като deprecated от няколко версии, накрая изчезват.
  • Данни на предметите: от 1.20.5 NBT на предметите е заменено от компоненти с данни. Плъгините, които редактират директно NBT на предметите, трябва да пренапишат тази част; обикновеното API ItemMeta продължава да работи.
  • NMS и reflection: кодът, който използва вътрешни класове на сървъра, се чупи почти на всяка версия. Замени го с API-то, където е възможно, или с библиотека като ProtocolLib.
  • Версии на библиотеките: пакетирани библиотеки, компилирани за по-стара Java, може да се провалят на новата.

Обновяване през много версии

Преминаването от 1.8 или 1.12 към 1.21 е по-скоро пренаписване на частите, които пипат предмети, блокове и частици, отколкото обновяване. Направи го наведнъж срещу новото API, а не версия по версия, и очаквай, че и конфигурационните файлове ще имат нужда от нови имена на материали.

Ако плъгинът трябва да поддържа няколко версии едновременно, компилирай срещу най-старата, която поддържаш, и избягвай API, добавено по-късно, или използвай отделни компилации за всяка версия.

С Codexe

С Pro и нагоре можеш да импортираш кода на плъгина като ZIP и да поискаш например „Това е моят Paper 1.20.4 плъгин. Обнови го до Paper 1.21.4“. Codexe чете версията на Minecraft от файла за компилация, компилира с Java, която тази версия изисква, и поправя грешките при компилация с истинските сигнатури на API-то, срещу което компилира. За плъгин, който си направил в Codexe, поискай новата версия в чата на проекта.

Компилирането доказва, че плъгинът се компилира срещу новото API. После го пробвай на тестов сървър, защото промените в поведението между версиите не се появяват като грешки при компилация.

Въпроси

Мога ли да обновя плъгин без кода му?

Не и надеждно. Декомпилирането на .jar дава код, който трудно се поддържа и може да нарушава лиценза на автора. Първо потърси обновена версия или поддържан fork.

Работи ли плъгин за 1.21.1 на 1.21.4?

Често да, в рамките на една и съща основна версия, освен ако не използва NMS или API, което се е променило. Тествай го, преди да разчиташ на него.

Защо сървърът казва „Unsupported API version“?

Това е обратният случай: плъгинът е насочен към по-ново API от сървъра. Компилирай го за версията на сървъра си или обнови сървъра.

Компилирай отново плъгин за своята версия

Този промпт се отваря готов за изпращане:

“Paper 1.21.4 версия на моя Spigot 1.12.2 плъгин TreeFeller: чупенето на най-долния дънер на дърво с брадва чупи цялото дърво, струва издръжливост за всеки дънер, работи за всеки вид дърво в 1.21, включително черешово и мангрово, включва се и изключва с /treefeller, настройките са в config.yml.”

Генерирай това с Codexe
Как да обновиш Minecraft плъгин до нова версия | Codexe