- Поддерживаемые версии
- 1.17
Привет! Как вы знаете, md5 отказался от спиготовских маппингов, и теперь в рантайме код выглядит как алфавит. Разрабатывать плагины под нмс как раньше уже не получится: читаемых имен нету вовсе.
В этом туториале я расскажу, как можно решить эту проблему и воспользоваться маппингами от mojang, что, естественно, упростит и сделает разработку приятней.
ВАЖНО Инструкция работает только на 1.17 и gradle! Если у вас maven, можете использовать special-source (spigot only), гайд к нему есть на spigotmc.org.
Также, перед началом, убедитесь, что у вас установлен git.
Итак, давайте начнем.
Подготовка и установка необходимых плагинов.
Первым делом надо установить в локальный репозиторий плагины paperweight.
paperweight - система сборки Paper'а. Она таки и позволит нам использовать официальные маппинги во время разработки, а во время компиляции дружелюбно превратит nms-код в алфавит.
Для этого, открываем консоль и пишем
После этого, заходим в папку paperweight и устанавливаем плагины в локальный репозиторий.
Бац! Paperweight установлен.
Теперь нам надо клонировать Paper, применить патчи и выполнить волшебную команду
Применяем патчи:
и произносим заклинание:
Вуаля! Мы готовы к разработке с paperweight.
Использование
Самое сложное позади! Осталось лишь подключить плагин paperweight-userdev к вашему проекту.
Для этого, в settings.gradle.kts (если у вас kotlin dsl)
Вводим это:
И, в build.gradle.kts добавляем плагин paperweight-userdev:
И, наконец, в dependencies, добавляем paperDevBundle:
Готово! Теперь вы можете спокойно писать плагины с нмс под paper.
Надеюсь, гайд был полезным. Извините за тавтологию, если такая присутствует.
В этом туториале я расскажу, как можно решить эту проблему и воспользоваться маппингами от mojang, что, естественно, упростит и сделает разработку приятней.
ВАЖНО Инструкция работает только на 1.17 и gradle! Если у вас maven, можете использовать special-source (spigot only), гайд к нему есть на spigotmc.org.
Также, перед началом, убедитесь, что у вас установлен git.
Итак, давайте начнем.
Подготовка и установка необходимых плагинов.
Первым делом надо установить в локальный репозиторий плагины paperweight.
paperweight - система сборки Paper'а. Она таки и позволит нам использовать официальные маппинги во время разработки, а во время компиляции дружелюбно превратит nms-код в алфавит.
Для этого, открываем консоль и пишем
Код:
git clone -b userdev https://github.com/PaperMC/paperweight.git
Код:
gradle publishToMavenLocal
Теперь нам надо клонировать Paper, применить патчи и выполнить волшебную команду
Код:
git clone -b userdev https://github.com/PaperMC/Paper.git
Код:
gradle applyPatches //Закройте все приложения, жрет много оперативки!
Код:
gradle publishDevBundlePublicationToMavenLocal -PpublishDevBundle // Тоже очень ресурсозатратно!
Использование
Самое сложное позади! Осталось лишь подключить плагин paperweight-userdev к вашему проекту.
Для этого, в settings.gradle.kts (если у вас kotlin dsl)
Вводим это:
Код:
pluginManagement {
repositories {
mavenLocal()
gradlePluginPortal()
maven("https://papermc.io/repo/repository/maven-public/")
}
} // Добавляем в репозитории плагинов наш локальный
Код:
plugins {
`java-library`
id("io.papermc.paperweight.userdev") version "1.1.10-LOCAL-SNAPSHOT" // Тот самый
}
Код:
dependencies {
paperDevBundle("1.17.1-R0.1-SNAPSHOT")
}
Надеюсь, гайд был полезным. Извините за тавтологию, если такая присутствует.
Хочу передать огромное спасибо ребятам из PaperMC, Что сами подсказали мне что да как сделать. Без них, этот гайд бы и не существовал. =)