From 85790c0b2fe2d6a606656d01554f5d51d3b6d532 Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Thu, 1 Dec 2022 23:04:40 -0700 Subject: [PATCH] switch to unimined --- build.gradle | 121 +++++++++----- buildSrc/build.gradle | 17 +- .../baritone/gradle/task/ProguardTask.java | 30 ++-- common/build.gradle | 136 ---------------- fabric/build.gradle | 16 +- forge/build.gradle | 32 ++-- forge/src/main/resources/META-INF/mods.toml | 2 +- forge/src/main/resources/pack.mcmeta | 6 + gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 32 ++-- src/launch/resources/pack.mcmeta | 6 - tweaker/build.gradle | 151 ++++++------------ .../java/baritone/launch/BaritoneTweaker.java | 0 .../java/baritone/launch/LaunchTesting.java | 0 15 files changed, 202 insertions(+), 351 deletions(-) delete mode 100644 common/build.gradle create mode 100644 forge/src/main/resources/pack.mcmeta delete mode 100644 src/launch/resources/pack.mcmeta rename tweaker/src/{tweaker => main}/java/baritone/launch/BaritoneTweaker.java (100%) rename tweaker/src/{tweaker => main}/java/baritone/launch/LaunchTesting.java (100%) diff --git a/build.gradle b/build.gradle index 2790bfbc8..9a6bdd5e2 100755 --- a/build.gradle +++ b/build.gradle @@ -15,24 +15,13 @@ * along with Baritone. If not, see . */ -buildscript { - dependencies { - classpath "org.ow2.asm:asm:9.3" - } -} - -plugins { - id "architectury-plugin" version "3.4.135" - id 'dev.architectury.loom' version '0.12.0.282' apply false -} - -subprojects { +allprojects { apply plugin: 'java' + apply plugin: "xyz.wagyourtail.unimined" apply plugin: "maven-publish" - apply plugin: "dev.architectury.loom" archivesBaseName = rootProject.archives_base_name - def vers = 'git describe --always --tags --dirty'.execute().text.trim(); + def vers = 'git describe --always --tags --dirty'.execute().text.trim() if (!vers.startsWith("v")) { println "git doesn't appear to be installed!" println "using version number: " + rootProject.mod_version @@ -44,36 +33,15 @@ subprojects { sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 - loom { - silentMojangMappingsLicense() - } - - dependencies { - minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" - // The following line declares the mojmap mappings, you may use other mappings as well - mappings loom.officialMojangMappings() - // The following line declares the yarn mappings you may select this one as well. - // mappings "net.fabricmc:yarn:1.17.1+build.32:v2" - } - - tasks.withType(JavaCompile).configureEach { - it.options.encoding = "UTF-8" - - def targetVersion = 17 - if (JavaVersion.current().isJava9Compatible()) { - it.options.release = targetVersion - } - } -} - -allprojects { - apply plugin: "architectury-plugin" - repositories { maven { name = 'spongepowered-repo' url = 'https://repo.spongepowered.org/repository/maven-public/' } + maven { + name = 'fabric-maven' + url = 'https://maven.fabricmc.net/' + } maven { name = 'impactdevelopment-repo' url = 'https://impactdevelopment.github.io/maven/' @@ -92,4 +60,79 @@ allprojects { } mavenCentral() } + + dependencies { + minecraft "net.minecraft:minecraft:${rootProject.minecraft_version}" + // The following line declares the mojmap mappings, you may use other mappings as well + mappings "net.fabricmc:intermediary:${rootProject.minecraft_version}:v2" + mappings "net.minecraft:minecraft:${rootProject.minecraft_version}:client-mappings" + + implementation "org.spongepowered:mixin:0.8.5" + implementation "org.ow2.asm:asm:9.3" + // The following line declares the yarn mappings you may select this one as well. + // mappings "net.fabricmc:yarn:1.17.1+build.32:v2" + } + + tasks.withType(JavaCompile).configureEach { + it.options.encoding = "UTF-8" + + def targetVersion = 17 + if (JavaVersion.current().isJava9Compatible()) { + it.options.release = targetVersion + } + } +} + +minecraft { + runs.off = true +} + +archivesBaseName = archivesBaseName + "-common" + +sourceSets { + api { + compileClasspath += main.compileClasspath + runtimeClasspath += main.runtimeClasspath + } + main { + compileClasspath += api.output + runtimeClasspath += api.output + } + test { + compileClasspath += main.compileClasspath + main.runtimeClasspath + main.output + runtimeClasspath += main.compileClasspath + main.runtimeClasspath + main.output + } + launch { + compileClasspath += main.compileClasspath + main.runtimeClasspath + main.output + runtimeClasspath += main.compileClasspath + main.runtimeClasspath + main.output + } + schematica_api { + compileClasspath += main.compileClasspath + runtimeClasspath += main.runtimeClasspath + } + main { + compileClasspath += schematica_api.output + runtimeClasspath += schematica_api.output + } +} + +dependencies { + testImplementation 'junit:junit:4.13.2' +} + +jar { + from sourceSets.main.output, sourceSets.launch.output, sourceSets.api.output +} + +remapJar { + targetNamespace = "named" + fallbackTargetNamespace = "intermediary" +} + +javadoc { + options.addStringOption('Xwerror', '-quiet') // makes the build fail on travis when there is a javadoc error + options.linkSource true + options.encoding "UTF-8" // allow emoji in comments :^) + source = sourceSets.api.allJava + classpath += sourceSets.api.compileClasspath } \ No newline at end of file diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 8ab0f7014..eb19c7f73 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -16,10 +16,25 @@ */ repositories { + mavenLocal() + maven { + name = 'WagYourMaven' + url = 'https://maven.wagyourtail.xyz/snapshots' + } + maven { + name = 'ForgeMaven' + url = 'https://maven.minecraftforge.net/' + } + maven { + name = 'FabricMaven' + url = 'https://maven.fabricmc.net/' + } mavenCentral() } dependencies { - implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5' + implementation group: 'com.google.code.gson', name: 'gson', version: '2.9.0' implementation group: 'commons-io', name: 'commons-io', version: '2.6' + + implementation group: 'xyz.wagyourtail.unimined', name: 'xyz.wagyourtail.unimined.gradle.plugin', version: '0.3.0' } \ No newline at end of file diff --git a/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java b/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java index d3acaa6ed..edcd776a8 100644 --- a/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java +++ b/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java @@ -26,6 +26,9 @@ import org.gradle.api.tasks.TaskCollection; import org.gradle.api.tasks.compile.ForkOptions; import org.gradle.api.tasks.compile.JavaCompile; import org.gradle.internal.jvm.Jvm; +import xyz.wagyourtail.unimined.api.Constants; +import xyz.wagyourtail.unimined.api.minecraft.EnvType; +import xyz.wagyourtail.unimined.api.minecraft.MinecraftProvider; import java.io.*; import java.net.MalformedURLException; @@ -81,29 +84,14 @@ public class ProguardTask extends BaritoneGradleTask { cleanup(); } - private boolean isMcJar(File f) { - return f.getName().startsWith(compType.equals("FORGE") ? "forge-" : "minecraft-") && f.getName().contains("minecraft-merged-named"); + MinecraftProvider provider = this.getProject().getExtensions().getByType(MinecraftProvider.class); + + private File getMcJar() { + return provider.getMinecraftWithMapping(EnvType.COMBINED, provider.getMcPatcher().getProdNamespace(), provider.getMcPatcher().getProdFallbackNamespace()).toFile(); } - private File getMcJar() throws IOException { - File mcClientJar = this.getProject().getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().findByName("main").getCompileClasspath().getFiles() - .stream() - .filter(this::isMcJar) - .map(f -> { - switch (compType) { - case "OFFICIAL": - return new File(f.getParentFile().getParentFile(), "minecraft-merged.jar"); - case "FABRIC": - return new File(f.getParentFile().getParentFile(), "minecraft-merged-intermediary.jar"); - case "FORGE": - return new File(f.getParentFile().getParentFile(), f.getName().replace("-named.jar", "-srg.jar")); - } - return null; - }) - .findFirst() - .get(); - if (!mcClientJar.exists()) throw new IOException("Failed to find minecraft! " + mcClientJar.getAbsolutePath()); - return mcClientJar; + private boolean isMcJar(File f) { + return this.getProject().getConfigurations().getByName(Constants.MINECRAFT_COMBINED_PROVIDER).getFiles().contains(f); } private void processArtifact() throws Exception { diff --git a/common/build.gradle b/common/build.gradle deleted file mode 100644 index 1b356b3d6..000000000 --- a/common/build.gradle +++ /dev/null @@ -1,136 +0,0 @@ -import baritone.gradle.task.CreateDistTask -import baritone.gradle.task.ProguardTask - -architectury { - injectInjectables = false - common(System.getProperty("Baritone.enabled_platforms").split(",")) -} - -//loom { -// mixin { -// legacyRemapToNamespace = "official" -// } -//} - -// ignore this jank, it's so I don't have to move the src folder, as that creates unnecessary git conflicts -sourceSets { - realmain { - java { - java { - srcDir "$rootDir/src/main/java" - } - resources { - srcDir "$rootDir/src/main/resources" - } - } - } - api { - compileClasspath += main.compileClasspath - runtimeClasspath += main.runtimeClasspath - java { - java { - srcDir "$rootDir/src/api/java" - } - resources { - srcDir "$rootDir/src/api/resources" - } - } - } - realmain { - compileClasspath += main.compileClasspath + api.output - runtimeClasspath += main.runtimeClasspath + api.output - } - test { - compileClasspath += realmain.compileClasspath + realmain.output - runtimeClasspath += realmain.runtimeClasspath + realmain.output - java { - java { - srcDir "$rootDir/src/test/java" - } - resources { - srcDir "$rootDir/src/test/resources" - } - } - } - main { - compileClasspath += realmain.output + api.output - runtimeClasspath += realmain.output + api.output - java { - java { - srcDir "$rootDir/src/launch/java" - } - resources { - srcDir "$rootDir/src/launch/resources" - } - } - } - schematica_api { - compileClasspath += realmain.compileClasspath - runtimeClasspath += realmain.runtimeClasspath - java { - java { - srcDir "$rootDir/src/schematica_api/java" - } - resources { - srcDir "$rootDir/src/schematica_api/resources" - } - } - } - realmain { - compileClasspath += schematica_api.output - runtimeClasspath += schematica_api.output - } -} - -configurations { - transformProductionTweaker { - canBeConsumed = true - canBeResolved = false - // If you want this configuration to share the same dependencies, otherwise omit this line - extendsFrom implementation, runtimeOnly - } -} - -dependencies { - // We depend on fabric loader here to use the fabric @Environment annotations and get the mixin dependencies - // Do NOT use other classes from fabric loader - modCompileOnly "net.fabricmc:fabric-loader:${project.fabric_version}" - - compileOnly 'com.google.code.findbugs:jsr305:3.0.2' - - testImplementation 'junit:junit:4.12' -} - -javadoc { - options.addStringOption('Xwerror', '-quiet') // makes the build fail on travis when there is a javadoc error - options.linkSource true - options.encoding "UTF-8" // allow emoji in comments :^) - source = sourceSets.api.allJava - classpath += sourceSets.api.compileClasspath -} - -jar { - classifier "dev" - from sourceSets.main.output, sourceSets.realmain.output, sourceSets.api.output - - preserveFileTimestamps = false - reproducibleFileOrder = true - - manifest { - attributes( - 'MixinConfigs': 'mixins.baritone.json', - "MixinConnector": "baritone.launch.BaritoneMixinConnector", - - 'Implementation-Title': 'Baritone', - 'Implementation-Version': version, - ) - } -} - - - -task removeDist(type: Delete) { - delete new File(rootProject.rootDir, "dist") -} - -clean.finalizedBy(removeDist) \ No newline at end of file diff --git a/fabric/build.gradle b/fabric/build.gradle index 86aab9dd8..5117241ff 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -24,8 +24,7 @@ plugins { archivesBaseName = archivesBaseName + "-" + project.name -architectury { - platformSetupLoomIde() +minecraft { fabric() } @@ -34,14 +33,17 @@ configurations { shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common - developmentFabric.extendsFrom common } dependencies { - modImplementation "net.fabricmc:fabric-loader:${project.fabric_version}" + fabric "net.fabricmc:fabric-loader:${project.fabric_version}" - common(project(path: ":common", configuration: "namedElements")) { transitive false } - shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive false } + // because of multiple sourcesets `common project(":")` doesn't work + for (sourceSet in rootProject.sourceSets) { + if (sourceSet == rootProject.sourceSets.test) continue + common sourceSet.output + shadowCommon sourceSet.output + } } processResources { @@ -58,7 +60,7 @@ shadowJar { } remapJar { - input.set shadowJar.archiveFile + inputFile.set shadowJar.archiveFile dependsOn shadowJar classifier null } diff --git a/forge/build.gradle b/forge/build.gradle index f1cabe46d..133cdf1b1 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -24,49 +24,52 @@ plugins { archivesBaseName = archivesBaseName + "-" + project.name -architectury { - platformSetupLoomIde() - forge() -} - -loom { +minecraft { forge { - mixinConfig 'mixins.baritone.json' + devFallbackNamespace = "intermediary" + mixinConfig = ["mixins.baritone.json"] } } +//loom { +// forge { +// mixinConfig 'mixins.baritone.json' +// } +//} + configurations { common shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common - developmentFabric.extendsFrom common } dependencies { forge "net.minecraftforge:forge:${rootProject.forge_version}" - common(project(path: ":common", configuration: "namedElements")) { transitive false } - shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive false } + // because of multiple sourcesets `common project(":")` doesn't work + for (sourceSet in rootProject.sourceSets) { + if (sourceSet == rootProject.sourceSets.test) continue + common sourceSet.output + shadowCommon sourceSet.output + } } processResources { inputs.property "version", project.version - filesMatching("fabric.mod.json") { + filesMatching("META-INF/mods.toml") { expand "version": project.version } } shadowJar { - exclude("fabric.mod.json") - configurations = [project.configurations.shadowCommon] classifier "dev-shadow" } remapJar { - input.set shadowJar.archiveFile + inputFile.set shadowJar.archiveFile dependsOn shadowJar classifier null } @@ -99,7 +102,6 @@ task proguard(type: ProguardTask) { task createDist(type: CreateDistTask, dependsOn: proguard) - build.finalizedBy(createDist) publishing { diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index 1ad269fce..9297ed74b 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -15,7 +15,7 @@ issueTrackerURL="https://github.com/cabaletta/baritone/issues" #optional # The modid of the mod modId="baritoe" #mandatory # The version number of the mod - there's a few well known ${} variables useable here or just hardcode it -version="${file.jarVersion}" #mandatory +version="${version}" #mandatory # A display name for the mod displayName="Baritone" #mandatory # A URL for the "homepage" for this mod, displayed in the mod UI diff --git a/forge/src/main/resources/pack.mcmeta b/forge/src/main/resources/pack.mcmeta new file mode 100644 index 000000000..663d1787a --- /dev/null +++ b/forge/src/main/resources/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "null", + "pack_format": 8 + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index bd327cf41..af7a60880 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,5 +5,5 @@ maven_group=baritone archives_base_name=baritone minecraft_version=1.19.2 -forge_version=1.19.2-43.0.0 +forge_version=1.19.2-43.1.65 fabric_version=0.14.9 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 84d1f85fd..00e33edef 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index 7c572072c..2475b0845 100755 --- a/settings.gradle +++ b/settings.gradle @@ -17,32 +17,30 @@ pluginManagement { repositories { - maven { url "https://maven.architectury.dev/" } + mavenLocal() maven { + name = 'WagYourMaven' + url = 'https://maven.wagyourtail.xyz/snapshots' + } + maven { + name = 'ForgeMaven' + url = 'https://maven.minecraftforge.net/' + } + maven { + name = 'FabricMaven' url = 'https://maven.fabricmc.net/' } - maven { - name = 'forge' - url = 'https://files.minecraftforge.net/maven' - } - maven { - name = 'impactdevelopment-repo' - url = 'https://impactdevelopment.github.io/maven/' - } - maven { - url = 'https://www.dogforce-games.com/maven/' - } - maven { - url = 'https://libraries.minecraft.net/' - } mavenCentral() - gradlePluginPortal() + gradlePluginPortal() { + content { + excludeGroup "org.apache.logging.log4j" + } + } } } rootProject.name = 'baritone' -include("common") include("tweaker") if (System.getProperty("Baritone.enabled_platforms") == null) { System.setProperty("Baritone.enabled_platforms", "fabric,forge") diff --git a/src/launch/resources/pack.mcmeta b/src/launch/resources/pack.mcmeta deleted file mode 100644 index 1bc616027..000000000 --- a/src/launch/resources/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack": { - "description": "baritoe", - "pack_format": 5 - } -} diff --git a/tweaker/build.gradle b/tweaker/build.gradle index 9facdb8d2..c3554f636 100644 --- a/tweaker/build.gradle +++ b/tweaker/build.gradle @@ -1,111 +1,53 @@ +/* + * This file is part of Baritone. + * + * Baritone is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Baritone is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Baritone. If not, see . + */ + import baritone.gradle.task.CreateDistTask import baritone.gradle.task.ProguardTask +import baritone.gradle.task.TweakerJsonAssembler -architectury { - injectInjectables = false +plugins { + id "com.github.johnrengelman.shadow" version "7.0.0" } -loom { - mixin { - refmapTargetNamespace = "official" - defaultRefmapName = "baritone-common-refmap.json" - } -} - -loom.mixin.useLegacyMixinAp = false; - -// ignore this jank, it's so I don't have to move the src folder, as that creates unnecessary git conflicts -sourceSets { - realmain { - java { - java { - srcDir "$rootDir/src/main/java" - } - resources { - srcDir "$rootDir/src/main/resources" - } - } - } - api { - compileClasspath += main.compileClasspath - runtimeClasspath += main.runtimeClasspath - java { - java { - srcDir "$rootDir/src/api/java" - } - resources { - srcDir "$rootDir/src/api/resources" - } - } - } - realmain { - compileClasspath += main.compileClasspath + api.output - runtimeClasspath += main.runtimeClasspath + api.output - } - test { - compileClasspath += realmain.compileClasspath + realmain.output - runtimeClasspath += realmain.runtimeClasspath + realmain.output - java { - java { - srcDir "$rootDir/src/test/java" - } - resources { - srcDir "$rootDir/src/test/resources" - } - } - } - tweaker { - compileClasspath += realmain.output + api.output + main.compileClasspath - runtimeClasspath += realmain.output + api.output + main.compileClasspath - } - main { - compileClasspath += realmain.output + api.output + tweaker.output - runtimeClasspath += realmain.output + api.output + tweaker.output - java { - java { - srcDir "$rootDir/src/launch/java" - } - resources { - srcDir "$rootDir/src/launch/resources" - } - } - } - schematica_api { - compileClasspath += realmain.compileClasspath - runtimeClasspath += realmain.runtimeClasspath - java { - java { - srcDir "$rootDir/src/schematica_api/java" - } - resources { - srcDir "$rootDir/src/schematica_api/resources" - } - } - } - realmain { - compileClasspath += schematica_api.output - runtimeClasspath += schematica_api.output +minecraft { + runs.client = { + mainClass = "net.minecraft.launchwrapper.Launch" + args.addAll(["--tweakClass", "baritone.launch.BaritoneTweaker"]) } } configurations { - transformProductionTweaker { - canBeConsumed = true - canBeResolved = false - // If you want this configuration to share the same dependencies, otherwise omit this line - extendsFrom implementation, runtimeOnly - } + common + shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. + compileClasspath.extendsFrom common + runtimeClasspath.extendsFrom common } dependencies { - // We depend on fabric loader here to use the fabric @Environment annotations and get the mixin dependencies - // Do NOT use other classes from fabric loader - modCompileOnly "net.fabricmc:fabric-loader:${project.fabric_version}" + implementation "org.spongepowered:mixin:0.8.5" + + // for some reason mixin isn't including these... + implementation "org.ow2.asm:asm:9.3" + implementation "org.ow2.asm:asm-tree:9.3" + implementation "org.ow2.asm:asm-commons:9.3" + implementation "org.ow2.asm:asm-util:9.3" + implementation "org.ow2.asm:asm-analysis:9.3" - // want in the pom but not to compile against as it's also provided by loom - runtimeOnly "org.spongepowered:mixin:0.8.4" - // this makes it compile with the forge tweak stuff implementation 'com.github.ImpactDevelopment:SimpleTweaker:1.2' implementation('net.minecraft:launchwrapper:of-2.3') { exclude module: 'lwjgl' @@ -114,20 +56,21 @@ dependencies { compileOnly 'com.google.code.findbugs:jsr305:3.0.2' - testImplementation 'junit:junit:4.12' + // because of multiple sourcesets `common project(":")` doesn't work + for (sourceSet in rootProject.sourceSets) { + if (sourceSet == rootProject.sourceSets.test) continue + common sourceSet.output + shadowCommon sourceSet.output + } } -javadoc { - options.addStringOption('Xwerror', '-quiet') // makes the build fail on travis when there is a javadoc error - options.linkSource true - options.encoding "UTF-8" // allow emoji in comments :^) - source = sourceSets.api.allJava - classpath += sourceSets.api.compileClasspath +shadowJar { + configurations = [project.configurations.shadowCommon] + classifier "dev-shadow" } jar { classifier "dev" - from sourceSets.main.output, sourceSets.realmain.output, sourceSets.api.output, sourceSets.tweaker.output preserveFileTimestamps = false reproducibleFileOrder = true @@ -143,10 +86,6 @@ jar { } } -remapJar { - targetNamespace = 'official' -} - task proguard(type: ProguardTask) { url 'https://github.com/Guardsquare/proguard/releases/download/v7.2.1/proguard-7.2.1.zip' extract 'proguard-7.2.1/lib/proguard.jar' diff --git a/tweaker/src/tweaker/java/baritone/launch/BaritoneTweaker.java b/tweaker/src/main/java/baritone/launch/BaritoneTweaker.java similarity index 100% rename from tweaker/src/tweaker/java/baritone/launch/BaritoneTweaker.java rename to tweaker/src/main/java/baritone/launch/BaritoneTweaker.java diff --git a/tweaker/src/tweaker/java/baritone/launch/LaunchTesting.java b/tweaker/src/main/java/baritone/launch/LaunchTesting.java similarity index 100% rename from tweaker/src/tweaker/java/baritone/launch/LaunchTesting.java rename to tweaker/src/main/java/baritone/launch/LaunchTesting.java