Всем привет снова я
я потратил очень много времени для того что бы понять как это делается, поэтому напишу это для вас, что бы вам повезло больше чем мне
данный пример будет приведен на основе 1.19.2 и ForgeGradle 5.1, если не знаете что это не берите в голову
изначально на gradle.build выглядит примерно так
для подключения MySQL коннектора что бы его классы были видны в IDEA вписываем следующие строки в блок dependencies после строки minecraft
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33' версия может быть указана абсолютно любая доступная, если вы не знаете различий в версиях, значит не будет ни какой разницы используете вы коннектор 5 версии или 8
при обновлении build.gradle библиотека будет загружена автоматически из интернета
теперь блок dependencies выглядит так
Теперь вы можете писать свой мод, использовать реализацию MySQL но при запуске мода в тестовой среде, библиотека MySQL коннектора видна не будет,
так же, при компиляции, классы MySQL в мод добавлены не будут. К слову в тестовой среде мне так и не научилось заставить мод видеть MySQL.
Ладно! идем дальше
Возвращаемся в блок dependencies и после нашего implementation добавляем строку
jarJar(group: 'mysql', name: 'mysql-connector-java', version: '[8.0.26,8.0.33)'){jarJar.pin(it, "8.0.33")}
Блок должен выглядеть так
Внесенная строка говорить нашему Build.gradle что при компиляции проекта нужно положить библиотеку в одну банку вместе с модом
но она по прежнему, еще не работает, данную опцию нужно включить, включается она двумя строками
jarJar.enable()
tasks.jarJar.configure { }
эти строки должны быть прописаны перед блоком minecraft не перепутайте с minecraft в блоке dependencies
получиться должно так
Теперь при запуске команды build будет скомпилировано два файла mymod-1.0.jar допустим и mymod-1.0-all.jar
mymod-1.0.jar содержит ваш голый мод без коннектора
mymod-1.0-all.jar помимо мода будет содержать в себе mysql-connector-j-8.0.33.jar
Теперь ваш мод будет стабильно работать с MySQL при условии что код запросов написан правильно
Успехов!!!
я потратил очень много времени для того что бы понять как это делается, поэтому напишу это для вас, что бы вам повезло больше чем мне
данный пример будет приведен на основе 1.19.2 и ForgeGradle 5.1, если не знаете что это не берите в голову
изначально на gradle.build выглядит примерно так
Gradle:
plugins {
id 'eclipse'
id 'maven-publish'
id 'net.minecraftforge.gradle' version '5.1.+'
}
version = '1.0'
group = 'com.yourname.modid'
archivesBaseName = 'modid'
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
minecraft {}
sourceSets.main.resources { srcDir 'src/generated/resources' }
repositories {}
dependencies {
minecraft 'net.minecraftforge:forge:1.19.2-43.2.3'
}
//Строки ниже не несут в себе смысловой нагрузки в данном примере
для подключения MySQL коннектора что бы его классы были видны в IDEA вписываем следующие строки в блок dependencies после строки minecraft
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33' версия может быть указана абсолютно любая доступная, если вы не знаете различий в версиях, значит не будет ни какой разницы используете вы коннектор 5 версии или 8
при обновлении build.gradle библиотека будет загружена автоматически из интернета
теперь блок dependencies выглядит так
CODE:
dependencies {
minecraft 'net.minecraftforge:forge:1.19.2-43.2.3'
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33'
}
так же, при компиляции, классы MySQL в мод добавлены не будут. К слову в тестовой среде мне так и не научилось заставить мод видеть MySQL.
Ладно! идем дальше
Возвращаемся в блок dependencies и после нашего implementation добавляем строку
jarJar(group: 'mysql', name: 'mysql-connector-java', version: '[8.0.26,8.0.33)'){jarJar.pin(it, "8.0.33")}
Блок должен выглядеть так
CODE:
dependencies {
minecraft 'net.minecraftforge:forge:1.19.2-43.2.3'
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33'
jarJar(group: 'mysql', name: 'mysql-connector-java', version: '[8.0.26,8.0.33)'){
jarJar.pin(it, "8.0.33")
}
}
но она по прежнему, еще не работает, данную опцию нужно включить, включается она двумя строками
jarJar.enable()
tasks.jarJar.configure { }
эти строки должны быть прописаны перед блоком minecraft не перепутайте с minecraft в блоке dependencies
получиться должно так
CODE:
........
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
jarJar.enable()
tasks.jarJar.configure { }
minecraft {....}
sourceSets.main.resources { srcDir 'src/generated/resources' }
........
Теперь при запуске команды build будет скомпилировано два файла mymod-1.0.jar допустим и mymod-1.0-all.jar
mymod-1.0.jar содержит ваш голый мод без коннектора
mymod-1.0-all.jar помимо мода будет содержать в себе mysql-connector-j-8.0.33.jar
Теперь ваш мод будет стабильно работать с MySQL при условии что код запросов написан правильно
Успехов!!!