diff --git a/patches/server/Setup-Gradle-project.patch b/patches/server/Setup-Gradle-project.patch
index ce08f6e6b1..cf21a75732 100644
--- a/patches/server/Setup-Gradle-project.patch
+++ b/patches/server/Setup-Gradle-project.patch
@@ -107,7 +107,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +    workingDir = rootProject.layout.projectDirectory
 +        .dir(providers.gradleProperty("paper.runWorkDir").getOrElse("run"))
 +        .asFile
-+    javaLauncher.set(project.javaToolchains.launcherFor(project.java.toolchain))
++    javaLauncher.set(project.javaToolchains.launcherFor {
++        languageVersion.set(JavaLanguageVersion.of(21))
++        vendor.set(JvmVendorSpec.JETBRAINS)
++    })
++    jvmArgs("-XX:+AllowEnhancedClassRedefinition", "-XX:+AllowRedefinitionToAddDeleteMethods")
 +
 +    if (rootProject.childProjects["test-plugin"] != null) {
 +        val testPluginJar = rootProject.project(":test-plugin").tasks.jar.flatMap { it.archiveFile }