diff --git a/build.gradle b/build.gradle index 203e7444c..7d6cc87d0 100644 --- a/build.gradle +++ b/build.gradle @@ -62,6 +62,7 @@ project(':forge') { } } repositories { + mavenLocal() mavenCentral() } patcher { @@ -115,11 +116,11 @@ project(':forge') { options.failOnError = false options.forkOptions.with { executable = 'java' - jvmArgs = ['-classpath', project.configurations.ecj.asPath, 'org.eclipse.jdt.internal.compiler.batch.Main', '-nowarn'] + jvmArgs = ['-classpath', project.configurations.ecj.asPath, 'org.eclipse.jdt.internal.compiler.batch.Main', '-nowarn', '-proceedOnError', '-preserveAllLocals', '-parameters'] } } - task runclient(type: JavaExec) { + task runclient(type: JavaExec, dependsOn: [":forge:downloadAssets", ":forge:extractNatives"]) { doFirst { mkdir 'runclient' } @@ -132,7 +133,15 @@ project(':forge') { // jvmArgs = ['-verbose:class'] classpath sourceSets.main.runtimeClasspath main 'net.minecraftforge.fml.LaunchTesting' - environment target:'fmldevclient' + systemProperties = [ + "org.lwjgl.util.Debug": "true", + "org.lwjgl.util.DebugLoader": "true" + ] + environment += [ + target:'fmldevclient', + assetDirectory: file("${gradle.getGradleUserHomeDir()}/caches/forge_gradle/assets/"), + nativesDirectory: extractNatives.output + ] workingDir 'runclient' } diff --git a/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/patches/minecraft/net/minecraft/client/Minecraft.java.patch index 616ad2460..0e61972f6 100644 --- a/patches/minecraft/net/minecraft/client/Minecraft.java.patch +++ b/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -24,6 +24,15 @@ if (this.gameSettings.fullScreen && !this.field_195558_d.func_198113_j()) { this.field_195558_d.func_198077_g(); } +@@ -485,7 +488,7 @@ + }); + List list = Lists.newArrayList(); + GLFWErrorCallback glfwerrorcallback = GLFW.glfwSetErrorCallback((p_211100_1_, p_211100_2_) -> { +- list.add(String.format("GLFW error during init: [0x%X]%s", p_211100_1_, p_211100_2_)); ++ list.add(String.format("GLFW error during init: [0x%X] %s", p_211100_1_, GLFWErrorCallback.getDescription(p_211100_2_))); + }); + if (!GLFW.glfwInit()) { + throw new IllegalStateException("Failed to initialize GLFW, errors: " + Joiner.on(",").join(list)); @@ -1392,6 +1395,7 @@ NetworkManager networkmanager = NetworkManager.provideLocalClient(socketaddress); networkmanager.setNetHandler(new NetHandlerLoginClient(networkmanager, this, (GuiScreen)null, (p_209507_0_) -> { diff --git a/src/main/java/net/minecraftforge/fml/LaunchTesting.java b/src/main/java/net/minecraftforge/fml/LaunchTesting.java index 2abc2e297..9435c6307 100644 --- a/src/main/java/net/minecraftforge/fml/LaunchTesting.java +++ b/src/main/java/net/minecraftforge/fml/LaunchTesting.java @@ -70,7 +70,7 @@ public class LaunchTesting private static void hackNatives() { String paths = System.getProperty("java.library.path"); - String nativesDir = "/home/cpw/.gradle/caches/minecraft/net/minecraft/natives/1.12.2"; //TODO Not hardcode this, FG setups us a natives folder. And sets it in the eclipse run configs. + String nativesDir = System.getenv().get("nativesDirectory"); if (Strings.isNullOrEmpty(paths)) paths = nativesDir;