- Версия(и) Minecraft
- 1.7+
Bon2Gradle
Плагин для Minecraft проектов, что позволяет использовать BON2 как аналог fg.reobf из ForgeGradle.
Использование
Зависимости
- Gradle 6.8+ (Provider используется для предоставления зависимостей).
- Java 8+ (лямбды и потоки).
Подключение плагина к проекту
Gradle (Groovy):
buildscript {
repositories {
// Добавьте JitPack.io в ваши репозитории сборки
maven { url 'https://jitpack.io' }
// Вещи для ForgeGradle
maven {
name 'forge'
url 'https://maven.minecraftforge.net/'
}
}
dependencies {
// Вещи для ForgeGradle (форк anatawa12)
classpath('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
changing = true
}
// Добавьте плагин в зависимости, можете использовать "master-SNAPSHOT" как версию, чтобы
// использовать последний коммит.
classpath 'com.github.MJaroslav:Bon2Gradle:0.3.1'
}
}
apply plugin: 'bon2gradle' // Подключение плагина
Настройка плагина
Gradle (Groovy):
// Расширение для настройки BON2
// опция = значенеи по умолчанию // описание
bon2 {
useParallelDeobfuscation = false // Если зависимость состоит из нескольких файлов,
// Они будут деобфусцированы параллельно. EXPERIMENTAL
forceMapping = false // Использовать только следующий маппинг для зависимостей.
forcedMappingLocation = null // Директория с файлами methods.csv и fields.csv.
forcedMappingRelativeConfPath = null // Дополнительный относительный путь для параметра выше.
// ^ Будет использовано значение 'unpacked/conf' если не параметр не представлен ^
mappingProvider = 'io.github.mjaroslav.bon2gradle.api.impl.FG12Provider'
// Просто реализация интерфейса 'io.github.mjaroslav.bon2gradle.api.MappingProvider'
// Для получения текущего маппинга вашего Minecraft проекта.
}
Деобфускация зависимостей
Просто оберните строку-идентификатор зависимости в метод
bon2.deobf
:
Gradle (Groovy):
repositories {
mavenCentral()
maven {
url "https://cursemaven.com/"
content {
includeGroup "curse.maven"
}
}
}
dependencies {
// Мод HEE из репозитория cursemaven просто для примера
// Все деобфусцированные jar'ы будут сохранены в специальной директории внутри build директории проекта.
implementation bon2.deobf("curse.maven:hardcore-ender-expansion-228015:2316923")
}
Поддердиваемые версии Minecraft проектов
- Плагин написан и протестирован с форком ForgeGradle-1.2 от anatawa12.
- В теории, если я не использовал код FG где-либо вне его MappingProvider'а, вы сможете использовать плагин с любым проектом.
Building
Просто клонируйте репозиторий, переключитесь на
master
ветку и выполните ./gradlew build
. Это запустит сборку и выполнение unit тестов, если вы хотите выполнить и функциональные тесты тоже, то запускайте с переменной окружений CI
равно true
.Минимальная версия JDK для сборки
8
. Вы можете увидеть синтаксический сахар из более новых версий, это возможно благодаря плагину Jabel.Постскриптум
- Не до конца уверен с выбором категории ресурса, эта была ближе всех...
- Я изначально писал это в markdown и на английском для README, поэтому могут быть странные речевые обороты, ошибки и опечатки в тексте, не стесняйтесь исправлять меня