diff --git a/build.gradle b/build.gradle index d1cc1919d..44c258ee3 100755 --- a/build.gradle +++ b/build.gradle @@ -60,7 +60,7 @@ sourceSets { minecraft { version = '1.12.2' mappings = 'stable_39' - tweakClass = 'org.spongepowered.asm.launch.MixinTweaker' + tweakClass = 'baritone.launch.BaritoneTweaker' runDir = 'run' // The sources jar should use SRG names not MCP to ensure compatibility with all mappings diff --git a/buildSrc/src/main/java/baritone/gradle/util/Determinizer.java b/buildSrc/src/main/java/baritone/gradle/util/Determinizer.java index fc268cd35..462516d63 100644 --- a/buildSrc/src/main/java/baritone/gradle/util/Determinizer.java +++ b/buildSrc/src/main/java/baritone/gradle/util/Determinizer.java @@ -60,12 +60,22 @@ public class Determinizer { if (entry.getName().equals("META-INF/fml_cache_class_versions.json")) { continue; } + JarEntry clone = new JarEntry(entry.getName()); clone.setTime(42069); jos.putNextEntry(clone); if (entry.getName().endsWith(".refmap.json")) { JsonObject object = new JsonParser().parse(new InputStreamReader(jarFile.getInputStream(entry))).getAsJsonObject(); jos.write(writeSorted(object).getBytes()); + } else if (entry.getName().equals("META-INF/MANIFEST.MF")) { + ByteArrayOutputStream cancer = new ByteArrayOutputStream(); + copy(jarFile.getInputStream(entry), cancer); + String manifest = new String(cancer.toByteArray()); + if (!manifest.contains("baritone.launch.BaritoneTweaker")) { + throw new IllegalStateException("unable to replace"); + } + manifest = manifest.replace("baritone.launch.BaritoneTweaker", "org.spongepowered.asm.launch.MixinTweaker"); + jos.write(manifest.getBytes()); } else { copy(jarFile.getInputStream(entry), jos); }