add setting for quickplay singleplayer

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97
2024-08-08 16:53:26 +03:00
parent 0308710211
commit c9809fff6d
29 changed files with 253 additions and 128 deletions

View File

@ -70,7 +70,7 @@ public abstract class AbstractLauncher implements Launcher {
// secondary parameters
protected final int width, height;
protected final boolean maximize;
protected final String serverAddress, serverPort;
protected final String serverAddress, serverPort, worldName;
protected final String mainClassName;
@ -80,6 +80,7 @@ public abstract class AbstractLauncher implements Launcher {
serverAddress = params.getString("serverAddress", null);
serverPort = params.getString("serverPort", null);
worldName = params.getString("worldName", null);
String windowParams = params.getString("windowParams", null);

View File

@ -62,13 +62,15 @@ import java.util.Collections;
import java.util.List;
public final class StandardLauncher extends AbstractLauncher {
private final boolean quickPlaySupported;
private final boolean quickPlayMultiplayerSupported;
private final boolean quickPlaySingleplayerSupported;
public StandardLauncher(Parameters params) {
super(params);
List<String> traits = params.getList("traits", Collections.<String>emptyList());
quickPlaySupported = traits.contains("feature:is_quick_play_multiplayer");
quickPlayMultiplayerSupported = traits.contains("feature:is_quick_play_multiplayer");
quickPlaySingleplayerSupported = traits.contains("feature:is_quick_play_singleplayer");
}
@Override
@ -83,7 +85,7 @@ public final class StandardLauncher extends AbstractLauncher {
}
if (serverAddress != null) {
if (quickPlaySupported) {
if (quickPlayMultiplayerSupported) {
// as of 23w14a
gameArgs.add("--quickPlayMultiplayer");
gameArgs.add(serverAddress + ':' + serverPort);
@ -93,6 +95,9 @@ public final class StandardLauncher extends AbstractLauncher {
gameArgs.add("--port");
gameArgs.add(serverPort);
}
} else if (worldName != null && quickPlaySingleplayerSupported) {
gameArgs.add("--quickPlaySingleplayer");
gameArgs.add(worldName);
}
// find and invoke the main method