aboutsummaryrefslogtreecommitdiff
path: root/libraries/launcher/net
diff options
context:
space:
mode:
authorRyan Cao <70191398+ryanccn@users.noreply.github.com>2022-11-21 23:19:50 +0800
committerRyan Cao <70191398+ryanccn@users.noreply.github.com>2022-11-21 23:19:50 +0800
commitf916ce875266ea2070c10f80ded35b66d315418c (patch)
tree5aa0caaac52847222a23482ff5fba7b41fca0f26 /libraries/launcher/net
parent7096f02b88e982df6c770113146a07874a1e9d0f (diff)
parent5cc91965d09070437af8c17113c5740401b127dd (diff)
downloadPrismLauncher-f916ce875266ea2070c10f80ded35b66d315418c.tar.gz
PrismLauncher-f916ce875266ea2070c10f80ded35b66d315418c.tar.bz2
PrismLauncher-f916ce875266ea2070c10f80ded35b66d315418c.zip
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import-resource-pack-dialog-uwu
Diffstat (limited to 'libraries/launcher/net')
-rw-r--r--libraries/launcher/net/minecraft/Launcher.java181
1 files changed, 117 insertions, 64 deletions
diff --git a/libraries/launcher/net/minecraft/Launcher.java b/libraries/launcher/net/minecraft/Launcher.java
index 6bf671be..646e2e3e 100644
--- a/libraries/launcher/net/minecraft/Launcher.java
+++ b/libraries/launcher/net/minecraft/Launcher.java
@@ -1,41 +1,83 @@
+// SPDX-License-Identifier: GPL-3.0-only
/*
- * Copyright 2012-2021 MultiMC Contributors
+ * Prism Launcher - Minecraft Launcher
+ * Copyright (C) 2022 icelimetea <fr3shtea@outlook.com>
+ * Copyright (C) 2022 TheKodeToad <TheKodeToad@proton.me>
+ * Copyright (C) 2022 solonovamax <solonovamax@12oclockpoint.com>
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * 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.
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * 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.
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * 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/>.
+ *
+ * This file incorporates work covered by the following copyright and
+ * permission notice:
+ *
+ * Copyright 2013-2021 MultiMC Contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
package net.minecraft;
import java.applet.Applet;
import java.applet.AppletStub;
-import java.awt.*;
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.Graphics;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.HashMap;
import java.util.Map;
-import java.util.TreeMap;
-/*
+/**
* WARNING: This class is reflectively accessed by legacy Forge versions.
- * Changing field and method declarations without further testing is not recommended.
+ * <p>
+ * Changing field and method declarations without further testing is not
+ * recommended.
*/
public final class Launcher extends Applet implements AppletStub {
- private final Map<String, String> params = new TreeMap<>();
-
- private Applet wrappedApplet;
+ private static final long serialVersionUID = 1L;
- private URL documentBase;
+ private final Map<String, String> params = new HashMap<>();
+ private Applet wrappedApplet;
+ private final URL documentBase;
private boolean active = false;
public Launcher(Applet applet) {
@@ -43,35 +85,36 @@ public final class Launcher extends Applet implements AppletStub {
}
public Launcher(Applet applet, URL documentBase) {
- this.setLayout(new BorderLayout());
+ setLayout(new BorderLayout());
- this.add(applet, "Center");
+ add(applet, "Center");
- this.wrappedApplet = applet;
+ wrappedApplet = applet;
try {
- if (documentBase != null) {
- this.documentBase = documentBase;
- } else if (applet.getClass().getPackage().getName().startsWith("com.mojang")) {
- // Special case only for Classic versions
-
- this.documentBase = new URL("http", "www.minecraft.net", 80, "/game/");
- } else {
- this.documentBase = new URL("http://www.minecraft.net/game/");
+ if (documentBase == null) {
+ if (applet.getClass().getPackage().getName().startsWith("com.mojang.")) {
+ // Special case only for Classic versions
+ documentBase = new URL("http://www.minecraft.net:80/game/");
+ } else {
+ documentBase = new URL("http://www.minecraft.net/game/");
+ }
}
} catch (MalformedURLException e) {
- throw new RuntimeException(e);
+ throw new AssertionError(e);
}
+
+ this.documentBase = documentBase;
}
public void replace(Applet applet) {
- this.wrappedApplet = applet;
+ wrappedApplet = applet;
applet.setStub(this);
applet.setSize(getWidth(), getHeight());
- this.setLayout(new BorderLayout());
- this.add(applet, "Center");
+ setLayout(new BorderLayout());
+ add(applet, "Center");
applet.init();
@@ -82,42 +125,48 @@ public final class Launcher extends Applet implements AppletStub {
validate();
}
- public void setParameter(String name, String value) {
- params.put(name, value);
+ @Override
+ public boolean isActive() {
+ return active;
+ }
+
+ @Override
+ public URL getDocumentBase() {
+ return documentBase;
+ }
+
+ @Override
+ public URL getCodeBase() {
+ try {
+ return new URL("http://www.minecraft.net/game/");
+ } catch (MalformedURLException e) {
+ throw new AssertionError(e);
+ }
}
@Override
- public String getParameter(String name) {
- String param = params.get(name);
+ public String getParameter(String key) {
+ String param = params.get(key);
if (param != null)
return param;
try {
- return super.getParameter(name);
- } catch (Exception ignored) {}
+ return super.getParameter(key);
+ } catch (Throwable ignored) {
+ }
return null;
}
@Override
- public boolean isActive() {
- return active;
- }
-
- @Override
- public void appletResize(int width, int height) {
- wrappedApplet.resize(width, height);
- }
-
- @Override
public void resize(int width, int height) {
wrappedApplet.resize(width, height);
}
@Override
- public void resize(Dimension d) {
- wrappedApplet.resize(d);
+ public void resize(Dimension size) {
+ wrappedApplet.resize(size);
}
@Override
@@ -140,33 +189,37 @@ public final class Launcher extends Applet implements AppletStub {
active = false;
}
+ @Override
public void destroy() {
wrappedApplet.destroy();
}
@Override
- public URL getCodeBase() {
- try {
- return new URL("http://www.minecraft.net/game/");
- } catch (MalformedURLException e) {
- throw new RuntimeException(e);
- }
+ public void appletResize(int width, int height) {
+ wrappedApplet.resize(width, height);
}
@Override
- public URL getDocumentBase() {
- return documentBase;
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+
+ wrappedApplet.setVisible(visible);
}
@Override
- public void setVisible(boolean b) {
- super.setVisible(b);
+ public void paint(Graphics graphics) {
+ }
- wrappedApplet.setVisible(b);
+ @Override
+ public void update(Graphics graphics) {
}
- public void update(Graphics paramGraphics) {}
+ public void setParameter(String key, String value) {
+ params.put(key, value);
+ }
- public void paint(Graphics paramGraphics) {}
+ public void setParameter(String key, boolean value) {
+ setParameter(key, value ? "true" : "false");
+ }
}