diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/yggdrasil/RefreshRequest.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/yggdrasil/RefreshRequest.java
index a819557ac..b23691c18 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/yggdrasil/RefreshRequest.java
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/yggdrasil/RefreshRequest.java
@@ -4,6 +4,7 @@ public class RefreshRequest {
public String clientToken;
public String accessToken;
+ public GameProfile selectedProfile;
public boolean requestUser = true;
public RefreshRequest(String accessToken, String clientToken) {
diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/yggdrasil/YggdrasilAuthentication.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/yggdrasil/YggdrasilAuthentication.java
index e83b42067..8c7b834be 100644
--- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/yggdrasil/YggdrasilAuthentication.java
+++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/yggdrasil/YggdrasilAuthentication.java
@@ -106,7 +106,7 @@ public class YggdrasilAuthentication {
if (StrUtils.isNotBlank(getAuthenticatedToken())) {
if (StrUtils.isBlank(getUserId()))
- if (StrUtils.isNotBlank(username))
+ if (StrUtils.isBlank(username))
userid = username;
else
throw new AuthenticationException(C.i18n("login.invalid_uuid_and_username"));
@@ -125,9 +125,8 @@ public class YggdrasilAuthentication {
if (StrUtils.isNotBlank(response.error)) {
HMCLog.err("Failed to log in, the auth server returned an error: " + response.error + ", message: " + response.errorMessage + ", cause: " + response.cause);
- if (response.errorMessage.contains("Invalid token")) {
+ if (response.errorMessage.contains("Invalid token"))
response.errorMessage = C.i18n("login.invalid_token");
- }
throw new AuthenticationException("Request error: " + response.errorMessage);
}
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 3ddb9e3f3..72b8a22a9 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
@@ -617,7 +617,9 @@
-
+
+
+
@@ -625,7 +627,9 @@
-
+
+
+
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 bf9592878..801895562 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
@@ -677,14 +677,14 @@ public class GameSettingsPanel extends javax.swing.JPanel implements DropTargetL
jScrollPane1.setViewportView(lstExternalMods);
lstExternalMods.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- btnAddMod.setText("添加");
+ btnAddMod.setText(C.i18n("mods.add")); // NOI18N
btnAddMod.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddModActionPerformed(evt);
}
});
- btnRemoveMod.setText("删除");
+ btnRemoveMod.setText(C.i18n("mods.remove")); // NOI18N
btnRemoveMod.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRemoveModActionPerformed(evt);
diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java
index 8b5036781..58d62cbbe 100644
--- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java
+++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java
@@ -51,6 +51,7 @@ public final class NetUtils {
public static String getStreamContent(InputStream is, String encoding)
throws IOException {
+ if (is == null) return null;
StringBuilder sb = new StringBuilder();
try (InputStreamReader br = new InputStreamReader(is, encoding)) {
int len;
diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersions.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersions.java
index 9c2426e64..5369812d0 100644
--- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersions.java
+++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersions.java
@@ -17,7 +17,6 @@
package org.jackhuang.hellominecraft.version;
import java.util.ArrayList;
-import org.jackhuang.hellominecraft.C;
/**
*
@@ -28,8 +27,4 @@ public class MinecraftRemoteVersions {
public ArrayList versions;
public MinecraftRemoteLatestVersion latest;
- public static MinecraftRemoteVersions fromJson(String s) {
- return C.gson.fromJson(s, MinecraftRemoteVersions.class);
- }
-
}
diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties
index bb2eb6ee8..32d5d3745 100644
--- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties
+++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties
@@ -210,6 +210,8 @@ settings.failed_load=\u8bbe\u7f6e\u6587\u4ef6\u52a0\u8f7d\u5931\u8d25\uff0c\u53e
mods=Mod\u7ba1\u7406
mods.choose_mod=\u9009\u62e9\u6a21\u7ec4
mods.failed=\u6dfb\u52a0\u5931\u8d25
+mods.add=\u6dfb\u52a0
+mods.remove=\u5220\u9664
mods.default_information=\u5b89\u88c5Mod\u524d\u4f60\u9700\u8981\u786e\u4fdd\u5df2\u5b89\u88c5Forge\u6216LiteLoader!
\u60a8\u53ef\u4ee5\u4ece\u8d44\u6e90\u7ba1\u7406\u5668\u62d6\u52a8mod\u6587\u4ef6\u5230\u5217\u8868\u4e2d\u6765\u6dfb\u52a0mod\uff0c\u540c\u65f6\u4f7f\u7528\u5220\u9664\u952e\u53ef\u5feb\u901f\u5220\u9664\u9009\u4e2dmod
\u70b9\u6389mod\u524d\u9762\u7684\u52fe\u53ef\u7981\u7528mod\uff0c\u4e0d\u4f1a\u52a0\u8f7d\uff1b\u9009\u62e9mod\u53ef\u4ee5\u83b7\u53d6mod\u4fe1\u606f
advancedsettings=\u9ad8\u7ea7\u8bbe\u7f6e
diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en.properties
index c5632dc16..fc6bb513f 100644
--- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en.properties
+++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en.properties
@@ -210,6 +210,8 @@ settings.failed_load=Failed to load settings file. Remove it?
mods=Mods
mods.choose_mod=Choose your mods
mods.failed=Failed to add mods
+mods.add=Add
+mods.remove=Remove
mods.default_information=Please ensure that you have installed Forge or LiteLoader before installing mods!
You can drop your mod files from explorer/finder, and delete mods by the delete button.
Disable a mod by leaving the check box unchecked; Choose an item to get the information.
advancedsettings=Advanced
diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_TW.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh.properties
similarity index 99%
rename from HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_TW.properties
rename to HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh.properties
index bf9eb6098..eac685a3a 100644
--- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_TW.properties
+++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh.properties
@@ -210,6 +210,8 @@ settings.failed_load=\u8a2d\u5b9a\u6587\u4ef6\u52a0\u8f09\u5931\u6557\uff0c\u53e
mods=Mod\u7ba1\u7406
mods.choose_mod=\u9009\u62e9\u6a21\u7ec4
mods.failed=\u6dfb\u52a0\u5931\u8d25
+mods.add=\u6dfb\u52a0
+mods.remove=\u522a\u9664
mods.default_information=\u60a8\u53ef\u4ee5\u62d6\u52a8mod\u5230\u5217\u8868\u4e2d\u6765\u6dfb\u52a0mod\uff0c\u540c\u65f6\u4f7f\u7528\u5220\u9664\u952e\u53ef\u5feb\u901f\u5220\u9664\u9009\u4e2dmod
\u9009\u62e9mod\u53ef\u4ee5\u83b7\u53d6mod\u4fe1\u606f
advancedsettings=\u9ad8\u7d1a\u8a2d\u5b9a
diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java
index b94d23ea5..08480912e 100644
--- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java
+++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java
@@ -3164,7 +3164,7 @@ implements MonitorThread.MonitorThreadListener, Event {
javax.swing.JTable table = MainWindow.this.lstDownloads;
DefaultTableModel model = (DefaultTableModel) table.getModel();
- MinecraftRemoteVersions v = MinecraftRemoteVersions.fromJson(task.getResult());
+ MinecraftRemoteVersions v = C.gson.fromJson(task.getResult(), MinecraftRemoteVersions.class);
for (MinecraftRemoteVersion ver : v.versions) {
String[] line = new String[4];
line[0] = ver.id;