Skip to content

Commit 2509c61

Browse files
committed
Fix merged Intellij project generation
1 parent 3e5dd9d commit 2509c61

File tree

1 file changed

+41
-9
lines changed

1 file changed

+41
-9
lines changed

src/main/java/org/mcphackers/mcp/tools/project/IdeaProjectWriter.java

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,47 @@ public void writeWorkspace(MCP mcp, Task.Side launchSide, String projectName, St
111111
// Run configurations
112112
writer.startAttribute("component name=\"RunManager\"");
113113

114-
writer.startAttribute("configuration name=\"" + projectName + "\" type=\"Application\" factoryName=\"Application\"");
115-
writer.writeSelfEndingAttribute("option name=\"MAIN_CLASS_NAME\" value=\"" + TaskRun.getMain(mcp, mcp.getCurrentVersion(), launchSide) + "\"");
116-
writer.writeSelfEndingAttribute("module name=\"" + projectName.toLowerCase().replace(" ", "_") + "\"");
117-
writer.writeSelfEndingAttribute("option name=\"PROGRAM_PARAMETERS\" value=\"" + args + "\"");
118-
writer.writeSelfEndingAttribute("option name=\"WORKING_DIRECTORY\" value=\"$PROJECT_DIR$/game\"");
119-
writer.startAttribute("method v=\"2\"");
120-
writer.writeSelfEndingAttribute("option name=\"Make\" enabled=\"true\"");
121-
writer.closeAttribute("method");
122-
writer.closeAttribute("configuration");
114+
if (Side.MERGED.equals(launchSide)) {
115+
String client = "Minecraft Client";
116+
String server = "Minecraft Server";
117+
118+
// Client run config
119+
writer.startAttribute("configuration name=\"" + client + "\" type=\"Application\" factoryName=\"Application\"");
120+
writer.writeSelfEndingAttribute("option name=\"MAIN_CLASS_NAME\" value=\"" + TaskRun.getMain(mcp, mcp.getCurrentVersion(), Side.CLIENT) + "\"");
121+
writer.writeSelfEndingAttribute("module name=\"" + projectName.toLowerCase().replace(" ", "_") + "\"");
122+
writer.writeSelfEndingAttribute("option name=\"PROGRAM_PARAMETERS\" value=\"" + args + "\"");
123+
writer.writeSelfEndingAttribute("option name=\"WORKING_DIRECTORY\" value=\"$PROJECT_DIR$/game\"");
124+
writer.startAttribute("method v=\"2\"");
125+
writer.writeSelfEndingAttribute("option name=\"Make\" enabled=\"true\"");
126+
writer.closeAttribute("method");
127+
writer.closeAttribute("configuration");
128+
129+
// Server run config
130+
writer.startAttribute("configuration name=\"" + server + "\" type=\"Application\" factoryName=\"Application\"");
131+
writer.writeSelfEndingAttribute("option name=\"MAIN_CLASS_NAME\" value=\"" + TaskRun.getMain(mcp, mcp.getCurrentVersion(), Side.SERVER) + "\"");
132+
writer.writeSelfEndingAttribute("module name=\"" + projectName.toLowerCase().replace(" ", "_") + "\"");
133+
writer.writeSelfEndingAttribute("option name=\"PROGRAM_PARAMETERS\" value=\"" + "\"");
134+
writer.writeSelfEndingAttribute("option name=\"WORKING_DIRECTORY\" value=\"$PROJECT_DIR$/game\"");
135+
writer.startAttribute("method v=\"2\"");
136+
writer.writeSelfEndingAttribute("option name=\"Make\" enabled=\"true\"");
137+
writer.closeAttribute("method");
138+
writer.closeAttribute("configuration");
139+
140+
writer.startAttribute("list");
141+
writer.writeSelfEndingAttribute("item itemvalue=\"Application." + client + "\"");
142+
writer.writeSelfEndingAttribute("item itemvalue=\"Application." + server + "\"");
143+
writer.closeAttribute("list");
144+
} else {
145+
writer.startAttribute("configuration name=\"" + projectName + "\" type=\"Application\" factoryName=\"Application\"");
146+
writer.writeSelfEndingAttribute("option name=\"MAIN_CLASS_NAME\" value=\"" + TaskRun.getMain(mcp, mcp.getCurrentVersion(), launchSide) + "\"");
147+
writer.writeSelfEndingAttribute("module name=\"" + projectName.toLowerCase().replace(" ", "_") + "\"");
148+
writer.writeSelfEndingAttribute("option name=\"PROGRAM_PARAMETERS\" value=\"" + args + "\"");
149+
writer.writeSelfEndingAttribute("option name=\"WORKING_DIRECTORY\" value=\"$PROJECT_DIR$/game\"");
150+
writer.startAttribute("method v=\"2\"");
151+
writer.writeSelfEndingAttribute("option name=\"Make\" enabled=\"true\"");
152+
writer.closeAttribute("method");
153+
writer.closeAttribute("configuration");
154+
}
123155

124156
writer.closeAttribute("component");
125157
writer.closeAttribute("project");

0 commit comments

Comments
 (0)