11using System . Diagnostics ;
2- using CliWrap ;
3- using CliWrap . Buffered ;
42using Manganese . Data ;
53using Manganese . IO ;
64using Manganese . Text ;
119using ModuleLauncher . NET . Utilities ;
1210using Newtonsoft . Json . Linq ;
1311
14- namespace ModuleLauncher . NET ;
12+ namespace ModuleLauncher . NET . Launcher ;
1513
1614public class Launcher
1715{
@@ -67,49 +65,15 @@ public async Task<Process> LaunchAsync(string id)
6765
6866 return await LaunchAsync ( minecraftEntry ) ;
6967 }
70-
71- /// <summary>
72- /// Launch minecraft
73- /// </summary>
74- /// <param name="minecraftEntry"></param>
75- /// <param name="pipeTarget">How do you want to grab your output lines. No idea how to use it? Simply pass a null is allowed</param>
76- /// <returns></returns>
77- public async Task < CommandResult > LaunchAsync ( MinecraftEntry minecraftEntry , PipeTarget ? pipeTarget )
78- {
79- #region Precheck
80-
81- await WriteLauncherProfileAsync ( minecraftEntry ) ;
82-
83- #endregion
84-
85- var java = GetJava ( minecraftEntry ) ? . Executable
86- . ThrowIfNull ( new InvalidJavaExecutableException ( "No java executable file was specified" ) ) ;
87-
88- var arguments = GetLaunchArguments ( minecraftEntry ) ;
89- var result = await Cli . Wrap ( java
90- . ThrowIfNull ( new InvalidJavaExecutableException ( "No java executable file was specified" ) )
91- . FullName )
92- . WithArguments ( arguments )
93- . WithWorkingDirectory ( minecraftEntry . Tree . WorkingDirectory . FullName )
94- . WithValidation ( CommandResultValidation . None )
95- . WithStandardOutputPipe ( pipeTarget ?? PipeTarget . Null )
96- . ExecuteAsync ( ) ;
97-
98- await minecraftEntry . ExtractNativesAsync ( ) ;
99- await minecraftEntry . MapAssetsAsync ( ) ;
10068
101- return result ;
102- }
103-
104- [ Obsolete ( "This method will be soon abandoned" ) ]
10569 public async Task < Process > LaunchAsync ( MinecraftEntry minecraftEntry )
10670 {
10771 #region Precheck
10872
10973 await WriteLauncherProfileAsync ( minecraftEntry ) ;
110-
74+
11175 #endregion
112-
76+
11377 var java = GetJava ( minecraftEntry ) ? . Executable
11478 . ThrowIfNull ( new InvalidJavaExecutableException ( "No java executable file was specified" ) ) ;
11579
@@ -134,12 +98,12 @@ public async Task<Process> LaunchAsync(MinecraftEntry minecraftEntry)
13498 await minecraftEntry . MapAssetsAsync ( ) ;
13599
136100 process . Start ( ) ;
137-
101+
138102 return process ;
139103 }
140104
141-
142-
105+
106+
143107 public string GetLaunchArguments ( MinecraftEntry minecraftEntry )
144108 {
145109 var preset = GetJvmArguments ( minecraftEntry ) ;
@@ -204,7 +168,7 @@ private string GetMinecraftArguments(MinecraftEntry minecraftEntry)
204168 var options = new List < string > ( ) ;
205169
206170 var boilerplate = GetMinecraftArgumentBoilerplate ( minecraftEntry ) ;
207-
171+
208172 //filling the boilerplate
209173 boilerplate = boilerplate . Replace ( "${auth_player_name}" , $ "\" { LauncherConfig . Authentication . Name } \" ")
210174 . Replace ( "${version_name}" , $ "\" { LauncherConfig . LauncherName } \" ")
@@ -231,6 +195,9 @@ private string GetMinecraftArguments(MinecraftEntry minecraftEntry)
231195 if ( LauncherConfig . WindowWidth != null )
232196 options . Add ( $ "--width { LauncherConfig . WindowWidth } ") ;
233197
198+ if ( LauncherConfig . DirectlyJoinServer != null )
199+ options . Add ( $ "--server { LauncherConfig . DirectlyJoinServer } ") ;
200+
234201 return options . JoinToString ( " " ) ;
235202 }
236203
@@ -261,11 +228,11 @@ private string GetMinecraftArgumentBoilerplate(MinecraftEntry minecraftEntry)
261228
262229 return boilerplate ;
263230 }
264-
231+
265232 private string GetJvmArguments ( MinecraftEntry minecraftEntry )
266233 {
267234 var libraries = minecraftEntry . GetLibraries ( ) ;
268-
235+
269236 var rawArgs = new List < string >
270237 {
271238 // "-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump",
@@ -277,7 +244,7 @@ private string GetJvmArguments(MinecraftEntry minecraftEntry)
277244 "-XX:G1HeapRegionSize=32M" ,
278245 $ "-Xmx{ LauncherConfig . MaxMemorySize } M"
279246 } ;
280-
247+
281248 if ( LauncherConfig . MinMemorySize != null )
282249 rawArgs . Add ( $ "-Xmn{ LauncherConfig . MinMemorySize } M") ;
283250
@@ -302,7 +269,7 @@ private string GetJvmArguments(MinecraftEntry minecraftEntry)
302269
303270 rawArgs . Add ( forgeArgs . JoinToString ( " " ) ) ;
304271 }
305-
272+
306273 var args = rawArgs . JoinToString ( " " ) ;
307274
308275 return args ;
0 commit comments