From f8e1366188a18e1656a638ecdeeaf68a09329622 Mon Sep 17 00:00:00 2001 From: Cat Core Date: Sun, 15 Feb 2026 20:39:51 +0100 Subject: [PATCH] Allow disabling LVT patch in MakeSourceJarsTask for Sparrow and Raven --- .../api/task/setup/MakeSourceJarsTask.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/ornithemc/keratin/api/task/setup/MakeSourceJarsTask.java b/src/main/java/net/ornithemc/keratin/api/task/setup/MakeSourceJarsTask.java index d1a4e0d..6e39cd2 100644 --- a/src/main/java/net/ornithemc/keratin/api/task/setup/MakeSourceJarsTask.java +++ b/src/main/java/net/ornithemc/keratin/api/task/setup/MakeSourceJarsTask.java @@ -6,6 +6,7 @@ import org.gradle.api.provider.ListProperty; import org.gradle.api.provider.Property; +import org.gradle.api.tasks.Internal; import org.gradle.workers.WorkAction; import org.gradle.workers.WorkParameters; import org.gradle.workers.WorkQueue; @@ -29,6 +30,8 @@ import net.ornithemc.keratin.files.KeratinFiles; public abstract class MakeSourceJarsTask extends MinecraftTask { + @Internal + public abstract Property getDisableLvtPatch(); @Override public void run(WorkQueue workQueue, MinecraftVersion minecraftVersion) throws Exception { @@ -41,6 +44,7 @@ public void run(WorkQueue workQueue, MinecraftVersion minecraftVersion) throws E LibrariesCache libraries = globalCache.getLibrariesCache(); SetupFiles setupFiles = files.getExceptionsAndSignaturesDevelopmentFiles().getSetupFiles(); SourceJars sourceJars = files.getExceptionsAndSignaturesDevelopmentFiles().getSourceJars(); + boolean disableLvtPatch = getDisableLvtPatch().getOrElse(false); BuildNumbers nestsBuilds = keratin.getNestsBuilds(minecraftVersion); @@ -52,6 +56,7 @@ public void run(WorkQueue workQueue, MinecraftVersion minecraftVersion) throws E parameters.getExceptions().set(setupFiles.getMergedExceptionsFile(minecraftVersion)); parameters.getSignatures().set(setupFiles.getMergedSignaturesFile(minecraftVersion)); parameters.getNests().set(nests.getMergedNestsFile(minecraftVersion, nestsBuilds)); + parameters.getDisableLvtPatch().set(disableLvtPatch); }); } else { if (minecraftVersion.hasClient()) { @@ -62,6 +67,7 @@ public void run(WorkQueue workQueue, MinecraftVersion minecraftVersion) throws E parameters.getExceptions().set(setupFiles.getClientExceptionsFile(minecraftVersion)); parameters.getSignatures().set(setupFiles.getClientSignaturesFile(minecraftVersion)); parameters.getNests().set(nests.getClientNestsFile(minecraftVersion, nestsBuilds)); + parameters.getDisableLvtPatch().set(disableLvtPatch); }); } if (minecraftVersion.hasServer()) { @@ -72,6 +78,7 @@ public void run(WorkQueue workQueue, MinecraftVersion minecraftVersion) throws E parameters.getExceptions().set(setupFiles.getServerExceptionsFile(minecraftVersion)); parameters.getSignatures().set(setupFiles.getServerSignaturesFile(minecraftVersion)); parameters.getNests().set(nests.getServerNestsFile(minecraftVersion, nestsBuilds)); + parameters.getDisableLvtPatch().set(disableLvtPatch); }); } } @@ -91,6 +98,7 @@ public interface SourceJarParameters extends WorkParameters { Property getNests(); + Property getDisableLvtPatch(); } public static abstract class MakeSourceJar implements WorkAction, Condor, Exceptor, SignaturePatcher, Nester { @@ -103,6 +111,7 @@ public void execute() { File exceptions = getParameters().getExceptions().get(); File signatures = getParameters().getSignatures().get(); File nests = getParameters().getNests().getOrNull(); + boolean disableLvtPatch = getParameters().getDisableLvtPatch().get(); File tmp1 = new File(output.getParentFile(), ".tmp1." + output.getName()); File tmp2 = new File(output.getParentFile(), ".tmp2." + output.getName()); @@ -111,14 +120,16 @@ public void execute() { File jarIn = input; File jarOut = tmp1; - lvtPatchJar( - jarIn, - jarOut, - libraries, - true - ); + if (!disableLvtPatch) { + lvtPatchJar( + jarIn, + jarOut, + libraries, + true + ); - jarIn = jarOut; + jarIn = jarOut; + } jarOut = tmp2; exceptionsPatchJar(