diff --git a/build.gradle b/build.gradle index 5f3776219..395f36b42 100755 --- a/build.gradle +++ b/build.gradle @@ -15,21 +15,26 @@ * along with Baritone. If not, see . */ +plugins { + id "com.gradleup.shadow" version "8.3.5" +} + allprojects { - apply plugin: 'java' + apply plugin: "java" apply plugin: "xyz.wagyourtail.unimined" apply plugin: "maven-publish" + apply plugin: "com.gradleup.shadow" archivesBaseName = rootProject.archives_base_name def vers = "" try { - vers = 'git describe --always --tags --first-parent --dirty'.execute().text.trim() + vers = "git describe --always --tags --first-parent --dirty".execute().text.trim() } catch (Exception e) { println "Version detection failed: " + e } if (!vers.startsWith("v")) { - println "using version number: " + rootProject.mod_version + println "using version number: ${rootProject.mod_version}" version = rootProject.mod_version } else { version = vers.substring(1) @@ -37,26 +42,20 @@ allprojects { } group = rootProject.maven_group - sourceCompatibility = targetCompatibility = JavaVersion.toVersion(project.java_version) - - java { - toolchain { - languageVersion.set(JavaLanguageVersion.of(sourceCompatibility.majorVersion.toInteger())) - } - } + java.toolchain.languageVersion = JavaLanguageVersion.of(sourceCompatibility.majorVersion.toInteger()) repositories { maven { - name = 'spongepowered-repo' - url = 'https://repo.spongepowered.org/repository/maven-public/' + name = "spongepowered-repo" + url = "https://repo.spongepowered.org/repository/maven-public/" } maven { - name = 'fabric-maven' - url = 'https://maven.fabricmc.net/' + name = "fabric-maven" + url = "https://maven.fabricmc.net/" } maven { - name = 'impactdevelopment-repo' - url = 'https://impactdevelopment.github.io/maven/' + name = "impactdevelopment-repo" + url = "https://impactdevelopment.github.io/maven/" } maven { name = "ldtteam" @@ -72,8 +71,8 @@ allprojects { } mavenCentral() maven { - name = 'babbaj-repo' - url = 'https://babbaj.github.io/maven/' + name = "babbaj-repo" + url = "https://babbaj.github.io/maven/" } } @@ -147,7 +146,7 @@ jar { } javadoc { - options.addStringOption('Xwerror', '-quiet') // makes the build fail on travis when there is a javadoc error + 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 diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index d894aeec2..c75276f2d 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -18,27 +18,27 @@ repositories { mavenLocal() maven { - name = 'WagYourMaven' - url = 'https://maven.wagyourtail.xyz/releases' + name = "WagYourMaven" + url = "https://maven.wagyourtail.xyz/releases" } maven { - name = 'ForgeMaven' - url = 'https://maven.minecraftforge.net/' + name = "ForgeMaven" + url = "https://maven.minecraftforge.net/" } maven { - name = 'FabricMaven' - url = 'https://maven.fabricmc.net/' + name = "FabricMaven" + url = "https://maven.fabricmc.net/" } maven { - name = 'NeoForgedMaven' - url = 'https://maven.neoforged.net/' + name = "NeoForgedMaven" + url = "https://maven.neoforged.net/" } mavenCentral() } dependencies { - implementation group: 'com.google.code.gson', name: 'gson', version: '2.9.0' - implementation group: 'commons-io', name: 'commons-io', version: '2.7' + implementation group: "com.google.code.gson", name: "gson", version: "2.9.1" + implementation group: "commons-io", name: "commons-io", version: "2.20.0" - implementation group: 'xyz.wagyourtail.unimined', name: 'xyz.wagyourtail.unimined.gradle.plugin', version: '1.0.5' + implementation group: "xyz.wagyourtail.unimined", name: "xyz.wagyourtail.unimined.gradle.plugin", version: "1.3.15" } \ No newline at end of file diff --git a/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java b/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java index f27df9aaa..c439d5c22 100644 --- a/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java +++ b/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java @@ -108,7 +108,7 @@ protected String formatVersion(String string) { } protected Path getRelativeFile(String file) { - return Paths.get(new File(getProject().getBuildDir(), file).getAbsolutePath()); + return getProject().getLayout().getBuildDirectory().file(file).get().getAsFile().toPath(); } protected Path getRootRelativeFile(String file) { diff --git a/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java b/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java index d5e05a19c..273577f18 100644 --- a/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java +++ b/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java @@ -18,14 +18,8 @@ package baritone.gradle.task; import baritone.gradle.util.Determinizer; -import org.gradle.api.plugins.JavaPluginConvention; -import org.gradle.api.tasks.Input; -import org.gradle.api.tasks.SourceSetContainer; -import org.gradle.api.tasks.TaskAction; -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 org.gradle.api.plugins.JavaPluginExtension; +import org.gradle.api.tasks.*; import org.gradle.jvm.toolchain.JavaLanguageVersion; import org.gradle.jvm.toolchain.JavaLauncher; import org.gradle.jvm.toolchain.JavaToolchainService; @@ -39,6 +33,7 @@ import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Stream; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -112,10 +107,8 @@ private void extractProguard() throws Exception { } private JavaLauncher getJavaLauncherForProguard() { - var toolchains = getProject().getExtensions().getByType(JavaToolchainService.class); - var toolchain = toolchains.launcherFor((spec) -> { - spec.getLanguageVersion().set(JavaLanguageVersion.of(getProject().findProperty("java_version").toString())); - }).getOrNull(); + JavaToolchainService toolchains = getProject().getExtensions().getByType(JavaToolchainService.class); + JavaLauncher toolchain = toolchains.launcherFor((spec) -> spec.getLanguageVersion().set(JavaLanguageVersion.of(getProject().findProperty("java_version").toString()))).getOrNull(); if (toolchain == null) { throw new IllegalStateException("Java toolchain not found"); @@ -127,7 +120,7 @@ private JavaLauncher getJavaLauncherForProguard() { private void generateConfigs() throws Exception { Files.copy(getRootRelativeFile(PROGUARD_CONFIG_TEMPLATE), getTemporaryFile(PROGUARD_CONFIG_DEST), StandardCopyOption.REPLACE_EXISTING); - // Setup the template that will be used to derive the API and Standalone configs + // Set up the template that will be used to derive the API and Standalone configs List template = Files.readAllLines(getTemporaryFile(PROGUARD_CONFIG_DEST)); template.add(0, "-injars '" + this.artifactPath.toString() + "'"); template.add(1, "-outjars '" + this.getTemporaryFile(PROGUARD_EXPORT_PATH) + "'"); @@ -146,7 +139,7 @@ private void generateConfigs() throws Exception { } { - // Discover all of the libraries that we will need to acquire from gradle + // Discover all the libraries that we will need to acquire from gradle final Stream dependencies = acquireDependencies() // remove MCP mapped jar, and nashorn .filter(f -> !f.toString().endsWith("-recomp.jar") && !f.getName().startsWith("nashorn") && !f.getName().startsWith("coremods")); @@ -175,7 +168,13 @@ private void generateConfigs() throws Exception { } private Stream acquireDependencies() { - return getProject().getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().findByName("main").getCompileClasspath().getFiles() + return getProject() + .getExtensions() + .getByType(JavaPluginExtension.class) + .getSourceSets() + .getByName("main") + .getCompileClasspath() + .getFiles() .stream() .filter(File::isFile); } @@ -190,25 +189,6 @@ private void proguardStandalone() throws Exception { Determinizer.determinize(this.proguardOut.toString(), this.artifactStandalonePath.toString(), List.of(), false); } - private static final class Pair { - public final A a; - public final B b; - - private Pair(final A a, final B b) { - this.a = a; - this.b = b; - } - - @Override - public String toString() { - return "Pair{" + - "a=" + this.a + - ", " + - "b=" + this.b + - '}'; - } - } - private void cleanup() { try { Files.delete(this.proguardOut); @@ -227,13 +207,11 @@ private void runProguard(Path config) throws Exception { Path workingDirectory = getTemporaryFile(""); - getProject().javaexec(spec -> { - spec.workingDir(workingDirectory.toFile()); - spec.args("@" + workingDirectory.relativize(config)); - spec.classpath(getTemporaryFile(String.format(PROGUARD_JAR, proguardVersion))); - - spec.executable(getJavaLauncherForProguard().getExecutablePath().getAsFile()); - }).assertNormalExitValue().rethrowFailure(); + getProject().javaexec(javaExecSpec -> { + javaExecSpec.workingDir(workingDirectory.toFile()); + javaExecSpec.args("@" + workingDirectory.relativize(config)); + javaExecSpec.classpath(getTemporaryFile(String.format(PROGUARD_JAR, proguardVersion))); + javaExecSpec.executable(getJavaLauncherForProguard().getExecutablePath().getAsFile()); + }); } - } diff --git a/fabric/build.gradle b/fabric/build.gradle index caeb009aa..bd2336621 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -18,10 +18,6 @@ import baritone.gradle.task.CreateDistTask import baritone.gradle.task.ProguardTask -plugins { - id "com.github.johnrengelman.shadow" version "8.0.0" -} - archivesBaseName = archivesBaseName + "-fabric" unimined.minecraft { @@ -77,12 +73,13 @@ components.java { } } -task proguard(type: ProguardTask) { +tasks.register("proguard", ProguardTask) { proguardVersion "7.2.1" compType "fabric" } -task createDist(type: CreateDistTask, dependsOn: proguard) { +tasks.register("createDist", CreateDistTask) { + dependsOn proguard compType "fabric" } diff --git a/forge/build.gradle b/forge/build.gradle index b2c81567e..b6d189515 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -18,18 +18,14 @@ import baritone.gradle.task.CreateDistTask import baritone.gradle.task.ProguardTask -plugins { - id "com.github.johnrengelman.shadow" version "8.0.0" -} - -archivesBaseName = archivesBaseName + "-forge" +//base.archivesName = base.archivesName + "-forge" unimined.minecraft { mappings { devFallbackNamespace "intermediary" } - forge { + minecraftForge { loader project.forge_version mixinConfig ["mixins.baritone.json"] } @@ -37,7 +33,7 @@ unimined.minecraft { //loom { // forge { -// mixinConfig 'mixins.baritone.json' +// mixinConfig "mixins.baritone.json" // } //} @@ -83,11 +79,11 @@ jar { manifest { attributes( - 'MixinConfigs': 'mixins.baritone.json', + "MixinConfigs": "mixins.baritone.json", "MixinConnector": "baritone.launch.BaritoneMixinConnector", - 'Implementation-Title': 'Baritone', - 'Implementation-Version': version, + "Implementation-Title": "Baritone", + "Implementation-Version": version, ) } } @@ -98,12 +94,13 @@ components.java { } } -task proguard(type: ProguardTask) { +tasks.register("proguard", ProguardTask) { proguardVersion "7.2.1" compType "forge" } -task createDist(type: CreateDistTask, dependsOn: proguard) { +tasks.register("createDist", CreateDistTask) { + dependsOn proguard compType "forge" } diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index b1d54af8b..9709c3a92 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -7,7 +7,7 @@ modLoader="javafml" #mandatory # A version range to match for said mod loader - for regular FML @Mod it will be the forge version loaderVersion="[33,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions. -license="https://raw.githubusercontent.com/cabaletta/baritone/1.16.2/LICENSE" +license="https://raw.githubusercontent.com/cabaletta/baritone/1.19.4/LICENSE" # A URL to refer people to when problems occur with this mod issueTrackerURL="https://github.com/cabaletta/baritone/issues" #optional # A list of mods - how many allowed here is determined by the individual mod loader diff --git a/gradle.properties b/gradle.properties index bd275b61a..44e3378b3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,7 @@ fabric_version=0.14.11 nether_pathfinder_version=1.4.1 -// These dependencies are used for common and tweaker -// while mod loaders usually ship their own version -mixin_version=0.8.5 -asm_version=9.3 +# These dependencies are used for common and tweaker +# while mod loaders usually ship their own version +mixin_version=0.8.7 +asm_version=9.5 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 15de90249..18f4d9871 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index 2475b0845..7debb7fd5 100755 --- a/settings.gradle +++ b/settings.gradle @@ -19,16 +19,16 @@ pluginManagement { repositories { mavenLocal() maven { - name = 'WagYourMaven' - url = 'https://maven.wagyourtail.xyz/snapshots' + name = "WagYourMaven" + url = "https://maven.wagyourtail.xyz/snapshots" } maven { - name = 'ForgeMaven' - url = 'https://maven.minecraftforge.net/' + name = "ForgeMaven" + url = "https://maven.minecraftforge.net/" } maven { - name = 'FabricMaven' - url = 'https://maven.fabricmc.net/' + name = "FabricMaven" + url = "https://maven.fabricmc.net/" } mavenCentral() gradlePluginPortal() { @@ -39,12 +39,8 @@ pluginManagement { } } -rootProject.name = 'baritone' +rootProject.name = "baritone" include("tweaker") -if (System.getProperty("Baritone.enabled_platforms") == null) { - System.setProperty("Baritone.enabled_platforms", "fabric,forge") -} -for (platform in System.getProperty("Baritone.enabled_platforms").split(",")) { - include(platform) -} +include("forge") +include("fabric") \ No newline at end of file diff --git a/src/api/java/baritone/api/BaritoneAPI.java b/src/api/java/baritone/api/BaritoneAPI.java index fa98525bf..a98d72ea4 100644 --- a/src/api/java/baritone/api/BaritoneAPI.java +++ b/src/api/java/baritone/api/BaritoneAPI.java @@ -35,7 +35,7 @@ public final class BaritoneAPI { SettingsUtil.readAndApply(settings, SettingsUtil.SETTINGS_DEFAULT_NAME); try { - provider = (IBaritoneProvider) Class.forName("baritone.BaritoneProvider").newInstance(); + provider = (IBaritoneProvider) Class.forName("baritone.BaritoneProvider").getDeclaredConstructor().newInstance(); } catch (ReflectiveOperationException ex) { throw new RuntimeException(ex); } diff --git a/src/api/java/baritone/api/utils/BetterBlockPos.java b/src/api/java/baritone/api/utils/BetterBlockPos.java index 5add76555..a56754aa5 100644 --- a/src/api/java/baritone/api/utils/BetterBlockPos.java +++ b/src/api/java/baritone/api/utils/BetterBlockPos.java @@ -17,11 +17,11 @@ package baritone.api.utils; -import javax.annotation.Nonnull; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; import net.minecraft.util.Mth; +import org.jetbrains.annotations.NotNull; /** * A better BlockPos that has fewer hash collisions (and slightly more performant offsets) @@ -225,7 +225,7 @@ public double distanceTo(final BetterBlockPos to) { } @Override - @Nonnull + @NotNull public String toString() { return String.format( "BetterBlockPos{x=%s,y=%s,z=%s}", diff --git a/src/api/java/baritone/api/utils/BlockOptionalMeta.java b/src/api/java/baritone/api/utils/BlockOptionalMeta.java index b10aa294f..796494549 100644 --- a/src/api/java/baritone/api/utils/BlockOptionalMeta.java +++ b/src/api/java/baritone/api/utils/BlockOptionalMeta.java @@ -52,9 +52,9 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.NotNull; import sun.misc.Unsafe; -import javax.annotation.Nonnull; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; @@ -84,7 +84,7 @@ public final class BlockOptionalMeta { private static PredicateManager predicate = new PredicateManager(); private static Map> drops = new HashMap<>(); - public BlockOptionalMeta(@Nonnull Block block) { + public BlockOptionalMeta(@NotNull Block block) { this.block = block; this.propertiesDescription = "{}"; this.blockstates = getStates(block, Collections.emptyMap()); @@ -92,7 +92,7 @@ public BlockOptionalMeta(@Nonnull Block block) { this.stackHashes = getStackHashes(blockstates); } - public BlockOptionalMeta(@Nonnull String selector) { + public BlockOptionalMeta(@NotNull String selector) { Matcher matcher = PATTERN.matcher(selector); if (!matcher.find()) { @@ -135,7 +135,7 @@ private static , P extends Property> P castToIPropert return builder.build(); } - private static Set getStates(@Nonnull Block block, @Nonnull Map, ?> properties) { + private static Set getStates(@NotNull Block block, @NotNull Map, ?> properties) { return block.getStateDefinition().getPossibleStates().stream() .filter(blockstate -> properties.entrySet().stream().allMatch(entry -> blockstate.getValue(entry.getKey()) == entry.getValue() @@ -168,11 +168,11 @@ public Block getBlock() { return block; } - public boolean matches(@Nonnull Block block) { + public boolean matches(@NotNull Block block) { return block == this.block; } - public boolean matches(@Nonnull BlockState blockstate) { + public boolean matches(@NotNull BlockState blockstate) { Block block = blockstate.getBlock(); return block == this.block && stateHashes.contains(blockstate.hashCode()); } diff --git a/src/launch/java/baritone/launch/mixins/MixinPalettedContainer.java b/src/launch/java/baritone/launch/mixins/MixinPalettedContainer.java index a1b409a09..24e06cbba 100644 --- a/src/launch/java/baritone/launch/mixins/MixinPalettedContainer.java +++ b/src/launch/java/baritone/launch/mixins/MixinPalettedContainer.java @@ -34,6 +34,7 @@ @Mixin(PalettedContainer.class) public abstract class MixinPalettedContainer implements IPalettedContainer { + @Unique private static final MethodHandle DATA_GETTER; // Mixin has no way of referring to the data field and we can't use inheritance diff --git a/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java b/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java index 9f4bddf12..9d6e261b1 100644 --- a/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java +++ b/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java @@ -17,12 +17,12 @@ package baritone.utils; -import javax.annotation.Nullable; import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.FluidState; +import org.jetbrains.annotations.Nullable; /** * @author Brady diff --git a/src/main/java/baritone/utils/schematic/format/defaults/LitematicaSchematic.java b/src/main/java/baritone/utils/schematic/format/defaults/LitematicaSchematic.java index 89684981e..0cc9847b9 100644 --- a/src/main/java/baritone/utils/schematic/format/defaults/LitematicaSchematic.java +++ b/src/main/java/baritone/utils/schematic/format/defaults/LitematicaSchematic.java @@ -29,8 +29,8 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.Property; import org.apache.commons.lang3.Validate; +import org.jetbrains.annotations.Nullable; -import javax.annotation.Nullable; import java.util.Collections; import java.util.Optional; @@ -44,8 +44,7 @@ public final class LitematicaSchematic extends CompositeSchematic implements IStaticSchematic { /** - * @param nbtTagCompound a decompressed file stream aka nbt data. - * @param rotated if the schematic is rotated by 90°. + * @param nbt a decompressed file stream aka nbt data. */ public LitematicaSchematic(CompoundTag nbt) { super(0, 0, 0); @@ -225,7 +224,7 @@ private static class LitematicaBitArray { */ private final long arraySize; - public LitematicaBitArray(int bitsPerEntryIn, long arraySizeIn, @Nullable long[] longArrayIn) { + public LitematicaBitArray(int bitsPerEntryIn, long arraySizeIn, long @Nullable [] longArrayIn) { Validate.inclusiveBetween(1L, 32L, bitsPerEntryIn); this.arraySize = arraySizeIn; this.bitsPerEntry = bitsPerEntryIn; diff --git a/tweaker/build.gradle b/tweaker/build.gradle index 3e4758c87..c48044491 100644 --- a/tweaker/build.gradle +++ b/tweaker/build.gradle @@ -17,22 +17,19 @@ import baritone.gradle.task.CreateDistTask import baritone.gradle.task.ProguardTask -//import baritone.gradle.task.TweakerJsonAssembler - -plugins { - id "com.github.johnrengelman.shadow" version "8.0.0" -} unimined.minecraft { - runs.client = { - mainClass = "net.minecraft.launchwrapper.Launch" - args.addAll(["--tweakClass", "baritone.launch.tweaker.BaritoneTweaker"]) + runs { + config("client") { + mainClass = "net.minecraft.launchwrapper.Launch" + args.addAll(["--tweakClass", "baritone.launch.tweaker.BaritoneTweaker"]) + } } } configurations { common - shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. + shadowCommon // Don't use shadow from the shadow plugin because we don"t want IDEA to index this. compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common } @@ -48,13 +45,13 @@ dependencies { implementation "org.ow2.asm:asm-analysis:${project.asm_version}" - implementation 'com.github.ImpactDevelopment:SimpleTweaker:1.2' - implementation('net.minecraft:launchwrapper:of-2.3') { - exclude module: 'lwjgl' - exclude module: 'asm-debug-all' + implementation "com.github.ImpactDevelopment:SimpleTweaker:1.2" + implementation("net.minecraft:launchwrapper:of-2.3") { + exclude module: "lwjgl" + exclude module: "asm-debug-all" } - compileOnly 'com.google.code.findbugs:jsr305:3.0.2' + compileOnly "com.google.code.findbugs:jsr305:3.0.2" // because of multiple sourcesets `common project(":")` doesn't work for (sourceSet in rootProject.sourceSets) { @@ -85,20 +82,20 @@ jar { manifest { attributes( - 'MixinConfigs': 'mixins.baritone.json', + "MixinConfigs": "mixins.baritone.json", "MixinConnector": "baritone.launch.BaritoneMixinConnector", - 'Implementation-Title': 'Baritone', - 'Implementation-Version': version, + "Implementation-Title": "Baritone", + "Implementation-Version": version, ) } } -task proguard(type: ProguardTask) { +tasks.register("proguard", ProguardTask) { proguardVersion "7.2.1" } -task createDist(type: CreateDistTask, dependsOn: proguard) +tasks.register("createDist", CreateDistTask) { dependsOn proguard } build.finalizedBy(createDist)