diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java index 5c1768ae0..c3c434e77 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java @@ -46,6 +46,12 @@ public class CrashReporter implements Thread.UncaughtExceptionHandler { public boolean checkThrowable(Throwable e) { String s = StrUtils.getStackTrace(e); + if (s.contains("MessageBox") || s.contains("AWTError")) { + return false; + } else if (s.contains("JFileChooser") || s.contains("JceSecurityManager")) { + System.out.println("Is not your operating system installed completely? "); + return false; + } if (s.contains("sun.awt.shell.Win32ShellFolder2") || s.contains("UnsatisfiedLinkError")) { System.out.println(C.i18n("crash.user_fault")); try { @@ -112,6 +118,10 @@ public class CrashReporter implements Thread.UncaughtExceptionHandler { } } } + + void showMessage() { + + } private static final HashSet throwableSet = new HashSet<>(); diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/assets/AssetsLoaderListener.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/assets/AssetsLoaderListener.java deleted file mode 100644 index bb269cc87..000000000 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/assets/AssetsLoaderListener.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Hello Minecraft! Launcher. - * Copyright (C) 2013 huangyuhui - * - * 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, either version 3 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see {http://www.gnu.org/licenses/}. - */ -package org.jackhuang.hellominecraft.launcher.utils.assets; - -import java.util.ArrayList; - -/** - * - * @author huangyuhui - */ -public interface AssetsLoaderListener { - - void OnDone(ArrayList loader); - - void OnFailed(Exception e); -} diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/download/BMCLAPIDownloadProvider.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/download/BMCLAPIDownloadProvider.java index 14044c07f..fb0c82270 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/download/BMCLAPIDownloadProvider.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/download/BMCLAPIDownloadProvider.java @@ -27,7 +27,7 @@ public class BMCLAPIDownloadProvider extends IDownloadProvider { @Override public InstallerVersionList getForgeInstaller() { - return org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla.MinecraftForgeVersionList.getInstance(); + return org.jackhuang.hellominecraft.launcher.utils.installers.forge.MinecraftForgeVersionList.getInstance(); } @Override diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/download/MojangDownloadProvider.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/download/MojangDownloadProvider.java index debdf20cd..1099a0294 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/download/MojangDownloadProvider.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/download/MojangDownloadProvider.java @@ -28,7 +28,7 @@ public class MojangDownloadProvider extends IDownloadProvider { @Override public InstallerVersionList getForgeInstaller() { - return org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla.MinecraftForgeVersionList.getInstance(); + return org.jackhuang.hellominecraft.launcher.utils.installers.forge.MinecraftForgeVersionList.getInstance(); } @Override diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/vanilla/MinecraftForgeVersion.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/MinecraftForgeVersion.java similarity index 98% rename from HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/vanilla/MinecraftForgeVersion.java rename to HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/MinecraftForgeVersion.java index 5f0b59d5a..0c9897323 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/vanilla/MinecraftForgeVersion.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/MinecraftForgeVersion.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla; +package org.jackhuang.hellominecraft.launcher.utils.installers.forge; /** * diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/vanilla/MinecraftForgeVersionList.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/MinecraftForgeVersionList.java similarity index 99% rename from HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/vanilla/MinecraftForgeVersionList.java rename to HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/MinecraftForgeVersionList.java index fb52f52f6..8754e8347 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/vanilla/MinecraftForgeVersionList.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/MinecraftForgeVersionList.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla; +package org.jackhuang.hellominecraft.launcher.utils.installers.forge; import java.util.ArrayList; import java.util.Collections; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/vanilla/MinecraftForgeVersionRoot.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/MinecraftForgeVersionRoot.java similarity index 98% rename from HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/vanilla/MinecraftForgeVersionRoot.java rename to HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/MinecraftForgeVersionRoot.java index a0c77558b..47e24242f 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/vanilla/MinecraftForgeVersionRoot.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/MinecraftForgeVersionRoot.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla; +package org.jackhuang.hellominecraft.launcher.utils.installers.forge; import java.util.Map; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/bmcl/Downloads.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/bmcl/Downloads.java deleted file mode 100644 index 29373a495..000000000 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/bmcl/Downloads.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Hello Minecraft! Launcher. - * Copyright (C) 2013 huangyuhui - * - * 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, either version 3 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see {http://www.gnu.org/licenses/}. - */ -package org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl; - -/** - * - * @author huangyuhui - */ -public class Downloads { - - public String changelog; - public String[] universal, src, javadoc, installer; -} diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/bmcl/ForgeBMCLVersionList.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/bmcl/ForgeBMCLVersionList.java deleted file mode 100644 index e80fd5ef2..000000000 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/bmcl/ForgeBMCLVersionList.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Hello Minecraft! Launcher. - * Copyright (C) 2013 huangyuhui - * - * 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, either version 3 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see {http://www.gnu.org/licenses/}. - */ -package org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl; - -import com.google.gson.JsonSyntaxException; -import com.google.gson.reflect.TypeToken; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; -import org.jackhuang.hellominecraft.utils.ArrayUtils; -import org.jackhuang.hellominecraft.utils.StrUtils; -import org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList; -import org.jackhuang.hellominecraft.utils.NetUtils; - -/** - * - * @author huangyuhui - */ -public class ForgeBMCLVersionList extends InstallerVersionList { - - private static ForgeBMCLVersionList instance; - - public static ForgeBMCLVersionList getInstance() { - if (instance == null) - instance = new ForgeBMCLVersionList(); - return instance; - } - - public ArrayList root; - public Map> versionMap; - public List versions; - - @Override - public void refreshList(String[] neededVersions) throws Exception { - if (versionMap == null) { - versionMap = new HashMap<>(); - versions = new ArrayList<>(); - } - - for (String x : neededVersions) { - if (versionMap.containsKey(x)) - continue; - String s = NetUtils.get("http://bmclapi2.bangbang93.com/forge/minecraft/" + x); - - if (s == null) - continue; - - try { - root = C.gson.fromJson(s, new TypeToken>() { - }.getType()); - for (ForgeVersion v : root) { - InstallerVersion iv = new InstallerVersion(v.version, StrUtils.formatVersion(v.minecraft)); - - List al = ArrayUtils.tryGetMapWithList(versionMap, StrUtils.formatVersion(v.minecraft)); - iv.changelog = v.downloads.changelog; - iv.installer = ArrayUtils.getEnd(v.downloads.installer); - iv.universal = ArrayUtils.getEnd(v.downloads.universal); - al.add(iv); - versions.add(iv); - } - } catch (JsonSyntaxException e) { - HMCLog.warn("Failed to parse BMCLAPI2 response.", e); - } - } - Collections.sort(versions, new InstallerVersionComparator()); - } - - @Override - public List getVersions(String mcVersion) { - if (versions == null || versionMap == null) - return null; - if (StrUtils.isBlank(mcVersion)) - return versions; - List c = versionMap.get(mcVersion); - if (c == null) - return versions; - Collections.sort(c, InstallerVersionComparator.INSTANCE); - return c; - } - - @Override - public String getName() { - return "Forge - BMCLAPI (By: bangbang93)"; - } -} diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/bmcl/ForgeVersion.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/bmcl/ForgeVersion.java deleted file mode 100644 index ff2f906fb..000000000 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/installers/forge/bmcl/ForgeVersion.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Hello Minecraft! Launcher. - * Copyright (C) 2013 huangyuhui - * - * 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, either version 3 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see {http://www.gnu.org/licenses/}. - */ -package org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl; - -/** - * - * @author huangyuhui - */ -public class ForgeVersion { - - public String time, minecraft, version, _id, __v; - public Downloads downloads; -} diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form index 921461aa5..78e6e7139 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form @@ -136,7 +136,7 @@ - + @@ -173,7 +173,7 @@ - + @@ -390,7 +390,7 @@ - + @@ -413,7 +413,7 @@ - + @@ -554,8 +554,8 @@ - - + + diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java index 4ffa2f386..c96a71a6e 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java @@ -459,7 +459,7 @@ public final class GameSettingsPanel extends javax.swing.JPanel implements DropT pnlSettingsLayout.setVerticalGroup( pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlSettingsLayout.createSequentialGroup() - .addContainerGap() + .addGap(0, 0, 0) .addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(txtGameDir, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblGameDir) @@ -490,7 +490,7 @@ public final class GameSettingsPanel extends javax.swing.JPanel implements DropT .addComponent(lblDimensionX, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblDimension) .addComponent(txtWidth, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 95, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 113, Short.MAX_VALUE) .addComponent(btnDownloadAllAssets) .addContainerGap()) ); @@ -594,7 +594,7 @@ public final class GameSettingsPanel extends javax.swing.JPanel implements DropT pnlAdvancedSettingsLayout.setVerticalGroup( pnlAdvancedSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlAdvancedSettingsLayout.createSequentialGroup() - .addContainerGap() + .addGap(0, 0, 0) .addGroup(pnlAdvancedSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(txtJavaArgs, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblJavaArgs)) @@ -614,7 +614,7 @@ public final class GameSettingsPanel extends javax.swing.JPanel implements DropT .addComponent(lblServerIP) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtServerIP, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 90, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 102, Short.MAX_VALUE) .addGroup(pnlAdvancedSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(chkDebug) .addComponent(chkNoJVMArgs) @@ -664,8 +664,8 @@ public final class GameSettingsPanel extends javax.swing.JPanel implements DropT .addGroup(pnlModManagementContentLayout.createSequentialGroup() .addGroup(pnlModManagementContentLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlModManagementContentLayout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 773, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 779, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(pnlModManagementContentLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(btnRemoveMod) .addComponent(btnAddMod))) diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java index f101315f6..d02880b61 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java @@ -19,6 +19,7 @@ package org.jackhuang.hellominecraft.launcher.views; import java.util.List; import javax.swing.JTable; +import javax.swing.SwingUtilities; import javax.swing.table.DefaultTableModel; import org.jackhuang.hellominecraft.C; import org.jackhuang.hellominecraft.launcher.settings.Settings; @@ -145,7 +146,9 @@ public class InstallerPanel extends javax.swing.JPanel { } public void loadVersions() { - versions = loadVersions(list, lstInstallers); + SwingUtilities.invokeLater(() -> { + versions = loadVersions(list, lstInstallers); + }); } private List loadVersions(InstallerVersionList list, JTable table) { diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form index f39061c71..ea8d80bc1 100644 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form @@ -13,7 +13,6 @@ - diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java index 914c33758..168d65722 100644 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java @@ -121,9 +121,6 @@ public class TaskWindow extends javax.swing.JDialog public void windowClosed(java.awt.event.WindowEvent evt) { formWindowClosed(evt); } - public void windowClosing(java.awt.event.WindowEvent evt) { - formWindowClosing(evt); - } }); btnCancel.setText(bundle.getString("taskwindow.cancel")); // NOI18N @@ -190,10 +187,6 @@ public class TaskWindow extends javax.swing.JDialog taskList = null; }//GEN-LAST:event_formWindowClosed - private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing - // TODO add your handling code here: - }//GEN-LAST:event_formWindowClosing - // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnCancel; private javax.swing.JTable lstDownload; @@ -228,10 +221,11 @@ public class TaskWindow extends javax.swing.JDialog @Override public void onDoing(Task task) { + if (task == null) return; task.setProgressProviderListener(this); SwingUtilities.invokeLater(() -> { - if (taskList == null || task == null) + if (taskList == null) return; tasks.add(task); progresses.add(0); diff --git a/HMCLAPI/src/main/java/rx/operators/package.html b/HMCLAPI/src/main/java/rx/operators/package.html deleted file mode 100644 index 80ba7542b..000000000 --- a/HMCLAPI/src/main/java/rx/operators/package.html +++ /dev/null @@ -1,23 +0,0 @@ - - -

Operators that allow composing Observables to transform and - manipulate data in an asynchronous, functional and thread-safe manner.

-

The operators are all exposed via the ObservableExtensions class

- - \ No newline at end of file diff --git a/HMCSM/src/main/resources/index.html b/HMCSM/src/main/resources/index.html deleted file mode 100644 index 7885f78ac..000000000 --- a/HMCSM/src/main/resources/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Hello Minecraft! 开服器 - - - - - - -