Make requested changes and utilise AssertionError

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad 2022-11-19 08:54:17 +00:00
parent 32c2ad2bbd
commit 669eef92eb
5 changed files with 7 additions and 63 deletions

View File

@ -17,7 +17,6 @@ set(SRC
org/prismlauncher/exception/ParseException.java org/prismlauncher/exception/ParseException.java
org/prismlauncher/utils/Parameters.java org/prismlauncher/utils/Parameters.java
org/prismlauncher/utils/ReflectionUtils.java org/prismlauncher/utils/ReflectionUtils.java
org/prismlauncher/utils/StringUtils.java
org/prismlauncher/utils/logging/Level.java org/prismlauncher/utils/logging/Level.java
org/prismlauncher/utils/logging/Log.java org/prismlauncher/utils/logging/Log.java
net/minecraft/Launcher.java net/minecraft/Launcher.java

View File

@ -64,8 +64,6 @@ import java.net.URL;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.prismlauncher.utils.logging.Log;
/** /**
* WARNING: This class is reflectively accessed by legacy Forge versions. * WARNING: This class is reflectively accessed by legacy Forge versions.
* <p> * <p>
@ -97,14 +95,13 @@ public final class Launcher extends Applet implements AppletStub {
if (documentBase == null) { if (documentBase == null) {
if (applet.getClass().getPackage().getName().startsWith("com.mojang.")) { if (applet.getClass().getPackage().getName().startsWith("com.mojang.")) {
// Special case only for Classic versions // Special case only for Classic versions
documentBase = new URL("http", "www.minecraft.net", 80, "/game/"); documentBase = new URL("http://www.minecraft.net:80/game/");
} else { } else {
documentBase = new URL("http://www.minecraft.net/game/"); documentBase = new URL("http://www.minecraft.net/game/");
} }
} }
} catch (MalformedURLException e) { } catch (MalformedURLException e) {
// handle gracefully - it won't happen, but Java requires that it is caught throw new AssertionError(e);
Log.error("Failed to parse document base URL", e);
} }
this.documentBase = documentBase; this.documentBase = documentBase;
@ -143,8 +140,7 @@ public final class Launcher extends Applet implements AppletStub {
try { try {
return new URL("http://www.minecraft.net/game/"); return new URL("http://www.minecraft.net/game/");
} catch (MalformedURLException e) { } catch (MalformedURLException e) {
Log.error("Failed to parse codebase URL", e); throw new AssertionError(e);
return null;
} }
} }

View File

@ -63,7 +63,6 @@ import org.prismlauncher.launcher.Launcher;
import org.prismlauncher.launcher.impl.StandardLauncher; import org.prismlauncher.launcher.impl.StandardLauncher;
import org.prismlauncher.launcher.impl.legacy.LegacyLauncher; import org.prismlauncher.launcher.impl.legacy.LegacyLauncher;
import org.prismlauncher.utils.Parameters; import org.prismlauncher.utils.Parameters;
import org.prismlauncher.utils.StringUtils;
import org.prismlauncher.utils.logging.Log; import org.prismlauncher.utils.logging.Log;
public final class EntryPoint { public final class EntryPoint {
@ -150,9 +149,9 @@ public final class EntryPoint {
return PreLaunchAction.ABORT; return PreLaunchAction.ABORT;
default: default:
String[] pair = StringUtils.splitStringPair(' ', input); String[] pair = input.split(" ", 2);
if (pair == null) if (pair.length != 2)
throw new ParseException(input, "[key] [value]"); throw new ParseException(input, "[key] [value]");
params.add(pair[0], pair[1]); params.add(pair[0], pair[1]);

View File

@ -60,7 +60,6 @@ import java.util.List;
import org.prismlauncher.exception.ParseException; import org.prismlauncher.exception.ParseException;
import org.prismlauncher.launcher.Launcher; import org.prismlauncher.launcher.Launcher;
import org.prismlauncher.utils.Parameters; import org.prismlauncher.utils.Parameters;
import org.prismlauncher.utils.StringUtils;
public abstract class AbstractLauncher implements Launcher { public abstract class AbstractLauncher implements Launcher {
@ -93,9 +92,9 @@ public abstract class AbstractLauncher implements Launcher {
} else { } else {
maximize = false; maximize = false;
String[] sizePair = StringUtils.splitStringPair('x', windowParams); String[] sizePair = windowParams.split("x", 2);
if (sizePair != null) { if (sizePair.length == 2) {
try { try {
width = Integer.parseInt(sizePair[0]); width = Integer.parseInt(sizePair[0]);
height = Integer.parseInt(sizePair[1]); height = Integer.parseInt(sizePair[1]);

View File

@ -1,49 +0,0 @@
// SPDX-License-Identifier: GPL-3.0-only
/*
* Prism Launcher - Minecraft Launcher
* Copyright (C) 2022 solonovamax <solonovamax@12oclockpoint.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Linking this library statically or dynamically with other modules is
* making a combined work based on this library. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* As a special exception, the copyright holders of this library give
* you permission to link this library with independent modules to
* produce an executable, regardless of the license terms of these
* independent modules, and to copy and distribute the resulting
* executable under terms of your choice, provided that you also meet,
* for each linked independent module, the terms and conditions of the
* license of that module. An independent module is a module which is
* not derived from or based on this library. If you modify this
* library, you may extend this exception to your version of the
* library, but you are not obliged to do so. If you do not wish to do
* so, delete this exception statement from your version.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.prismlauncher.utils;
public final class StringUtils {
public static String[] splitStringPair(char splitChar, String str) {
int splitPoint = str.indexOf(splitChar);
if (splitPoint == -1)
return null;
return new String[] { str.substring(0, splitPoint), str.substring(splitPoint + 1) };
}
}