diff --git a/src/main/java/net/fabricmc/loom/providers/PomfProvider.java b/src/main/java/net/fabricmc/loom/providers/PomfProvider.java index 570e700..a0ecb04 100644 --- a/src/main/java/net/fabricmc/loom/providers/PomfProvider.java +++ b/src/main/java/net/fabricmc/loom/providers/PomfProvider.java @@ -91,6 +91,8 @@ public class PomfProvider extends DependencyProvider { }); } + project.getDependencies().add("compile", project.getDependencies().module("net.fabricmc:pomf:" + version)); + mappedProvider = new MinecraftMappedProvider(); mappedProvider.initFiles(project, minecraftProvider, this); mappedProvider.provide(dependency, project, extension); diff --git a/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java b/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java index be548c8..b0dbde4 100644 --- a/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java +++ b/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java @@ -75,12 +75,6 @@ public class GenIdeaProjectTask extends DefaultTask { throw new RuntimeException("Failed to generate intellij run configurations (runManager was not found)"); } - //Done to remove the old run configs before adding the new ones with potentially new run configs. - //This has the downside of removing custom run configs but does fix the issue of the provided ones not being updated correctly - while (runManager.getFirstChild() != null){ - runManager.removeChild(runManager.getFirstChild()); - } - runManager.appendChild(IdeaRunConfig.clientRunConfig(project).genRuns(runManager)); runManager.appendChild(IdeaRunConfig.serverRunConfig(project).genRuns(runManager)); diff --git a/src/main/java/net/fabricmc/loom/task/RunClientTask.java b/src/main/java/net/fabricmc/loom/task/RunClientTask.java index e5ee48d..a851dc4 100644 --- a/src/main/java/net/fabricmc/loom/task/RunClientTask.java +++ b/src/main/java/net/fabricmc/loom/task/RunClientTask.java @@ -25,7 +25,6 @@ package net.fabricmc.loom.task; import net.fabricmc.loom.LoomGradleExtension; -import net.fabricmc.loom.providers.MinecraftMappedProvider; import net.fabricmc.loom.providers.PomfProvider; import net.fabricmc.loom.util.Constants; import net.fabricmc.loom.util.MinecraftVersionInfo; @@ -55,7 +54,7 @@ public class RunClientTask extends JavaExec { } classpath(libs); - args("--tweakClass", Constants.FABRIC_CLIENT_TWEAKER, "--assetIndex", minecraftVersionInfo.assetIndex.getFabricId(extension.getMinecraftProvider().minecraftVersion), "--assetsDir", new File(extension.getUserCache(), "assets").getAbsolutePath(), "--fabricMappingFile", pomfProvider.MAPPINGS_TINY.getAbsolutePath()); + args("--tweakClass", Constants.FABRIC_CLIENT_TWEAKER, "--assetIndex", minecraftVersionInfo.assetIndex.getFabricId(extension.getMinecraftProvider().minecraftVersion), "--assetsDir", new File(extension.getUserCache(), "assets").getAbsolutePath()); setWorkingDir(new File(getProject().getRootDir(), "run")); diff --git a/src/main/java/net/fabricmc/loom/task/RunServerTask.java b/src/main/java/net/fabricmc/loom/task/RunServerTask.java index 57ba151..5f13981 100644 --- a/src/main/java/net/fabricmc/loom/task/RunServerTask.java +++ b/src/main/java/net/fabricmc/loom/task/RunServerTask.java @@ -50,7 +50,7 @@ public class RunServerTask extends JavaExec { } classpath(libs); - args("--tweakClass", Constants.FABRIC_SERVER_TWEAKER, "--fabricMappingFile", extension.getPomfProvider().MAPPINGS_TINY.getAbsolutePath()); + args("--tweakClass", Constants.FABRIC_SERVER_TWEAKER); setWorkingDir(new File(getProject().getRootDir(), "run")); diff --git a/src/main/java/net/fabricmc/loom/util/IdeaRunConfig.java b/src/main/java/net/fabricmc/loom/util/IdeaRunConfig.java index 0d6fda5..5e528ed 100644 --- a/src/main/java/net/fabricmc/loom/util/IdeaRunConfig.java +++ b/src/main/java/net/fabricmc/loom/util/IdeaRunConfig.java @@ -28,7 +28,6 @@ import com.google.common.base.Strings; import com.google.common.collect.ImmutableMap; import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.providers.MinecraftProvider; -import net.fabricmc.loom.providers.PomfProvider; import org.apache.commons.io.IOUtils; import org.gradle.api.Project; import org.w3c.dom.Document; @@ -86,7 +85,6 @@ public class IdeaRunConfig { public static IdeaRunConfig clientRunConfig(Project project){ LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class); MinecraftProvider minecraftProvider = extension.getMinecraftProvider(); - PomfProvider pomfProvider = extension.getPomfProvider(); MinecraftVersionInfo minecraftVersionInfo = minecraftProvider.versionInfo; IdeaRunConfig ideaClient = new IdeaRunConfig(); @@ -95,14 +93,13 @@ public class IdeaRunConfig { ideaClient.configName = "Minecraft Client"; ideaClient.runDir = "file://$PROJECT_DIR$/" + extension.runDir; ideaClient.vmArgs = "-Dfabric.development=true"; - ideaClient.programArgs = "--tweakClass " + Constants.FABRIC_CLIENT_TWEAKER + " --assetIndex " + minecraftVersionInfo.assetIndex.getFabricId(extension.getMinecraftProvider().minecraftVersion) + " --assetsDir \"" + new File(extension.getUserCache(), "assets").getAbsolutePath() + "\" --fabricMappingFile \"" + pomfProvider.MAPPINGS_TINY.getAbsolutePath() + "\""; + ideaClient.programArgs = "--tweakClass " + Constants.FABRIC_CLIENT_TWEAKER + " --assetIndex " + minecraftVersionInfo.assetIndex.getFabricId(extension.getMinecraftProvider().minecraftVersion) + " --assetsDir \"" + new File(extension.getUserCache(), "assets").getAbsolutePath() + "\""; return ideaClient; } public static IdeaRunConfig serverRunConfig(Project project){ LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class); - PomfProvider pomfProvider = extension.getPomfProvider(); IdeaRunConfig ideaServer = new IdeaRunConfig(); ideaServer.mainClass = "net.minecraft.launchwrapper.Launch"; @@ -110,7 +107,7 @@ public class IdeaRunConfig { ideaServer.configName = "Minecraft Server"; ideaServer.runDir = "file://$PROJECT_DIR$/" + extension.runDir; ideaServer.vmArgs = "-Dfabric.development=true"; - ideaServer.programArgs = "--tweakClass " + Constants.FABRIC_SERVER_TWEAKER + " --fabricMappingFile \"" + pomfProvider.MAPPINGS_TINY.getAbsolutePath() + "\""; + ideaServer.programArgs = "--tweakClass " + Constants.FABRIC_SERVER_TWEAKER; return ideaServer; } diff --git a/src/main/java/net/fabricmc/loom/util/SetupIntelijRunConfigs.java b/src/main/java/net/fabricmc/loom/util/SetupIntelijRunConfigs.java index 72c899d..0579e77 100644 --- a/src/main/java/net/fabricmc/loom/util/SetupIntelijRunConfigs.java +++ b/src/main/java/net/fabricmc/loom/util/SetupIntelijRunConfigs.java @@ -66,8 +66,10 @@ public class SetupIntelijRunConfigs { String clientRunConfig = IdeaRunConfig.clientRunConfig(project).fromDummy(); String serverRunConfig = IdeaRunConfig.serverRunConfig(project).fromDummy(); - FileUtils.writeStringToFile(clientRunConfigs, clientRunConfig, StandardCharsets.UTF_8); - FileUtils.writeStringToFile(serverRunConfigs, serverRunConfig, StandardCharsets.UTF_8); + if(!clientRunConfigs.exists()) + FileUtils.writeStringToFile(clientRunConfigs, clientRunConfig, StandardCharsets.UTF_8); + if(!serverRunConfigs.exists()) + FileUtils.writeStringToFile(serverRunConfigs, serverRunConfig, StandardCharsets.UTF_8); }