1.12.2 Ошибка (в зависимости?) при запуске клиента

Версия Minecraft
1.12.2
Ошибка и лог по ссылке Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated a - Pastebin.com
Давно не занимался моддингом (c 1.7.10), решил поковырять historicizedmedicine, т.к. не мог собрать с ним сборку со SpongeForge. Нашел workspace от Aizistral. Нашел исходники мода. Скомпоновал новый build.gradle, чтобы получить в workspace зависимости. Зависимости есть, ошибок в коде нет. При запуске получаю краш от зависимости. Помогите кто чем может =D

Забавно, что я смог его забилдить и спокойно запустил в МК, но в IDE получаю ошибку выше
 
Последнее редактирование:
В общем, свою "хотелку" я решил, добавил к моду historicizedmedicine возможность работать с spongeforge, но было неудобно, приходилось компилировать мод, и уже его тестировать отдельно от IDE. Подскажите как на будущее, без этих танцев с бубном можно? Ну если не сложно конечноspongeserver+medicine.png
 
В общем, свою "хотелку" я решил, добавил к моду historicizedmedicine возможность работать с spongeforge, но было неудобно, приходилось компилировать мод, и уже его тестировать отдельно от IDE. Подскажите как на будущее, без этих танцев с бубном можно? Ну если не сложно конечно
Держи мой универсальный build.gradle на изучение, который покрывает все что нужно. Возможно будет полезно

Java:
def useMixins = "true"
def useTransformers = false
def name = 'te4_spaceworlds'

buildscript {
    repositories {
        mavenCentral()
        maven { url = "https://plugins.gradle.org/m2" }
        maven { url = "https://repo.spongepowered.org/maven" }
        maven { url = "https://maven.minecraftforge.net/" }
    }
    dependencies {
        classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle',
                version: '4.1.+', changing: true
        classpath "org.spongepowered:mixingradle:0.7+"
        classpath 'com.github.gmazzo:gradle-buildconfig-plugin:3.0.0'
    }
}

apply plugin: 'net.minecraftforge.gradle'
//плагин с константами, полезная вещь
apply plugin: 'com.github.gmazzo.buildconfig'

if(useMixins != null && useMixins != "false"){
    apply plugin: "org.spongepowered.mixin"
}
//константы
buildConfig{
    className("Constants")
    packageName("plus.space")
    buildConfigField('boolean', 'CLIENT', 'false')
}

version = "1.0"
group = "plus"
archivesBaseName = name
sourceCompatibility = targetCompatibility = 1.8
compileJava.options.encoding = compileTestJava.options.encoding = "UTF-8"

minecraft {
    mappings channel: 'stable', version: "39-1.12"
    if(useTransformers) {
        accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
    }

    runs {
        client {
            workingDirectory project.file('run')
            property 'forge.logging.markers', 'REGISTRIES'
            property 'forge.logging.console.level', 'debug'
            if(useMixins=="true"){
                args '--tweakClass', 'org.spongepowered.asm.launch.MixinTweaker',
                    '--mixin', 'mixins.'+name+'.json'
            }
        }
        server {
            workingDirectory project.file('run')
            property 'forge.logging.markers', 'REGISTRIES'
            property 'forge.logging.console.level', 'debug'
            if(useMixins=="true") {
                args '--tweakClass', 'org.spongepowered.asm.launch.MixinTweaker',
                        '--mixin', 'mixins.' + name + '.json'
            }
        }
    }
}

if(useMixins != null && useMixins != "false"){
    mixin {
        add sourceSets.main, "mixins."+name+".refmap.json"
    }
}

task prepareAssets(type: Copy) {
    group = 'build'
    from project.file('src/main/resources')
    into project.file('build/classes/java/main')
}

repositories {
    //тут лежит te4_fserver.jar
    flatDir { dirs 'lib' }
}

dependencies {
    minecraft "net.minecraftforge:forge:1.12.2-14.23.5.2855"
    if(useMixins != null && useMixins != "false") {
        implementation "org.spongepowered:mixin:0.8.+"
        annotationProcessor 'org.spongepowered:mixin:0.8.+:processor'
    }
    //твои мод-зависимости
    implementation fg.deobf('plus.fs:te4_fserver:1.0')
}

task ClientBuild{
    dependsOn build
}
task ServerBuild{
    dependsOn build
}


jar {
    //разновидности билда, лень переписывать
    if(project.gradle.startParameter.taskNames.contains("ClientBuild")){
        buildConfig{
            buildConfigField('boolean', 'CLIENT', 'true')
        }
        archiveName 'client-'+name+".jar"
        exclude 'plus/space/server/**'
    } else {
        archiveName 'server-'+name+".jar"
    }
    //если нужны миксины
    if(useMixins) {
        manifest {
            attributes([
                    "Implementation-Title"       : project.name,
                    "Implementation-Version"     : project.version,
                    "TweakClass"                 : "org.spongepowered.asm.launch.MixinTweaker",
                    "MixinConfigs"               : "mixins."+name+".json",
                    "FMLCorePluginContainsFMLMod": "true",
                    "ForceLoadAsMod"             : "true",
                    "Implementation-Timestamp"   :  new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
            ])
        }
    }
}

jar.finalizedBy('reobfJar')

sourceSets {
    main {
        java {
            //локальный код других проектов
            srcDir 'C:/Users/%???%/IdeaProjects/TsonConfigurations/src/main/java'
        }
    }
}
 
ewwwwww, и потом ещё проверки вида useMixins != null && useMixins != "false", шо це таке
А в одном месте таки if (useMixins) и я чёт не уверен шо "false" это falsey value в груви)
Костыль но работает. Мне лень переписывать раз работает. Тем более скрипт сборки, который не влияет на качество конечного продукта.
 
Это не костыль (когда тебе пришлось сделать чёт "неправильное" потому что по-другому никак или гораздо сложнее), это просто некрасиво))

И всем потом лень поправить, эх
 
Назад
Сверху