diff --git a/build.gradle b/build.gradle index e4697bc..0a3e1c2 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1656003793falsepattern67 +//version: 1656003793falsepattern73 /* DO NOT CHANGE THIS FILE! @@ -132,6 +132,8 @@ propertyDefaultIfUnset("mixinConfigs", "") propertyDefaultIfUnset("mixinPluginPreInit", "") propertyDefaultIfUnset("mixinPluginMinimumVersion", "0.8.5") propertyDefaultIfUnset("remapStubs", false) +propertyDefaultIfUnset("apiPackages", null) +propertyDefaultIfUnset("apiPackagesNoRecurse", null) propertyDefaultIfUnset("modrinthProjectId", "") propertyDefaultIfUnset("modrinthDependencies", "") @@ -147,20 +149,31 @@ String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" -String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") -String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") -String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") -if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { - throw new GradleException("Could not resolve \"modGroup\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) +def verifyPackage(thePackage, propName) { + String javaSourceDir = "src/main/java/" + String scalaSourceDir = "src/main/scala/" + String kotlinSourceDir = "src/main/kotlin/" + String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + thePackage.toString().replaceAll("\\.", "/") + String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + thePackage.toString().replaceAll("\\.", "/") + String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + thePackage.toString().replaceAll("\\.", "/") + if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { + throw new GradleException("Could not resolve \"${propName}\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) + } } +verifyPackage("", "modGroup") + if(apiPackage) { - targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { - throw new GradleException("Could not resolve \"apiPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) - } + verifyPackage(apiPackage, "apiPackage") +} + + +if (apiPackages) { + apiPackages.tokenize(';').forEach { it -> verifyPackage(it, "apiPackages")} +} + +if (apiPackagesNoRecurse) { + apiPackagesNoRecurse.tokenize(';').forEach { it -> verifyPackage(it, "apiPackagesNoRecurse")} } if(accessTransformersFile) { @@ -175,9 +188,9 @@ if(usesMixins.toBoolean()) { throw new GradleException("\"usesMixins\" requires \"mixinsPackage\" to be set!") } - targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") + String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") + String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") + String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"mixinsPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } @@ -281,6 +294,10 @@ if(file("addon.gradle").exists()) { apply from: 'repositories.gradle' +if(file('repositories_override.gradle').exists()) { + apply from: 'repositories_override.gradle' +} + configurations { for (config in [shadowImplementation, shadowCompile, shadeCompile]) { implementation.extendsFrom(shadeCompile) @@ -308,33 +325,45 @@ repositories { } } +def unimixinsVersion = "0.1.15" + dependencies { if(usesMixins.toBoolean()) { annotationProcessor("org.ow2.asm:asm-debug-all:5.0.3") annotationProcessor("com.google.guava:guava:24.1.1-jre") annotationProcessor("com.google.code.gson:gson:2.8.6") - annotationProcessor("com.llamalad7:MixinExtras:0.1.1-gasstation") - annotationProcessor("org.spongepowered:mixin:0.8.5-gasstation_7") - compile("org.spongepowered:mixin:0.8.5-gasstation_7") - compile("com.llamalad7:MixinExtras:0.1.1-gasstation") - compile("com.falsepattern:00gasstation-mc1.7.10:0.5.1:dev") - runtimeClasspath('org.jetbrains:intellij-fernflower:1.2.1.16') - testRuntimeClasspath('org.jetbrains:intellij-fernflower:1.2.1.16') + annotationProcessor("com.github.LegacyModdingMC.UniMixins:unimixins-all-1.7.10:$unimixinsVersion:dev") + implementation("com.github.LegacyModdingMC.UniMixins:unimixins-all-1.7.10:$unimixinsVersion:dev") + runtimeOnly('org.jetbrains:intellij-fernflower:1.2.1.16') } else if(hasMixinDeps.toBoolean()) { - runtime("com.llamalad7:MixinExtras:0.1.1-gasstation") - runtime("org.spongepowered:mixin:0.8.5-gasstation_7") - runtime("com.falsepattern:00gasstation-mc1.7.10:0.5.1:dev") + runtimeOnly("com.github.LegacyModdingMC.UniMixins:unimixins-all-1.7.10:$unimixinsVersion:dev") } // Latest LWJGL - compile "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209" - compile "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209" + implementation "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209" + implementation "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209" minecraftNatives "org.lwjgl.lwjgl:lwjgl-platform:2.9.4-nightly-20150209" minecraftDeps "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209" minecraftDeps "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209" } + +if(usesMixins.toBoolean()) { + configurations.implementation.dependencies.each { + if (it instanceof ExternalModuleDependency) { + it.exclude module: "SpongeMixins" + it.exclude module: "SpongePoweredMixin" + it.exclude module: "00gasstation-mc1.7.10" + it.exclude module: "gtnhmixins" + } + } +} + apply from: 'dependencies.gradle' +if(file('dependencies_override.gradle').exists()) { + apply from: 'dependencies_override.gradle' +} + def mixinDir = new File(project.buildDir, 'mixins') if (!mixinDir.exists()) { mixinDir.mkdirs() @@ -425,12 +454,6 @@ runClient { def arguments = [] def jvmArguments = [] - if (usesMixins.toBoolean()) { - arguments += [ - "--mods=" + Paths.get("$projectDir").resolve(minecraft.runDir).normalize().relativize(Paths.get("$projectDir/build/libs/$archivesBaseName-${version}.jar")) - ] - } - if(usesMixins.toBoolean() || hasMixinDeps.toBoolean()) { arguments += [ "--tweakClass", "org.spongepowered.asm.launch.MixinTweaker" @@ -455,12 +478,6 @@ runServer { def arguments = [] def jvmArguments = [] - if (usesMixins.toBoolean()) { - arguments += [ - "--mods=" + Paths.get("$projectDir").resolve(minecraft.runDir).normalize().relativize(Paths.get("$projectDir/build/libs/$archivesBaseName-${version}.jar")) - ] - } - if (usesMixins.toBoolean() || hasMixinDeps.toBoolean()) { arguments += [ "--tweakClass", "org.spongepowered.asm.launch.MixinTweaker" @@ -602,11 +619,29 @@ task devJar(type: Jar) { task apiJar(type: Jar) { from (sourceSets.main.allSource) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + if (apiPackage) + include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + if (apiPackages) + apiPackages.tokenize(';').forEach { pkg -> + include modGroup.toString().replaceAll("\\.", "/") + "/" + pkg.toString().replaceAll("\\.", "/") + '/**' + } + if (apiPackagesNoRecurse) + apiPackagesNoRecurse.tokenize(';').forEach { pkg -> + include modGroup.toString().replaceAll("\\.", "/") + "/" + pkg.toString().replaceAll("\\.", "/") + '/*' + } } from (sourceSets.main.output) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + if (apiPackage) + include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + if (apiPackages) + apiPackages.tokenize(';').forEach { pkg -> + include modGroup.toString().replaceAll("\\.", "/") + "/" + pkg.toString().replaceAll("\\.", "/") + '/**' + } + if (apiPackagesNoRecurse) + apiPackagesNoRecurse.tokenize(';').forEach { pkg -> + include modGroup.toString().replaceAll("\\.", "/") + "/" + pkg.toString().replaceAll("\\.", "/") + '/*' + } } from (sourceSets.main.resources.srcDirs) { @@ -627,7 +662,7 @@ compileJava.dependsOn(copySrgs) artifacts { archives sourcesJar archives devJar - if(apiPackage) { + if(apiPackage || apiPackages || apiPackagesNoRecurse) { archives apiJar } } @@ -683,7 +718,7 @@ publishing { artifact source: sourcesJar, classifier: "sources" } artifact source: usesShadowedDependencies.toBoolean() ? shadowDevJar : devJar, classifier: "dev" - if (apiPackage) { + if (apiPackage || apiPackages || apiPackagesNoRecurse) { artifact source: apiJar, classifier: "api" } @@ -777,7 +812,7 @@ if (curseForgeProjectId != "" && System.getenv("CURSEFORGE_TOKEN") != null) { } if (usesMixins.toBoolean()) { - addCurseForgeRelation("requiredDependency", "gasstation") + addCurseForgeRelation("requiredDependency", "unimixins") } tasks.curseforge.dependsOn(build) tasks.publish.dependsOn(tasks.curseforge) @@ -810,7 +845,7 @@ if (modrinthProjectId != "" && System.getenv("MODRINTH_TOKEN") != null) { } } if (usesMixins.toBoolean()) { - addModrinthDep("required", "project", "cdeAhgfp") + addModrinthDep("required", "project", "ghjoiQAl") } tasks.modrinth.dependsOn(build) tasks.publish.dependsOn(tasks.modrinth) diff --git a/dependencies.gradle b/dependencies.gradle index 9700f23..b2d4c50 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -21,7 +21,7 @@ dependencies { } annotationProcessor("org.projectlombok:lombok:1.18.28") - implementation("com.falsepattern:falsepatternlib-mc1.7.10:0.12.5:dev") + implementation("com.falsepattern:falsepatternlib-mc1.7.10:1.0.0:dev") implementation("com.falsepattern:chunkapi-mc1.7.10:0.4.0-hotfix1:dev") diff --git a/src/main/java/com/falsepattern/endlessids/EndlessIDs.java b/src/main/java/com/falsepattern/endlessids/EndlessIDs.java index df3966c..66dd6ec 100644 --- a/src/main/java/com/falsepattern/endlessids/EndlessIDs.java +++ b/src/main/java/com/falsepattern/endlessids/EndlessIDs.java @@ -20,7 +20,9 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; version = Tags.VERSION, name = Tags.MODNAME, acceptedMinecraftVersions = "[1.7.10]", - dependencies = "required-after:chunkapi@[0.4.0,0.5.0);required-after:falsepatternlib@[0.12.5,);required-after:gasstation@[0.5.0,);after:antiidconflict") + dependencies = "required-after:chunkapi@[0.4.0,0.5.0);" + + "required-after:falsepatternlib@[1.0.0,);" + + "after:antiidconflict") public class EndlessIDs { public static final byte[] ZERO_LENGTH_BIOME_ARRAY_PLACEHOLDER = new byte[0]; public static final byte[] FAKE_BIOME_ARRAY_PLACEHOLDER = new byte[256];