diff --git a/src/background.jpg b/HMCL/src/background.jpg similarity index 100% rename from src/background.jpg rename to HMCL/src/background.jpg diff --git a/src/icon.png b/HMCL/src/icon.png similarity index 100% rename from src/icon.png rename to HMCL/src/icon.png diff --git a/src/org/jackhuang/hellominecraftlauncher/GameLauncher.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/GameLauncher.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/GameLauncher.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/GameLauncher.java diff --git a/src/org/jackhuang/hellominecraftlauncher/GameLauncherRequest.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/GameLauncherRequest.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/GameLauncherRequest.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/GameLauncherRequest.java diff --git a/src/org/jackhuang/hellominecraftlauncher/I18N.properties b/HMCL/src/org/jackhuang/hellominecraftlauncher/I18N.properties similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/I18N.properties rename to HMCL/src/org/jackhuang/hellominecraftlauncher/I18N.properties diff --git a/src/org/jackhuang/hellominecraftlauncher/I18N_en_US.properties b/HMCL/src/org/jackhuang/hellominecraftlauncher/I18N_en_US.properties similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/I18N_en_US.properties rename to HMCL/src/org/jackhuang/hellominecraftlauncher/I18N_en_US.properties diff --git a/src/org/jackhuang/hellominecraftlauncher/I18N_zh_CN.properties b/HMCL/src/org/jackhuang/hellominecraftlauncher/I18N_zh_CN.properties similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/I18N_zh_CN.properties rename to HMCL/src/org/jackhuang/hellominecraftlauncher/I18N_zh_CN.properties diff --git a/src/org/jackhuang/hellominecraftlauncher/I18N_zh_TW.properties b/HMCL/src/org/jackhuang/hellominecraftlauncher/I18N_zh_TW.properties similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/I18N_zh_TW.properties rename to HMCL/src/org/jackhuang/hellominecraftlauncher/I18N_zh_TW.properties diff --git a/src/org/jackhuang/hellominecraftlauncher/JavaProcess.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/JavaProcess.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/JavaProcess.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/JavaProcess.java diff --git a/src/org/jackhuang/hellominecraftlauncher/Launcher.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/Launcher.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/Launcher.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/Launcher.java diff --git a/src/org/jackhuang/hellominecraftlauncher/LauncherOutputStream.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/LauncherOutputStream.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/LauncherOutputStream.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/LauncherOutputStream.java diff --git a/src/org/jackhuang/hellominecraftlauncher/LauncherPrintStream.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/LauncherPrintStream.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/LauncherPrintStream.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/LauncherPrintStream.java diff --git a/src/org/jackhuang/hellominecraftlauncher/Main.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/Main.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/Main.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/Main.java diff --git a/src/org/jackhuang/hellominecraftlauncher/MinecraftHandler.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/MinecraftHandler.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/MinecraftHandler.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/MinecraftHandler.java diff --git a/src/org/jackhuang/hellominecraftlauncher/ModLoaderHandler.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/ModLoaderHandler.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/ModLoaderHandler.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/ModLoaderHandler.java diff --git a/src/org/jackhuang/hellominecraftlauncher/Pair.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/Pair.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/Pair.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/Pair.java diff --git a/src/org/jackhuang/hellominecraftlauncher/ShutdownHook.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/ShutdownHook.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/ShutdownHook.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/ShutdownHook.java diff --git a/src/org/jackhuang/hellominecraftlauncher/installers/PackMinecraftInstaller.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/installers/PackMinecraftInstaller.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/installers/PackMinecraftInstaller.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/installers/PackMinecraftInstaller.java diff --git a/src/org/jackhuang/hellominecraftlauncher/installers/forge/BaseLauncherProfile.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/installers/forge/BaseLauncherProfile.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/installers/forge/BaseLauncherProfile.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/installers/forge/BaseLauncherProfile.java diff --git a/src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeFormatThread.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeFormatThread.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeFormatThread.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeFormatThread.java diff --git a/src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeOldInstaller.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeOldInstaller.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeOldInstaller.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeOldInstaller.java diff --git a/src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeVersion.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeVersion.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeVersion.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/installers/forge/ForgeVersion.java diff --git a/src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineFormatDownloadThread.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineFormatDownloadThread.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineFormatDownloadThread.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineFormatDownloadThread.java diff --git a/src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineFormatThread.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineFormatThread.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineFormatThread.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineFormatThread.java diff --git a/src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineVersion.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineVersion.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineVersion.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/installers/optifine/OptifineVersion.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/IMinecraftLoader.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/IMinecraftLoader.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/IMinecraftLoader.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/IMinecraftLoader.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/Latest.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/Latest.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/Latest.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/Latest.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/LaunchRequest.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/LaunchRequest.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/LaunchRequest.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/LaunchRequest.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftLoader.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftLoader.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftLoader.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftLoader.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftOldLoader.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftOldLoader.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftOldLoader.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftOldLoader.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftVersions.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftVersions.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftVersions.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftVersions.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftVersionsLoader.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftVersionsLoader.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftVersionsLoader.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/MinecraftVersionsLoader.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/packages/Packages.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/packages/Packages.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/packages/Packages.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/packages/Packages.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/serverlist/ServerInfo.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/serverlist/ServerInfo.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/serverlist/ServerInfo.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/serverlist/ServerInfo.java diff --git a/src/org/jackhuang/hellominecraftlauncher/loaders/serverlist/ServerList.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/serverlist/ServerList.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/loaders/serverlist/ServerList.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/loaders/serverlist/ServerList.java diff --git a/src/org/jackhuang/hellominecraftlauncher/models/ControllerAction.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/models/ControllerAction.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/models/ControllerAction.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/models/ControllerAction.java diff --git a/src/org/jackhuang/hellominecraftlauncher/models/VersionCopier.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/models/VersionCopier.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/models/VersionCopier.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/models/VersionCopier.java diff --git a/src/org/jackhuang/hellominecraftlauncher/models/VersionManager.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/models/VersionManager.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/models/VersionManager.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/models/VersionManager.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/HMCLPlugin.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/HMCLPlugin.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/HMCLPlugin.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/HMCLPlugin.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/MinecraftEnvironment.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/MinecraftEnvironment.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/MinecraftEnvironment.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/MinecraftEnvironment.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/PluginHandler.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/PluginHandler.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/PluginHandler.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/PluginHandler.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/PluginManager.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/PluginManager.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/PluginManager.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/PluginManager.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/AssetsPanel.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/AssetsPanel.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/AssetsPanel.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/AssetsPanel.form diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/AssetsPanel.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/AssetsPanel.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/AssetsPanel.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/AssetsPanel.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/InstallersPanel.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/InstallersPanel.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/InstallersPanel.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/InstallersPanel.form diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/InstallersPanel.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/InstallersPanel.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/InstallersPanel.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/InstallersPanel.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/SaveWorldPanel.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/SaveWorldPanel.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/SaveWorldPanel.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/SaveWorldPanel.form diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/SaveWorldPanel.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/SaveWorldPanel.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/SaveWorldPanel.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/SaveWorldPanel.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditPanel.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditPanel.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditPanel.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditPanel.form diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditPanel.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditPanel.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditPanel.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditPanel.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditorWindow.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditorWindow.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditorWindow.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditorWindow.form diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditorWindow.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditorWindow.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditorWindow.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/ServerEditorWindow.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/TexturepackEditPanel.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/TexturepackEditPanel.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/TexturepackEditPanel.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/TexturepackEditPanel.form diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/TexturepackEditPanel.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/TexturepackEditPanel.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/TexturepackEditPanel.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/editpanels/TexturepackEditPanel.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N.properties b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N.properties similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N.properties rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N.properties diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_en_US.properties b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_en_US.properties similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_en_US.properties rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_en_US.properties diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_zh_CN.properties b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_zh_CN.properties similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_zh_CN.properties rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_zh_CN.properties diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_zh_TW.properties b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_zh_TW.properties similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_zh_TW.properties rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/I18N_zh_TW.properties diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/LegacyLogin.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/LegacyLogin.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/LegacyLogin.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/LegacyLogin.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/LoginPluginSettings.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/LoginPluginSettings.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/LoginPluginSettings.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/LoginPluginSettings.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/MineLogin.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/MineLogin.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/MineLogin.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/MineLogin.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/OfflineLogin.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/OfflineLogin.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/OfflineLogin.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/OfflineLogin.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/SkinmeLogin.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/SkinmeLogin.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/SkinmeLogin.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/SkinmeLogin.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/logins/YggdrasilLogin.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/YggdrasilLogin.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/logins/YggdrasilLogin.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/logins/YggdrasilLogin.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/GameDownloadPanel.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/GameDownloadPanel.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/GameDownloadPanel.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/GameDownloadPanel.form diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/GameDownloadPanel.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/GameDownloadPanel.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/GameDownloadPanel.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/GameDownloadPanel.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/IntegrateDownloadPanel.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/IntegrateDownloadPanel.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/IntegrateDownloadPanel.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/IntegrateDownloadPanel.form diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/IntegrateDownloadPanel.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/IntegrateDownloadPanel.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/IntegrateDownloadPanel.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/mainpanels/IntegrateDownloadPanel.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsMojangLoader.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsMojangLoader.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsMojangLoader.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsMojangLoader.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsMojangOldLoader.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsMojangOldLoader.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsMojangOldLoader.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsMojangOldLoader.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsZipHandler.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsZipHandler.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsZipHandler.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/AssetsZipHandler.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/AssetsLoader.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/AssetsLoader.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/AssetsLoader.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/AssetsLoader.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/AssetsLoaderListener.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/AssetsLoaderListener.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/AssetsLoaderListener.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/AssetsLoaderListener.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/Contents.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/Contents.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/Contents.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/Contents.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/NewAssetsLoader.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/NewAssetsLoader.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/NewAssetsLoader.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/NewAssetsLoader.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/Objects.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/Objects.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/Objects.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/Objects.java diff --git a/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/ObjectsItem.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/ObjectsItem.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/ObjectsItem.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/plugin/settings/assets/ObjectsItem.java diff --git a/src/org/jackhuang/hellominecraftlauncher/updater/CheckUpdate.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/updater/CheckUpdate.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/updater/CheckUpdate.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/updater/CheckUpdate.java diff --git a/src/org/jackhuang/hellominecraftlauncher/updater/UpdateRequest.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/updater/UpdateRequest.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/updater/UpdateRequest.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/updater/UpdateRequest.java diff --git a/src/org/jackhuang/hellominecraftlauncher/utilities/C.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/C.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/utilities/C.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/C.java diff --git a/src/org/jackhuang/hellominecraftlauncher/utilities/FolderOpener.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/FolderOpener.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/utilities/FolderOpener.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/FolderOpener.java diff --git a/src/org/jackhuang/hellominecraftlauncher/utilities/LimitedCapacityList.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/LimitedCapacityList.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/utilities/LimitedCapacityList.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/LimitedCapacityList.java diff --git a/src/org/jackhuang/hellominecraftlauncher/utilities/MinecraftOldVersionIncluder.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/MinecraftOldVersionIncluder.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/utilities/MinecraftOldVersionIncluder.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/MinecraftOldVersionIncluder.java diff --git a/src/org/jackhuang/hellominecraftlauncher/utilities/ProcessThread.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/ProcessThread.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/utilities/ProcessThread.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/ProcessThread.java diff --git a/src/org/jackhuang/hellominecraftlauncher/utilities/SettingsManager.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/SettingsManager.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/utilities/SettingsManager.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/utilities/SettingsManager.java diff --git a/src/org/jackhuang/hellominecraftlauncher/views/LogWindow.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/LogWindow.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/LogWindow.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/LogWindow.form diff --git a/src/org/jackhuang/hellominecraftlauncher/views/LogWindow.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/LogWindow.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/LogWindow.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/LogWindow.java diff --git a/src/org/jackhuang/hellominecraftlauncher/views/MainWindow.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/MainWindow.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/MainWindow.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/MainWindow.form diff --git a/src/org/jackhuang/hellominecraftlauncher/views/MainWindow.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/MainWindow.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/MainWindow.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/MainWindow.java diff --git a/src/org/jackhuang/hellominecraftlauncher/views/NewVersionWindow.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/NewVersionWindow.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/NewVersionWindow.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/NewVersionWindow.form diff --git a/src/org/jackhuang/hellominecraftlauncher/views/NewVersionWindow.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/NewVersionWindow.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/NewVersionWindow.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/NewVersionWindow.java diff --git a/src/org/jackhuang/hellominecraftlauncher/views/OptionsWindow.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/OptionsWindow.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/OptionsWindow.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/OptionsWindow.form diff --git a/src/org/jackhuang/hellominecraftlauncher/views/OptionsWindow.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/OptionsWindow.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/OptionsWindow.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/OptionsWindow.java diff --git a/src/org/jackhuang/hellominecraftlauncher/views/SetupWindow.form b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/SetupWindow.form similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/SetupWindow.form rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/SetupWindow.form diff --git a/src/org/jackhuang/hellominecraftlauncher/views/SetupWindow.java b/HMCL/src/org/jackhuang/hellominecraftlauncher/views/SetupWindow.java similarity index 100% rename from src/org/jackhuang/hellominecraftlauncher/views/SetupWindow.java rename to HMCL/src/org/jackhuang/hellominecraftlauncher/views/SetupWindow.java diff --git a/HMCLAPI/javadoc/allclasses-frame.html b/HMCLAPI/javadoc/allclasses-frame.html new file mode 100644 index 000000000..ebbc048cf --- /dev/null +++ b/HMCLAPI/javadoc/allclasses-frame.html @@ -0,0 +1,60 @@ + + + + + + +所有类 + + + + +

所有类

+
+ +
+ + diff --git a/HMCLAPI/javadoc/allclasses-noframe.html b/HMCLAPI/javadoc/allclasses-noframe.html new file mode 100644 index 000000000..48e044f3c --- /dev/null +++ b/HMCLAPI/javadoc/allclasses-noframe.html @@ -0,0 +1,60 @@ + + + + + + +所有类 + + + + +

所有类

+
+ +
+ + diff --git a/HMCLAPI/javadoc/constant-values.html b/HMCLAPI/javadoc/constant-values.html new file mode 100644 index 000000000..82007aed2 --- /dev/null +++ b/HMCLAPI/javadoc/constant-values.html @@ -0,0 +1,400 @@ + + + + + + +常量字段值 + + + + + + + +
+ + + + + +
+ + +
+

常量字段值

+

目录

+ +
+
+ + +

org.jackhuang.*

+ + +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/deprecated-list.html b/HMCLAPI/javadoc/deprecated-list.html new file mode 100644 index 000000000..32ee01e84 --- /dev/null +++ b/HMCLAPI/javadoc/deprecated-list.html @@ -0,0 +1,116 @@ + + + + + + +已过时的列表 + + + + + + + +
+ + + + + +
+ + +
+

已过时的 API

+

目录

+
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/help-doc.html b/HMCLAPI/javadoc/help-doc.html new file mode 100644 index 000000000..925502d5f --- /dev/null +++ b/HMCLAPI/javadoc/help-doc.html @@ -0,0 +1,221 @@ + + + + + + +API 帮助 + + + + + + + +
+ + + + + +
+ + +
+

此 API 文档的组织方式

+
此 API (应用程序编程接口) 文档包含对应于导航栏中的项目的页面, 如下所述。
+
+
+ +此帮助文件适用于使用标准 doclet 生成的 API 文档。
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-1.html b/HMCLAPI/javadoc/index-files/index-1.html new file mode 100644 index 000000000..89304602e --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-1.html @@ -0,0 +1,147 @@ + + + + + + +A - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

A

+
+
accessToken - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
+
Access Token
+
+
action - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.Rules
+
 
+
addDoneListener(DoneListener<String, Object>) - 类 中的方法org.jackhuang.hellominecraftlauncher.download.DownloadAllThread
+
 
+
addDownloadURL(String, String, String) - 类 中的方法org.jackhuang.hellominecraftlauncher.download.DownloadAllThread
+
 
+
addListener(DoneListener<String, Object>) - 类 中的方法org.jackhuang.hellominecraftlauncher.download.URLGetThread
+
 
+
addSeparator(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
allow() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.version.MinecraftLibrary
+
+
此library是否被允许使用
+
+
assets - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler
+
+
assets路径
+
+
assets - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
assetstype - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
authSettings - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-10.html b/HMCLAPI/javadoc/index-files/index-10.html new file mode 100644 index 000000000..0fe063f2a --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-10.html @@ -0,0 +1,123 @@ + + + + + + +J - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

J

+
+
javaArgs - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
javaDir - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-11.html b/HMCLAPI/javadoc/index-files/index-11.html new file mode 100644 index 000000000..ca4e0588e --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-11.html @@ -0,0 +1,121 @@ + + + + + + +K - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

K

+
+
key - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.Pair
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-12.html b/HMCLAPI/javadoc/index-files/index-12.html new file mode 100644 index 000000000..454ebff64 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-12.html @@ -0,0 +1,172 @@ + + + + + + +L - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

L

+
+
last - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
lastLoadLibraries - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
lastLoadLibrariesIsActive - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
libraries - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
linux - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.Natives
+
 
+
load(Class<T>) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.Configuration
+
+
从提供的配置文件读取配置
+
+
load(HMCLPluginLoadEvent) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.IPlugin
+
+
插件加载事件
+ 可以用来注册Handlers、读取设置
+
+
load() - 类 中的静态方法org.jackhuang.hellominecraftlauncher.settings.SettingsManager
+
 
+
log(Object) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.LogUtils
+
 
+
Login - org.jackhuang.hellominecraftlauncher.apis.handlers中的类
+
+
登录接口
+
+
Login(String) - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
 
+
login(LoginInfo) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
+
登陆方法
+
+
loginBySettings() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
 
+
LoginInfo - org.jackhuang.hellominecraftlauncher.apis.handlers中的类
+
 
+
LoginInfo(String, String) - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.handlers.LoginInfo
+
 
+
LoginResult - org.jackhuang.hellominecraftlauncher.apis.handlers中的类
+
 
+
LoginResult() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
 
+
logintype - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
logout() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
 
+
LogUtils - org.jackhuang.hellominecraftlauncher.apis中的类
+
+
Log帮助类
+
+
LogUtils() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.LogUtils
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-13.html b/HMCLAPI/javadoc/index-files/index-13.html new file mode 100644 index 000000000..ea60acf08 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-13.html @@ -0,0 +1,177 @@ + + + + + + +M - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

M

+
+
mainClass - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
mainClass - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
maximized - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
maxMemory - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
merge(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Compressor
+
+
将zip1合并到zip2里面,即保留zip2
+
+
MessageBox - org.jackhuang.hellominecraftlauncher.apis.utils中的类
+
+
提供提示消息的功能
+
+
MessageBox() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
 
+
minecraft() - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
minecraftArguments - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
minecraftArguments - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
minecraftJar - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
minecraftJarIsActive - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
MinecraftLibrary - org.jackhuang.hellominecraftlauncher.apis.version中的类
+
 
+
MinecraftLibrary() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.version.MinecraftLibrary
+
 
+
minecraftVersion(File) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
MinecraftVersion - org.jackhuang.hellominecraftlauncher.apis.version中的类
+
 
+
MinecraftVersion() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
MinecraftVersionRequest - org.jackhuang.hellominecraftlauncher.apis.utils中的类
+
+
判断minecraft.jar类型反馈
+
+
MinecraftVersionRequest() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
minimumLauncherVersion - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
Modified - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
ModLoader - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.ModType
+
 
+
ModLoaderMod - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.ModType
+
 
+
ModType - org.jackhuang.hellominecraftlauncher.apis.utils中的类
+
+
判断mod类型
+
+
ModType() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.utils.ModType
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-14.html b/HMCLAPI/javadoc/index-files/index-14.html new file mode 100644 index 000000000..85881a07a --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-14.html @@ -0,0 +1,141 @@ + + + + + + +N - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

N

+
+
name - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftLibrary
+
 
+
name - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.OS
+
 
+
name - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
natives - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftLibrary
+
 
+
Natives - org.jackhuang.hellominecraftlauncher.apis.version中的类
+
 
+
Natives() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.version.Natives
+
 
+
NO_OPTION - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
用户操作为:否
+
+
NotAFile - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
NotFound - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
NotReadable - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-15.html b/HMCLAPI/javadoc/index-files/index-15.html new file mode 100644 index 000000000..4087947ae --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-15.html @@ -0,0 +1,187 @@ + + + + + + +O - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

O

+
+
OK - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
OK_CANCEL_OPTION - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
按钮为:确定 取消
+
+
OK_OPTION - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
用户操作为:确定
+
+
onDone(V, V2) - 接口 中的方法org.jackhuang.hellominecraftlauncher.apis.DoneListener
+
 
+
OnDone() - 接口 中的方法org.jackhuang.hellominecraftlauncher.download.DownloadListener
+
 
+
OnFailed() - 接口 中的方法org.jackhuang.hellominecraftlauncher.download.DownloadListener
+
 
+
onLoadSettings(Map) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
 
+
OnProgress(int, int) - 接口 中的方法org.jackhuang.hellominecraftlauncher.download.DownloadListener
+
 
+
onSaveSettings() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
 
+
open(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener
+
 
+
openConfig(Version) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener
+
 
+
openCoreMods(Version) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener
+
 
+
openModDir(Version) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener
+
 
+
openMods(Version) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener
+
 
+
openResourcePacks(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener
+
 
+
openTextutrePacks(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener
+
 
+
OperatingSystems - org.jackhuang.hellominecraftlauncher.apis.utils中的枚举
+
+
操作系统
+
+
org.jackhuang.hellominecraftlauncher.apis - 程序包 org.jackhuang.hellominecraftlauncher.apis
+
 
+
org.jackhuang.hellominecraftlauncher.apis.events - 程序包 org.jackhuang.hellominecraftlauncher.apis.events
+
 
+
org.jackhuang.hellominecraftlauncher.apis.handlers - 程序包 org.jackhuang.hellominecraftlauncher.apis.handlers
+
 
+
org.jackhuang.hellominecraftlauncher.apis.utils - 程序包 org.jackhuang.hellominecraftlauncher.apis.utils
+
 
+
org.jackhuang.hellominecraftlauncher.apis.version - 程序包 org.jackhuang.hellominecraftlauncher.apis.version
+
 
+
org.jackhuang.hellominecraftlauncher.download - 程序包 org.jackhuang.hellominecraftlauncher.download
+
 
+
org.jackhuang.hellominecraftlauncher.settings - 程序包 org.jackhuang.hellominecraftlauncher.settings
+
 
+
os() - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
OS - org.jackhuang.hellominecraftlauncher.apis.version中的类
+
 
+
OS() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.version.OS
+
 
+
os - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.Rules
+
 
+
osx - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.Natives
+
 
+
otherInfo - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
+
其他信息
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-16.html b/HMCLAPI/javadoc/index-files/index-16.html new file mode 100644 index 000000000..dfced794c --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-16.html @@ -0,0 +1,153 @@ + + + + + + +P - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

P

+
+
Pair<K,V> - org.jackhuang.hellominecraftlauncher.apis中的类
+
 
+
Pair(K, V) - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.Pair
+
 
+
parseDimension(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
parseInt(String, int) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
parseParams(String, Object[], String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
password - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginInfo
+
 
+
PAUSED - 类 中的静态变量org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
PLAIN_MESSAGE - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
消息框类型为:完全
+
+
Plugin - org.jackhuang.hellominecraftlauncher.apis中的注释类型
+
+
插件主类必须标明此注解
+
+
PluginHandlerType - org.jackhuang.hellominecraftlauncher.apis中的枚举
+
+
提供的Handlers类型
+
+
post(String, Map<String, String>) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.HttpGet
+
 
+
post(String, Map<String, String>) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.download.DownloadUtils
+
 
+
processArguments - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
publicSettings - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-17.html b/HMCLAPI/javadoc/index-files/index-17.html new file mode 100644 index 000000000..883efd9e6 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-17.html @@ -0,0 +1,123 @@ + + + + + + +Q - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

Q

+
+
QUESTION_MESSAGE - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
消息框类型为:询问
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-18.html b/HMCLAPI/javadoc/index-files/index-18.html new file mode 100644 index 000000000..6849fa4ff --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-18.html @@ -0,0 +1,151 @@ + + + + + + +R - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

R

+
+
readAllFromInputStream(InputStream) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
readToEnd(File) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
readToEnd(InputStream) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
readToEnd(BufferedReader) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
registerPluginHandler(PluginHandlerType, IPluginHandler) - 接口 中的方法org.jackhuang.hellominecraftlauncher.apis.IPluginRegister
+
 
+
registerProgressListener(DoneListener<Integer, Integer>) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler
+
+
由HMCL向插件注册listener展现下载进度
+
+
releaseTime - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
removeLastSeparator(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
rules - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftLibrary
+
 
+
Rules - org.jackhuang.hellominecraftlauncher.apis.version中的类
+
 
+
Rules() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.version.Rules
+
 
+
run() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.DownloadAllThread
+
 
+
run() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
run() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.HttpsDownloader
+
 
+
run() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.URLGetThread
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-19.html b/HMCLAPI/javadoc/index-files/index-19.html new file mode 100644 index 000000000..9d17a6a76 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-19.html @@ -0,0 +1,197 @@ + + + + + + +S - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

S

+
+
save() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.Configuration
+
+
用Json的形式保存存储在configuration里的data
+
+
save() - 类 中的静态方法org.jackhuang.hellominecraftlauncher.settings.SettingsManager
+
 
+
sel - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.Selector
+
+
选择后的再selList中的序号
+
+
Selector - org.jackhuang.hellominecraftlauncher.apis中的类
+
+
本类用于提供登陆插件选择角色
+
+
Selector(Frame, boolean, String[], String) - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.Selector
+
+
构造方法
+
+
selfHeight - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
selfWidth - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
sendGetRequest(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.HttpGet
+
+
Sends an HTTP GET request to a url
+
+
sendGetRequest(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.download.DownloadUtils
+
+
Sends an HTTP GET request to a url
+
+
session - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
+
Session
+
+
set(T) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.Configuration
+
+
设置设置对象
+
+
setAssets(String) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler
+
+
由HMCL通知AssetsHandler assets路径
+
+
setRememberMe(boolean) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
+
设置是否记住我
+
+
Settings - org.jackhuang.hellominecraftlauncher.settings中的类
+
 
+
Settings() - 类 的构造器org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
settings - 类 中的静态变量org.jackhuang.hellominecraftlauncher.settings.SettingsManager
+
 
+
SettingsManager - org.jackhuang.hellominecraftlauncher.settings中的类
+
 
+
SettingsManager() - 类 的构造器org.jackhuang.hellominecraftlauncher.settings.SettingsManager
+
 
+
setVersion(Version) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.settings.SettingsManager
+
 
+
severe(Object) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.LogUtils
+
 
+
Show(String, String, int) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
弹出消息框
+
+
Show(String, int) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
弹出默认消息框
+
+
Show(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
弹出默认消息框
+
+
STATUSES - 类 中的静态变量org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
success - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
+
是否登陆成功
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-2.html b/HMCLAPI/javadoc/index-files/index-2.html new file mode 100644 index 000000000..5a3735af4 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-2.html @@ -0,0 +1,125 @@ + + + + + + +B - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

B

+
+
beginDownloading() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler
+
+
用户点击全部下载会触发此事件
+
+
bgpath - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-20.html b/HMCLAPI/javadoc/index-files/index-20.html new file mode 100644 index 000000000..29b2a9ecc --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-20.html @@ -0,0 +1,135 @@ + + + + + + +T - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

T

+
+
time - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
tokenize(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
tokenize(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
trimExtension(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
try2GetPath(Version, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
tryParseInteger(String, int) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
type - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
type - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-21.html b/HMCLAPI/javadoc/index-files/index-21.html new file mode 100644 index 000000000..bf690023c --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-21.html @@ -0,0 +1,169 @@ + + + + + + +U - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

U

+
+
Unknown - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.ModType
+
 
+
Unkown - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
unload(HMCLPluginUnloadEvent) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.IPlugin
+
+
插件卸载事件
+ 可以用来保存设置
+
+
unzip(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Compressor
+
+
将文件压缩成zip文件
+
+
url - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftLibrary
+
 
+
URLGet - org.jackhuang.hellominecraftlauncher.download中的类
+
 
+
URLGet() - 类 的构造器org.jackhuang.hellominecraftlauncher.download.URLGet
+
 
+
URLGetThread - org.jackhuang.hellominecraftlauncher.download中的类
+
 
+
URLGetThread(String) - 类 的构造器org.jackhuang.hellominecraftlauncher.download.URLGetThread
+
 
+
userId - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
+
用户ID
+
+
username - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginInfo
+
 
+
username - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
+
用户名
+
+
username - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
userProperties - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
+
用户信息 + 一定为json格式
+
+
userProperties - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
userType - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
 
+
Utils - org.jackhuang.hellominecraftlauncher.apis.utils中的类
+
+
工具类
+
+
Utils() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-22.html b/HMCLAPI/javadoc/index-files/index-22.html new file mode 100644 index 000000000..ef4864ce7 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-22.html @@ -0,0 +1,164 @@ + + + + + + +V - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

V

+
+
value - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.Pair
+
 
+
valueOf(String) - 枚举 中的静态方法org.jackhuang.hellominecraftlauncher.apis.PluginHandlerType
+
+
返回带有指定名称的该类型的枚举常量。
+
+
valueOf(String) - 枚举 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.OperatingSystems
+
+
返回带有指定名称的该类型的枚举常量。
+
+
valueOf(String) - 枚举 中的静态方法org.jackhuang.hellominecraftlauncher.download.DownloadType
+
+
返回带有指定名称的该类型的枚举常量。
+
+
values() - 枚举 中的静态方法org.jackhuang.hellominecraftlauncher.apis.PluginHandlerType
+
+
按照声明该枚举类型的常量的顺序, 返回 +包含这些常量的数组。
+
+
values() - 枚举 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.OperatingSystems
+
+
按照声明该枚举类型的常量的顺序, 返回 +包含这些常量的数组。
+
+
values() - 枚举 中的静态方法org.jackhuang.hellominecraftlauncher.download.DownloadType
+
+
按照声明该枚举类型的常量的顺序, 返回 +包含这些常量的数组。
+
+
version - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
version - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.OS
+
 
+
Version - org.jackhuang.hellominecraftlauncher.settings中的类
+
 
+
Version() - 类 的构造器org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
Version(Version) - 类 的构造器org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
versionChanged(HMCLPluginVersionChangedEvent) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.IPlugin
+
+
当用户切换版本时会触发此事件
+
+
versions - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-23.html b/HMCLAPI/javadoc/index-files/index-23.html new file mode 100644 index 000000000..d2766f841 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-23.html @@ -0,0 +1,133 @@ + + + + + + +W - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

W

+
+
warning(Object) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.LogUtils
+
 
+
WARNING_MESSAGE - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
消息框类型为:警告
+
+
width - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
windows - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.Natives
+
 
+
writeToFile(File, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
writeToFile(File, String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-24.html b/HMCLAPI/javadoc/index-files/index-24.html new file mode 100644 index 000000000..a2865cb9f --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-24.html @@ -0,0 +1,131 @@ + + + + + + +Y - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

Y

+
+
YES_NO_CANCEL_OPTION - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
按钮为:是 否 取消
+
+
YES_NO_OPTION - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
按钮为:是 否
+
+
YES_OPTION - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
用户操作为:是
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-25.html b/HMCLAPI/javadoc/index-files/index-25.html new file mode 100644 index 000000000..c5914ae30 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-25.html @@ -0,0 +1,123 @@ + + + + + + +Z - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

Z

+
+
zip(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Compressor
+
+
功能:把 sourceDir 目录下的所有文件进行 zip 格式的压缩,保存为指定 zip 文件
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-3.html b/HMCLAPI/javadoc/index-files/index-3.html new file mode 100644 index 000000000..be3fdef20 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-3.html @@ -0,0 +1,169 @@ + + + + + + +C - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

C

+
+
CANCEL_OPTION - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
用户操作为:取消
+
+
CANCELLED - 类 中的静态变量org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
checkUpdate - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
claSS - 枚举 中的变量org.jackhuang.hellominecraftlauncher.apis.PluginHandlerType
+
 
+
clientIdentifier - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
 
+
clientToken - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
 
+
clientToken() - 接口 中的方法org.jackhuang.hellominecraftlauncher.apis.IMinecraftEnvironment
+
+
获取Client Token
+
+
clientToken - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Settings
+
 
+
CLOSED_OPTION - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
用户操作为:关闭了消息框
+
+
COMPLETE - 类 中的静态变量org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
Compressor - org.jackhuang.hellominecraftlauncher.apis.utils中的类
+
+
文件压缩/解压类
+
+
Compressor() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.utils.Compressor
+
 
+
Configuration<T> - org.jackhuang.hellominecraftlauncher.apis中的类
+
+
此类用于保存配置
+
+
Configuration(String) - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.Configuration
+
+
构造函数
+
+
copyDirectiory(File, File) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
copyDirectiory(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
copyFile(File, File) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
copyFile(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
currentDir() - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-4.html b/HMCLAPI/javadoc/index-files/index-4.html new file mode 100644 index 000000000..2cc44f115 --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-4.html @@ -0,0 +1,153 @@ + + + + + + +D - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

D

+
+
DEFAULT_OPTION - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
按钮为:确定
+
+
deleteAll(File) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
delVersion(Version) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.settings.SettingsManager
+
 
+
DoneListener<V,V2> - org.jackhuang.hellominecraftlauncher.apis中的接口
+
+
许多类需要此listener作为事件触发器
+
+
doPost(String, String, String, int, int) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.download.DownloadUtils
+
 
+
doPost(String, String, byte[], int, int) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.download.DownloadUtils
+
 
+
DownloadAllThread - org.jackhuang.hellominecraftlauncher.download中的类
+
 
+
DownloadAllThread(DownloadListener) - 类 的构造器org.jackhuang.hellominecraftlauncher.download.DownloadAllThread
+
 
+
downloadHttps(String, String, DownloadListener) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.download.DownloadUtils
+
 
+
downloadHttpsNotAsync(String, String, DownloadListener, boolean) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.download.DownloadUtils
+
 
+
DOWNLOADING - 类 中的静态变量org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
DownloadListener - org.jackhuang.hellominecraftlauncher.download中的接口
+
 
+
DownloadType - org.jackhuang.hellominecraftlauncher.download中的枚举
+
 
+
DownloadUtils - org.jackhuang.hellominecraftlauncher.download中的类
+
 
+
DownloadUtils() - 类 的构造器org.jackhuang.hellominecraftlauncher.download.DownloadUtils
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-5.html b/HMCLAPI/javadoc/index-files/index-5.html new file mode 100644 index 000000000..3a6bbde2e --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-5.html @@ -0,0 +1,135 @@ + + + + + + +E - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

E

+
+
error - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
+
+
登陆失败信息
+
+
error(Object, Exception) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.LogUtils
+
 
+
ERROR - 类 中的静态变量org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
ERROR_MESSAGE - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
消息框类型为:错误
+
+
extractFileName(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
extractLastDirectory(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-6.html b/HMCLAPI/javadoc/index-files/index-6.html new file mode 100644 index 000000000..c19697d6a --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-6.html @@ -0,0 +1,147 @@ + + + + + + +F - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

F

+
+
failedToSel - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.Selector
+
+
取消会返回该。
+
+
findAllDir(File) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
findAllFile(File) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
findAllFileWithFullName(File) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
firstLoadLibraries - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
firstLoadLibrariesIsActive - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
FolderOpener - org.jackhuang.hellominecraftlauncher.apis.utils中的类
+
+
打开资源管理器
+
+
FolderOpener() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener
+
 
+
Forge - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.ModType
+
 
+
ForgeMod - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.ModType
+
 
+
formatted - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftLibrary
+
 
+
fullscreen - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-7.html b/HMCLAPI/javadoc/index-files/index-7.html new file mode 100644 index 000000000..6dc88980a --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-7.html @@ -0,0 +1,189 @@ + + + + + + +G - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

G

+
+
gameAssets - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
gameDir - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
gameLibraries - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
get() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.Configuration
+
+
获取到的设置对象
+
+
get(URL) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.download.URLGet
+
 
+
get(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.download.URLGet
+
 
+
getGameDir(Version) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
getJavaDir() - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
getList(DoneListener<String[], Void>) - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler
+
+
assets所有要下载的文件
+
+
getMinecraftEnvironment() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginLoadEvent
+
+
获取启动器储存的Minecraft环境
+
+
getMinecraftVersion(Version) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
getModType(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.ModType
+
 
+
getModType(File) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.ModType
+
 
+
getModTypeShowName(int) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.ModType
+
 
+
getName() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler
+
+
本assets下载接口的名称
+
+
getName() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
 
+
getPath(Version, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
getPluginRegister() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginLoadEvent
+
+
获取Handler注册类
+
+
getProgress() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
getProgress() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.HttpsDownloader
+
 
+
getResponseAsString(HttpURLConnection) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.download.DownloadUtils
+
 
+
getSize() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
getSize() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.HttpsDownloader
+
 
+
getSuggestedConfigurationFile() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginLoadEvent
+
+
获取插件被推荐的配置文件地址
+
+
getURL() - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
getUrl() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
getUrl() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.HttpsDownloader
+
 
+
getVersion() - 接口 中的方法org.jackhuang.hellominecraftlauncher.apis.IMinecraftEnvironment
+
 
+
getVersion(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.settings.SettingsManager
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-8.html b/HMCLAPI/javadoc/index-files/index-8.html new file mode 100644 index 000000000..43c2cd5fd --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-8.html @@ -0,0 +1,157 @@ + + + + + + +H - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

H

+
+
hash(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
height - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
HMCLPluginLoadEvent - org.jackhuang.hellominecraftlauncher.apis.events中的类
+
+
插件加载事件
+
+
HMCLPluginLoadEvent(IPluginRegister, IMinecraftEnvironment, String) - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginLoadEvent
+
 
+
HMCLPluginUnloadEvent - org.jackhuang.hellominecraftlauncher.apis.events中的类
+
+
插件卸载事件
+
+
HMCLPluginUnloadEvent() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginUnloadEvent
+
 
+
HMCLPluginVersionChangedEvent - org.jackhuang.hellominecraftlauncher.apis.events中的类
+
+
用户版本切换事件
+
+
HMCLPluginVersionChangedEvent() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginVersionChangedEvent
+
 
+
HttpDownloader - org.jackhuang.hellominecraftlauncher.download中的类
+
 
+
HttpDownloader(URL, String, DownloadListener) - 类 的构造器org.jackhuang.hellominecraftlauncher.download.HttpDownloader
+
 
+
HttpGet - org.jackhuang.hellominecraftlauncher.apis中的类
+
+
网络操作类
+
+
HttpGet() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.HttpGet
+
 
+
HttpsDownloader - org.jackhuang.hellominecraftlauncher.download中的类
+
 
+
HttpsDownloader(URL, String, DownloadListener, boolean) - 类 的构造器org.jackhuang.hellominecraftlauncher.download.HttpsDownloader
+
 
+
HttpsDownloader(String, String, DownloadListener, boolean) - 类 的构造器org.jackhuang.hellominecraftlauncher.download.HttpsDownloader
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index-files/index-9.html b/HMCLAPI/javadoc/index-files/index-9.html new file mode 100644 index 000000000..feab7489c --- /dev/null +++ b/HMCLAPI/javadoc/index-files/index-9.html @@ -0,0 +1,179 @@ + + + + + + +I - 索引 + + + + + + + +
+ + + + + +
+ + +
A B C D E F G H I J K L M N O P Q R S T U V W Y Z  + + +

I

+
+
IAssetsHandler - org.jackhuang.hellominecraftlauncher.apis.handlers中的类
+
+
Assets
+
+
IAssetsHandler() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler
+
 
+
id - 类 中的变量org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
+
 
+
IMinecraftEnvironment - org.jackhuang.hellominecraftlauncher.apis中的接口
+
+
获取一些Minecraft的环境信息
+
+
inactiveCoreMods - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
inactiveExtMods - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
info(Object) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.LogUtils
+
 
+
INFORMATION_MESSAGE - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
+
+
消息框类型为:消息
+
+
init() - 类 中的静态方法org.jackhuang.hellominecraftlauncher.settings.SettingsManager
+
 
+
Invaild - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
InvaildJar - 类 中的静态变量org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
+
 
+
IPlugin - org.jackhuang.hellominecraftlauncher.apis中的类
+
+
此类为插件主类必须实现的接口
+
+
IPlugin() - 类 的构造器org.jackhuang.hellominecraftlauncher.apis.IPlugin
+
 
+
IPluginHandler - org.jackhuang.hellominecraftlauncher.apis中的接口
+
+
插件Handler必须实现此接口
+
+
IPluginRegister - org.jackhuang.hellominecraftlauncher.apis中的接口
+
+
注册各种功能
+
+
is16Folder(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
isEmpty(String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
isEmpty() - 类 中的方法org.jackhuang.hellominecraftlauncher.download.DownloadAllThread
+
 
+
isEquals(String, String) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
isHidePasswordBox() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
 
+
isLoggedIn() - 类 中的方法org.jackhuang.hellominecraftlauncher.apis.handlers.Login
+
+
若返回非空,禁用密码框,用户名,使用旧有session登陆
+
+
isSeparator(char) - 类 中的静态方法org.jackhuang.hellominecraftlauncher.apis.utils.Utils
+
 
+
isVer16 - 类 中的变量org.jackhuang.hellominecraftlauncher.settings.Version
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W Y Z 
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/index.html b/HMCLAPI/javadoc/index.html new file mode 100644 index 000000000..f4cdeeab6 --- /dev/null +++ b/HMCLAPI/javadoc/index.html @@ -0,0 +1,34 @@ + + + + + + +生成的文档 (无标题) + + + + + + + + + +<noscript> +<div>您的浏览器已禁用 JavaScript。</div> +</noscript> +<h2>框架预警</h2> +<p>请使用框架功能查看此文档。如果看到此消息, 则表明您使用的是不支持框架的 Web 客户机。链接到<a href="overview-summary.html">非框架版本</a>。</p> + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Configuration.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Configuration.html new file mode 100644 index 000000000..4bc215d5f --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Configuration.html @@ -0,0 +1,323 @@ + + + + + + +Configuration + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

类 Configuration<T>

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/DoneListener.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/DoneListener.html new file mode 100644 index 000000000..cd92bfee2 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/DoneListener.html @@ -0,0 +1,212 @@ + + + + + + +DoneListener + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

接口 DoneListener<V,V2>

+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/HttpGet.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/HttpGet.html new file mode 100644 index 000000000..0c4adcf07 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/HttpGet.html @@ -0,0 +1,283 @@ + + + + + + +HttpGet + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

类 HttpGet

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IMinecraftEnvironment.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IMinecraftEnvironment.html new file mode 100644 index 000000000..49f24d98d --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IMinecraftEnvironment.html @@ -0,0 +1,225 @@ + + + + + + +IMinecraftEnvironment + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

接口 IMinecraftEnvironment

+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IPlugin.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IPlugin.html new file mode 100644 index 000000000..b1e32a664 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IPlugin.html @@ -0,0 +1,300 @@ + + + + + + +IPlugin + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

类 IPlugin

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IPluginHandler.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IPluginHandler.html new file mode 100644 index 000000000..c1801ee8c --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IPluginHandler.html @@ -0,0 +1,164 @@ + + + + + + +IPluginHandler + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

接口 IPluginHandler

+
+
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IPluginRegister.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IPluginRegister.html new file mode 100644 index 000000000..59c3723d8 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/IPluginRegister.html @@ -0,0 +1,210 @@ + + + + + + +IPluginRegister + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

接口 IPluginRegister

+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/LogUtils.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/LogUtils.html new file mode 100644 index 000000000..cad760b0c --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/LogUtils.html @@ -0,0 +1,312 @@ + + + + + + +LogUtils + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

类 LogUtils

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Pair.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Pair.html new file mode 100644 index 000000000..2157db72b --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Pair.html @@ -0,0 +1,282 @@ + + + + + + +Pair + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

类 Pair<K,V>

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Plugin.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Plugin.html new file mode 100644 index 000000000..447e81a19 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Plugin.html @@ -0,0 +1,296 @@ + + + + + + +Plugin + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

注释类型 Plugin

+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/PluginHandlerType.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/PluginHandlerType.html new file mode 100644 index 000000000..40038a246 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/PluginHandlerType.html @@ -0,0 +1,358 @@ + + + + + + +PluginHandlerType + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

枚举 PluginHandlerType

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Selector.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Selector.html new file mode 100644 index 000000000..d2ea60f27 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/Selector.html @@ -0,0 +1,438 @@ + + + + + + +Selector + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis
+

类 Selector

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Configuration.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Configuration.html new file mode 100644 index 000000000..c052e20de --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Configuration.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.Configuration的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.Configuration
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.Configuration的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/DoneListener.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/DoneListener.html new file mode 100644 index 000000000..2d1e959c1 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/DoneListener.html @@ -0,0 +1,190 @@ + + + + + + +接口 org.jackhuang.hellominecraftlauncher.apis.DoneListener的使用 + + + + + + + +
+ + + + + +
+ + +
+

接口 org.jackhuang.hellominecraftlauncher.apis.DoneListener
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/HttpGet.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/HttpGet.html new file mode 100644 index 000000000..bddeaca9e --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/HttpGet.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.HttpGet的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.HttpGet
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.HttpGet的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IMinecraftEnvironment.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IMinecraftEnvironment.html new file mode 100644 index 000000000..a63803efd --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IMinecraftEnvironment.html @@ -0,0 +1,171 @@ + + + + + + +接口 org.jackhuang.hellominecraftlauncher.apis.IMinecraftEnvironment的使用 + + + + + + + +
+ + + + + +
+ + +
+

接口 org.jackhuang.hellominecraftlauncher.apis.IMinecraftEnvironment
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IPlugin.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IPlugin.html new file mode 100644 index 000000000..b6f50d76a --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IPlugin.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.IPlugin的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.IPlugin
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.IPlugin的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IPluginHandler.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IPluginHandler.html new file mode 100644 index 000000000..690efe234 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IPluginHandler.html @@ -0,0 +1,200 @@ + + + + + + +接口 org.jackhuang.hellominecraftlauncher.apis.IPluginHandler的使用 + + + + + + + +
+ + + + + +
+ + +
+

接口 org.jackhuang.hellominecraftlauncher.apis.IPluginHandler
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IPluginRegister.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IPluginRegister.html new file mode 100644 index 000000000..efcbeacd2 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/IPluginRegister.html @@ -0,0 +1,171 @@ + + + + + + +接口 org.jackhuang.hellominecraftlauncher.apis.IPluginRegister的使用 + + + + + + + +
+ + + + + +
+ + +
+

接口 org.jackhuang.hellominecraftlauncher.apis.IPluginRegister
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/LogUtils.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/LogUtils.html new file mode 100644 index 000000000..e07bc1327 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/LogUtils.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.LogUtils的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.LogUtils
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.LogUtils的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Pair.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Pair.html new file mode 100644 index 000000000..1406c4bab --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Pair.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.Pair的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.Pair
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.Pair的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Plugin.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Plugin.html new file mode 100644 index 000000000..f0f4dfe85 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Plugin.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.Plugin的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.Plugin
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.Plugin的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/PluginHandlerType.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/PluginHandlerType.html new file mode 100644 index 000000000..80c62f67f --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/PluginHandlerType.html @@ -0,0 +1,179 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.PluginHandlerType的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.PluginHandlerType
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Selector.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Selector.html new file mode 100644 index 000000000..869c35d42 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/class-use/Selector.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.Selector的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.Selector
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.Selector的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginLoadEvent.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginLoadEvent.html new file mode 100644 index 000000000..8070030aa --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginLoadEvent.html @@ -0,0 +1,300 @@ + + + + + + +HMCLPluginLoadEvent + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.events
+

类 HMCLPluginLoadEvent

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginUnloadEvent.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginUnloadEvent.html new file mode 100644 index 000000000..0bdcd6e56 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginUnloadEvent.html @@ -0,0 +1,230 @@ + + + + + + +HMCLPluginUnloadEvent + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.events
+

类 HMCLPluginUnloadEvent

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginVersionChangedEvent.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginVersionChangedEvent.html new file mode 100644 index 000000000..18de103b7 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginVersionChangedEvent.html @@ -0,0 +1,230 @@ + + + + + + +HMCLPluginVersionChangedEvent + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.events
+

类 HMCLPluginVersionChangedEvent

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/class-use/HMCLPluginLoadEvent.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/class-use/HMCLPluginLoadEvent.html new file mode 100644 index 000000000..681be8ac0 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/class-use/HMCLPluginLoadEvent.html @@ -0,0 +1,159 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginLoadEvent的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginLoadEvent
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/class-use/HMCLPluginUnloadEvent.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/class-use/HMCLPluginUnloadEvent.html new file mode 100644 index 000000000..8f13ef519 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/class-use/HMCLPluginUnloadEvent.html @@ -0,0 +1,159 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginUnloadEvent的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginUnloadEvent
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/class-use/HMCLPluginVersionChangedEvent.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/class-use/HMCLPluginVersionChangedEvent.html new file mode 100644 index 000000000..49c6c5dd7 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/class-use/HMCLPluginVersionChangedEvent.html @@ -0,0 +1,158 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginVersionChangedEvent的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginVersionChangedEvent
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-frame.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-frame.html new file mode 100644 index 000000000..77c902124 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-frame.html @@ -0,0 +1,22 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.events + + + + +

org.jackhuang.hellominecraftlauncher.apis.events

+
+

+ +
+ + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-summary.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-summary.html new file mode 100644 index 000000000..098fe5349 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-summary.html @@ -0,0 +1,148 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.events + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis.events

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-tree.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-tree.html new file mode 100644 index 000000000..21d90a12f --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-tree.html @@ -0,0 +1,131 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.events 类分层结构 + + + + + + + +
+ + + + + +
+ + +
+

程序包org.jackhuang.hellominecraftlauncher.apis.events的分层结构

+程序包分层结构: + +
+
+

类分层结构

+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-use.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-use.html new file mode 100644 index 000000000..34d85fd3e --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/events/package-use.html @@ -0,0 +1,161 @@ + + + + + + +程序包 org.jackhuang.hellominecraftlauncher.apis.events的使用 + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis.events
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/IAssetsHandler.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/IAssetsHandler.html new file mode 100644 index 000000000..03b1e714f --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/IAssetsHandler.html @@ -0,0 +1,373 @@ + + + + + + +IAssetsHandler + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.handlers
+

类 IAssetsHandler

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/Login.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/Login.html new file mode 100644 index 000000000..8bc5927e3 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/Login.html @@ -0,0 +1,418 @@ + + + + + + +Login + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.handlers
+

类 Login

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginInfo.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginInfo.html new file mode 100644 index 000000000..6b65c8a93 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginInfo.html @@ -0,0 +1,280 @@ + + + + + + +LoginInfo + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.handlers
+

类 LoginInfo

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginResult.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginResult.html new file mode 100644 index 000000000..a64823a1d --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginResult.html @@ -0,0 +1,408 @@ + + + + + + +LoginResult + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.handlers
+

类 LoginResult

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/IAssetsHandler.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/IAssetsHandler.html new file mode 100644 index 000000000..bd29776ee --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/IAssetsHandler.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.handlers.IAssetsHandler的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/Login.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/Login.html new file mode 100644 index 000000000..bbe5db383 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/Login.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.handlers.Login的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.handlers.Login
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.handlers.Login的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/LoginInfo.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/LoginInfo.html new file mode 100644 index 000000000..c2f7f4722 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/LoginInfo.html @@ -0,0 +1,158 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.handlers.LoginInfo的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.handlers.LoginInfo
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/LoginResult.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/LoginResult.html new file mode 100644 index 000000000..03e6f38ba --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/class-use/LoginResult.html @@ -0,0 +1,162 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.handlers.LoginResult
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-frame.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-frame.html new file mode 100644 index 000000000..f4313b369 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-frame.html @@ -0,0 +1,23 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.handlers + + + + +

org.jackhuang.hellominecraftlauncher.apis.handlers

+
+

+ +
+ + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-summary.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-summary.html new file mode 100644 index 000000000..f25360f6a --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-summary.html @@ -0,0 +1,150 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.handlers + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis.handlers

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-tree.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-tree.html new file mode 100644 index 000000000..6d93ef5ef --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-tree.html @@ -0,0 +1,132 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.handlers 类分层结构 + + + + + + + +
+ + + + + +
+ + +
+

程序包org.jackhuang.hellominecraftlauncher.apis.handlers的分层结构

+程序包分层结构: + +
+
+

类分层结构

+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-use.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-use.html new file mode 100644 index 000000000..a7e7aa88d --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/handlers/package-use.html @@ -0,0 +1,152 @@ + + + + + + +程序包 org.jackhuang.hellominecraftlauncher.apis.handlers的使用 + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis.handlers
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-frame.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-frame.html new file mode 100644 index 000000000..7157b1500 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-frame.html @@ -0,0 +1,40 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis + + + + +

org.jackhuang.hellominecraftlauncher.apis

+
+

接口

+ +

+ +

枚举

+ +

注释类型

+ +
+ + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-summary.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-summary.html new file mode 100644 index 000000000..17c589b26 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-summary.html @@ -0,0 +1,233 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-tree.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-tree.html new file mode 100644 index 000000000..0fa4ee593 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-tree.html @@ -0,0 +1,177 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis 类分层结构 + + + + + + + +
+ + + + + +
+ + +
+

程序包org.jackhuang.hellominecraftlauncher.apis的分层结构

+程序包分层结构: + +
+
+

类分层结构

+ +

接口分层结构

+ +

注释类型分层结构

+ +

枚举分层结构

+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-use.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-use.html new file mode 100644 index 000000000..2c3fb965f --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/package-use.html @@ -0,0 +1,229 @@ + + + + + + +程序包 org.jackhuang.hellominecraftlauncher.apis的使用 + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/Compressor.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/Compressor.html new file mode 100644 index 000000000..a3a036198 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/Compressor.html @@ -0,0 +1,302 @@ + + + + + + +Compressor + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.utils
+

类 Compressor

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/FolderOpener.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/FolderOpener.html new file mode 100644 index 000000000..690c9005b --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/FolderOpener.html @@ -0,0 +1,336 @@ + + + + + + +FolderOpener + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.utils
+

类 FolderOpener

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/MessageBox.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/MessageBox.html new file mode 100644 index 000000000..14a4b348e --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/MessageBox.html @@ -0,0 +1,566 @@ + + + + + + +MessageBox + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.utils
+

类 MessageBox

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/MinecraftVersionRequest.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/MinecraftVersionRequest.html new file mode 100644 index 000000000..1847970f8 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/MinecraftVersionRequest.html @@ -0,0 +1,391 @@ + + + + + + +MinecraftVersionRequest + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.utils
+

类 MinecraftVersionRequest

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/ModType.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/ModType.html new file mode 100644 index 000000000..2e62f7750 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/ModType.html @@ -0,0 +1,377 @@ + + + + + + +ModType + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.utils
+

类 ModType

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/OperatingSystems.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/OperatingSystems.html new file mode 100644 index 000000000..c02942cf2 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/OperatingSystems.html @@ -0,0 +1,352 @@ + + + + + + +OperatingSystems + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.utils
+

枚举 OperatingSystems

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/Utils.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/Utils.html new file mode 100644 index 000000000..fcd4de5da --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/Utils.html @@ -0,0 +1,812 @@ + + + + + + +Utils + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.utils
+

类 Utils

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/Compressor.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/Compressor.html new file mode 100644 index 000000000..903343206 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/Compressor.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.utils.Compressor的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.utils.Compressor
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.utils.Compressor的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/FolderOpener.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/FolderOpener.html new file mode 100644 index 000000000..3c61d117e --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/FolderOpener.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.utils.FolderOpener的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/MessageBox.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/MessageBox.html new file mode 100644 index 000000000..96db52f18 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/MessageBox.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.utils.MessageBox的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/MinecraftVersionRequest.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/MinecraftVersionRequest.html new file mode 100644 index 000000000..9c574a83e --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/MinecraftVersionRequest.html @@ -0,0 +1,156 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/ModType.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/ModType.html new file mode 100644 index 000000000..ce286df2a --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/ModType.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.utils.ModType的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.utils.ModType
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.utils.ModType的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/OperatingSystems.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/OperatingSystems.html new file mode 100644 index 000000000..1c44f20a7 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/OperatingSystems.html @@ -0,0 +1,169 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.utils.OperatingSystems的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.utils.OperatingSystems
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/Utils.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/Utils.html new file mode 100644 index 000000000..4a6ef3406 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/class-use/Utils.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.utils.Utils的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.utils.Utils
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.apis.utils.Utils的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-frame.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-frame.html new file mode 100644 index 000000000..2fdae47ff --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-frame.html @@ -0,0 +1,29 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.utils + + + + +

org.jackhuang.hellominecraftlauncher.apis.utils

+
+

+ +

枚举

+ +
+ + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-summary.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-summary.html new file mode 100644 index 000000000..3fa8f68be --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-summary.html @@ -0,0 +1,183 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.utils + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis.utils

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-tree.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-tree.html new file mode 100644 index 000000000..94e3b945c --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-tree.html @@ -0,0 +1,146 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.utils 类分层结构 + + + + + + + +
+ + + + + +
+ + +
+

程序包org.jackhuang.hellominecraftlauncher.apis.utils的分层结构

+程序包分层结构: + +
+
+

类分层结构

+ +

枚举分层结构

+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-use.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-use.html new file mode 100644 index 000000000..cd9178720 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/utils/package-use.html @@ -0,0 +1,156 @@ + + + + + + +程序包 org.jackhuang.hellominecraftlauncher.apis.utils的使用 + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis.utils
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftLibrary.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftLibrary.html new file mode 100644 index 000000000..05bcb3814 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftLibrary.html @@ -0,0 +1,349 @@ + + + + + + +MinecraftLibrary + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.version
+

类 MinecraftLibrary

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftVersion.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftVersion.html new file mode 100644 index 000000000..610a87cb3 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftVersion.html @@ -0,0 +1,382 @@ + + + + + + +MinecraftVersion + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.version
+

类 MinecraftVersion

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/Natives.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/Natives.html new file mode 100644 index 000000000..95c9d9e65 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/Natives.html @@ -0,0 +1,291 @@ + + + + + + +Natives + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.version
+

类 Natives

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/OS.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/OS.html new file mode 100644 index 000000000..f5a7375b4 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/OS.html @@ -0,0 +1,278 @@ + + + + + + +OS + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.version
+

类 OS

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/Rules.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/Rules.html new file mode 100644 index 000000000..7f484d138 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/Rules.html @@ -0,0 +1,278 @@ + + + + + + +Rules + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.apis.version
+

类 Rules

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/MinecraftLibrary.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/MinecraftLibrary.html new file mode 100644 index 000000000..b66149d8c --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/MinecraftLibrary.html @@ -0,0 +1,156 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.version.MinecraftLibrary的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.version.MinecraftLibrary
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/MinecraftVersion.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/MinecraftVersion.html new file mode 100644 index 000000000..969c5b2e1 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/MinecraftVersion.html @@ -0,0 +1,156 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/Natives.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/Natives.html new file mode 100644 index 000000000..094c40423 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/Natives.html @@ -0,0 +1,156 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.version.Natives的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.version.Natives
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/OS.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/OS.html new file mode 100644 index 000000000..7e1b9ec9b --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/OS.html @@ -0,0 +1,156 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.version.OS的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.version.OS
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/Rules.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/Rules.html new file mode 100644 index 000000000..106e83ef4 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/class-use/Rules.html @@ -0,0 +1,156 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.apis.version.Rules的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.apis.version.Rules
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-frame.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-frame.html new file mode 100644 index 000000000..47d608438 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-frame.html @@ -0,0 +1,24 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.version + + + + +

org.jackhuang.hellominecraftlauncher.apis.version

+
+

+ +
+ + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-summary.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-summary.html new file mode 100644 index 000000000..7edc91349 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-summary.html @@ -0,0 +1,150 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.version + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis.version

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-tree.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-tree.html new file mode 100644 index 000000000..a28307663 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-tree.html @@ -0,0 +1,133 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.apis.version 类分层结构 + + + + + + + +
+ + + + + +
+ + +
+

程序包org.jackhuang.hellominecraftlauncher.apis.version的分层结构

+程序包分层结构: + +
+
+

类分层结构

+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-use.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-use.html new file mode 100644 index 000000000..1d10da52c --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/apis/version/package-use.html @@ -0,0 +1,177 @@ + + + + + + +程序包 org.jackhuang.hellominecraftlauncher.apis.version的使用 + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.apis.version
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadAllThread.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadAllThread.html new file mode 100644 index 000000000..d23a852b5 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadAllThread.html @@ -0,0 +1,352 @@ + + + + + + +DownloadAllThread + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.download
+

类 DownloadAllThread

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadListener.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadListener.html new file mode 100644 index 000000000..47c276697 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadListener.html @@ -0,0 +1,235 @@ + + + + + + +DownloadListener + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.download
+

接口 DownloadListener

+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadType.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadType.html new file mode 100644 index 000000000..997aa5cf6 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadType.html @@ -0,0 +1,315 @@ + + + + + + +DownloadType + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.download
+

枚举 DownloadType

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadUtils.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadUtils.html new file mode 100644 index 000000000..fb87d10bc --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/DownloadUtils.html @@ -0,0 +1,382 @@ + + + + + + +DownloadUtils + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.download
+

类 DownloadUtils

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/HttpDownloader.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/HttpDownloader.html new file mode 100644 index 000000000..6e254fac7 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/HttpDownloader.html @@ -0,0 +1,415 @@ + + + + + + +HttpDownloader + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.download
+

类 HttpDownloader

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/HttpsDownloader.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/HttpsDownloader.html new file mode 100644 index 000000000..9f0103d7a --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/HttpsDownloader.html @@ -0,0 +1,332 @@ + + + + + + +HttpsDownloader + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.download
+

类 HttpsDownloader

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/URLGet.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/URLGet.html new file mode 100644 index 000000000..1a10818ba --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/URLGet.html @@ -0,0 +1,270 @@ + + + + + + +URLGet + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.download
+

类 URLGet

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/URLGetThread.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/URLGetThread.html new file mode 100644 index 000000000..a00151461 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/URLGetThread.html @@ -0,0 +1,322 @@ + + + + + + +URLGetThread + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.download
+

类 URLGetThread

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadAllThread.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadAllThread.html new file mode 100644 index 000000000..5ec919858 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadAllThread.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.download.DownloadAllThread的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.download.DownloadAllThread
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.download.DownloadAllThread的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadListener.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadListener.html new file mode 100644 index 000000000..0f3a2b3ee --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadListener.html @@ -0,0 +1,193 @@ + + + + + + +接口 org.jackhuang.hellominecraftlauncher.download.DownloadListener的使用 + + + + + + + +
+ + + + + +
+ + +
+

接口 org.jackhuang.hellominecraftlauncher.download.DownloadListener
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadType.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadType.html new file mode 100644 index 000000000..ca9b477cd --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadType.html @@ -0,0 +1,165 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.download.DownloadType的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.download.DownloadType
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadUtils.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadUtils.html new file mode 100644 index 000000000..4f50504ef --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/DownloadUtils.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.download.DownloadUtils的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.download.DownloadUtils
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.download.DownloadUtils的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/HttpDownloader.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/HttpDownloader.html new file mode 100644 index 000000000..11eefe760 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/HttpDownloader.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.download.HttpDownloader的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.download.HttpDownloader
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.download.HttpDownloader的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/HttpsDownloader.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/HttpsDownloader.html new file mode 100644 index 000000000..37721ec52 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/HttpsDownloader.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.download.HttpsDownloader的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.download.HttpsDownloader
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.download.HttpsDownloader的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/URLGet.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/URLGet.html new file mode 100644 index 000000000..cf627a2ae --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/URLGet.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.download.URLGet的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.download.URLGet
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.download.URLGet的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/URLGetThread.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/URLGetThread.html new file mode 100644 index 000000000..7eb5c7a5e --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/class-use/URLGetThread.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.download.URLGetThread的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.download.URLGetThread
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.download.URLGetThread的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-frame.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-frame.html new file mode 100644 index 000000000..f7bac0c44 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-frame.html @@ -0,0 +1,33 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.download + + + + +

org.jackhuang.hellominecraftlauncher.download

+
+

接口

+ +

+ +

枚举

+ +
+ + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-summary.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-summary.html new file mode 100644 index 000000000..3509bf6ee --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-summary.html @@ -0,0 +1,184 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.download + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.download

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-tree.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-tree.html new file mode 100644 index 000000000..b65044fe2 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-tree.html @@ -0,0 +1,154 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.download 类分层结构 + + + + + + + +
+ + + + + +
+ + +
+

程序包org.jackhuang.hellominecraftlauncher.download的分层结构

+程序包分层结构: + +
+
+

类分层结构

+ +

接口分层结构

+ +

枚举分层结构

+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-use.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-use.html new file mode 100644 index 000000000..bbf87c2d4 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/download/package-use.html @@ -0,0 +1,152 @@ + + + + + + +程序包 org.jackhuang.hellominecraftlauncher.download的使用 + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.download
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/Settings.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/Settings.html new file mode 100644 index 000000000..e87e245e9 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/Settings.html @@ -0,0 +1,408 @@ + + + + + + +Settings + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.settings
+

类 Settings

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/SettingsManager.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/SettingsManager.html new file mode 100644 index 000000000..93da7ce63 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/SettingsManager.html @@ -0,0 +1,358 @@ + + + + + + +SettingsManager + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.settings
+

类 SettingsManager

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/Version.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/Version.html new file mode 100644 index 000000000..c1cf1aadb --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/Version.html @@ -0,0 +1,563 @@ + + + + + + +Version + + + + + + + +
+ + + + + +
+ + + +
+
org.jackhuang.hellominecraftlauncher.settings
+

类 Version

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/class-use/Settings.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/class-use/Settings.html new file mode 100644 index 000000000..3b744e218 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/class-use/Settings.html @@ -0,0 +1,156 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.settings.Settings的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.settings.Settings
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/class-use/SettingsManager.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/class-use/SettingsManager.html new file mode 100644 index 000000000..e018b95f9 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/class-use/SettingsManager.html @@ -0,0 +1,116 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.settings.SettingsManager的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.settings.SettingsManager
的使用

+
+
没有org.jackhuang.hellominecraftlauncher.settings.SettingsManager的用法
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/class-use/Version.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/class-use/Version.html new file mode 100644 index 000000000..da3f2d062 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/class-use/Version.html @@ -0,0 +1,284 @@ + + + + + + +类 org.jackhuang.hellominecraftlauncher.settings.Version的使用 + + + + + + + +
+ + + + + +
+ + +
+

类 org.jackhuang.hellominecraftlauncher.settings.Version
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-frame.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-frame.html new file mode 100644 index 000000000..4b6f51ead --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-frame.html @@ -0,0 +1,22 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.settings + + + + +

org.jackhuang.hellominecraftlauncher.settings

+
+

+ +
+ + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-summary.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-summary.html new file mode 100644 index 000000000..87bf2c485 --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-summary.html @@ -0,0 +1,142 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.settings + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.settings

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-tree.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-tree.html new file mode 100644 index 000000000..a5622a8db --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-tree.html @@ -0,0 +1,131 @@ + + + + + + +org.jackhuang.hellominecraftlauncher.settings 类分层结构 + + + + + + + +
+ + + + + +
+ + +
+

程序包org.jackhuang.hellominecraftlauncher.settings的分层结构

+程序包分层结构: + +
+
+

类分层结构

+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-use.html b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-use.html new file mode 100644 index 000000000..a438e5f5a --- /dev/null +++ b/HMCLAPI/javadoc/org/jackhuang/hellominecraftlauncher/settings/package-use.html @@ -0,0 +1,190 @@ + + + + + + +程序包 org.jackhuang.hellominecraftlauncher.settings的使用 + + + + + + + +
+ + + + + +
+ + +
+

程序包 org.jackhuang.hellominecraftlauncher.settings
的使用

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/overview-frame.html b/HMCLAPI/javadoc/overview-frame.html new file mode 100644 index 000000000..1ce79b88b --- /dev/null +++ b/HMCLAPI/javadoc/overview-frame.html @@ -0,0 +1,27 @@ + + + + + + +概览列表 + + + + +
所有类
+
+

程序包

+ +
+

 

+ + diff --git a/HMCLAPI/javadoc/overview-summary.html b/HMCLAPI/javadoc/overview-summary.html new file mode 100644 index 000000000..03c1a3400 --- /dev/null +++ b/HMCLAPI/javadoc/overview-summary.html @@ -0,0 +1,151 @@ + + + + + + +概览 + + + + + + + +
+ + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
程序包 
程序包说明
org.jackhuang.hellominecraftlauncher.apis 
org.jackhuang.hellominecraftlauncher.apis.events 
org.jackhuang.hellominecraftlauncher.apis.handlers 
org.jackhuang.hellominecraftlauncher.apis.utils 
org.jackhuang.hellominecraftlauncher.apis.version 
org.jackhuang.hellominecraftlauncher.download 
org.jackhuang.hellominecraftlauncher.settings 
+
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/overview-tree.html b/HMCLAPI/javadoc/overview-tree.html new file mode 100644 index 000000000..53dee8c46 --- /dev/null +++ b/HMCLAPI/javadoc/overview-tree.html @@ -0,0 +1,217 @@ + + + + + + +类分层结构 + + + + + + + +
+ + + + + +
+ + +
+

所有程序包的分层结构

+程序包分层结构: + +
+
+

类分层结构

+ +

接口分层结构

+ +

注释类型分层结构

+ +

枚举分层结构

+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/package-list b/HMCLAPI/javadoc/package-list new file mode 100644 index 000000000..db52f1718 --- /dev/null +++ b/HMCLAPI/javadoc/package-list @@ -0,0 +1,7 @@ +org.jackhuang.hellominecraftlauncher.apis +org.jackhuang.hellominecraftlauncher.apis.events +org.jackhuang.hellominecraftlauncher.apis.handlers +org.jackhuang.hellominecraftlauncher.apis.utils +org.jackhuang.hellominecraftlauncher.apis.version +org.jackhuang.hellominecraftlauncher.download +org.jackhuang.hellominecraftlauncher.settings diff --git a/HMCLAPI/javadoc/resources/background.gif b/HMCLAPI/javadoc/resources/background.gif new file mode 100644 index 000000000..f471940fd Binary files /dev/null and b/HMCLAPI/javadoc/resources/background.gif differ diff --git a/HMCLAPI/javadoc/resources/tab.gif b/HMCLAPI/javadoc/resources/tab.gif new file mode 100644 index 000000000..1a73a83be Binary files /dev/null and b/HMCLAPI/javadoc/resources/tab.gif differ diff --git a/HMCLAPI/javadoc/resources/titlebar.gif b/HMCLAPI/javadoc/resources/titlebar.gif new file mode 100644 index 000000000..17443b3e1 Binary files /dev/null and b/HMCLAPI/javadoc/resources/titlebar.gif differ diff --git a/HMCLAPI/javadoc/resources/titlebar_end.gif b/HMCLAPI/javadoc/resources/titlebar_end.gif new file mode 100644 index 000000000..3ad78d461 Binary files /dev/null and b/HMCLAPI/javadoc/resources/titlebar_end.gif differ diff --git a/HMCLAPI/javadoc/serialized-form.html b/HMCLAPI/javadoc/serialized-form.html new file mode 100644 index 000000000..76a18a5e7 --- /dev/null +++ b/HMCLAPI/javadoc/serialized-form.html @@ -0,0 +1,167 @@ + + + + + + +序列化表格 + + + + + + + +
+ + + + + +
+ + +
+

序列化表格

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/HMCLAPI/javadoc/stylesheet.css b/HMCLAPI/javadoc/stylesheet.css new file mode 100644 index 000000000..0aeaa97fe --- /dev/null +++ b/HMCLAPI/javadoc/stylesheet.css @@ -0,0 +1,474 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ +body { + background-color:#ffffff; + color:#353833; + font-family:Arial, Helvetica, sans-serif; + font-size:76%; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4c6b87; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4c6b87; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-size:1.3em; +} +h1 { + font-size:1.8em; +} +h2 { + font-size:1.5em; +} +h3 { + font-size:1.4em; +} +h4 { + font-size:1.3em; +} +h5 { + font-size:1.2em; +} +h6 { + font-size:1.1em; +} +ul { + list-style-type:disc; +} +code, tt { + font-size:1.2em; +} +dt code { + font-size:1.2em; +} +table tr td dt code { + font-size:1.2em; + vertical-align:top; +} +sup { + font-size:.6em; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:.8em; + z-index:200; + margin-top:-7px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + background-image:url(resources/titlebar.gif); + background-position:left top; + background-repeat:no-repeat; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:1em; + margin:0; +} +.topNav { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.bottomNav { + margin-top:10px; + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.subNav { + background-color:#dee3e9; + border-bottom:1px solid #9eadc0; + float:left; + width:100%; + overflow:hidden; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding:3px 6px; +} +ul.subNavList li{ + list-style:none; + float:left; + font-size:90%; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; +} +.navBarCell1Rev { + background-image:url(resources/tab.gif); + background-color:#a88834; + color:#FFFFFF; + margin: auto 5px; + border:1px solid #c9aa44; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader h1 { + font-size:1.3em; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 25px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:1.2em; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:1.0em; +} +.indexContainer h2 { + font-size:1.1em; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:1.1em; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:10px 0 10px 20px; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:25px; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #9eadc0; + background-color:#f9f9f9; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:1px solid #9eadc0; + border-top:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; + border-bottom:1px solid #9eadc0; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.contentContainer table, .classUseContainer table, .constantValuesContainer table { + border-bottom:1px solid #9eadc0; + width:100%; +} +.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table { + width:100%; +} +.contentContainer .description table, .contentContainer .details table { + border-bottom:none; +} +.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{ + vertical-align:top; + padding-right:20px; +} +.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast, +.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast, +.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne, +.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne { + padding-right:3px; +} +.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#FFFFFF; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + margin:0px; +} +caption a:link, caption a:hover, caption a:active, caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span { + white-space:nowrap; + padding-top:8px; + padding-left:8px; + display:block; + float:left; + background-image:url(resources/titlebar.gif); + height:18px; +} +.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd { + width:10px; + background-image:url(resources/titlebar_end.gif); + background-repeat:no-repeat; + background-position:top right; + position:relative; + float:left; +} +ul.blockList ul.blockList li.blockList table { + margin:0 0 12px 0px; + width:100%; +} +.tableSubHeadingColor { + background-color: #EEEEFF; +} +.altColor { + background-color:#eeeeef; +} +.rowColor { + background-color:#ffffff; +} +.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td { + text-align:left; + padding:3px 3px 3px 7px; +} +th.colFirst, th.colLast, th.colOne, .constantValuesContainer th { + background:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + text-align:left; + padding:3px 3px 3px 7px; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +td.colFirst, th.colFirst { + border-left:1px solid #9eadc0; + white-space:nowrap; +} +td.colLast, th.colLast { + border-right:1px solid #9eadc0; +} +td.colOne, th.colOne { + border-right:1px solid #9eadc0; + border-left:1px solid #9eadc0; +} +table.overviewSummary { + padding:0px; + margin-left:0px; +} +table.overviewSummary td.colFirst, table.overviewSummary th.colFirst, +table.overviewSummary td.colOne, table.overviewSummary th.colOne { + width:25%; + vertical-align:middle; +} +table.packageSummary td.colFirst, table.overviewSummary th.colFirst { + width:25%; + vertical-align:middle; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:.9em; +} +.block { + display:block; + margin:3px 0 0 0; +} +.strong { + font-weight:bold; +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/ApplicationManager.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/ApplicationManager.java new file mode 100644 index 000000000..b0fbac2e6 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/ApplicationManager.java @@ -0,0 +1,32 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis; + +import java.lang.reflect.Method; + +/** + * + * @author hyh + */ +public class ApplicationManager { + + public static String getTitle() { + try { + Class MainClass = Class.forName("org.jackhuang.hellominecraftlauncher.Main"); + try { + Method makeTitle = MainClass.getMethod("makeTitle", new Class[] {}); + return (String) makeTitle.invoke(MainClass, new Object[]{}); + } catch(Exception e) { + HMCLLog.warn("Cannot get title for plugins because method 'makeTitle' has thrown some exceptions.", e); + } + } catch(Exception e) { + HMCLLog.warn("Cannot get title for plugins because class 'Main' cannot be found.", e); + } + return "Hello Minecraft! Launcher"; + } + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/C.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/C.java new file mode 100644 index 000000000..854624265 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/C.java @@ -0,0 +1,37 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +import java.util.ResourceBundle; + +/** + * + * @author hyh + */ +public final class C { + + public static final ResourceBundle I18N = ResourceBundle.getBundle("org/jackhuang/hellominecraftlauncher/I18N"); + + public static final String[] URL_LIBRARIES = new String[]{"https://libraries.minecraft.net/", "http://bmclapi.bangbang93.com/libraries/"}; + public static final String[] URL_VERSIONS = new String[]{"https://s3.amazonaws.com/Minecraft.Download/versions/", "http://bmclapi.bangbang93.com/versions/"}; + public static final String[] URL_INDEXES = new String[]{"https://s3.amazonaws.com/Minecraft.Download/indexes/", "http://bmclapi.bangbang93.com/indexes/"}; + public static final String[] URL_VERSIONLIST = new String[]{"https://s3.amazonaws.com/Minecraft.Download/versions/versions.json", "http://bmclapi.bangbang93.com/versions/versions.json"}; + public static final String[] URL_OPTIFINE = new String[]{"http://optifine.net/downloads.php", "http://bmclapi.bangbang93.com/optifine/versionlist"}; + public static final String URL_FORGE_BMCL_LEGACY = "http://bmclapi.bangbang93.com/forge/legacylist"; + public static final String URL_FORGE_BMCL_NEW = "http://bmclapi.bangbang93.com/forge/versionlist"; + public static final String URL_INTEGRATE = "http://hmcl.googlecode.com/svn/trunk/integrate-packages/"; + + public static final String FILE_PLUGINS = "plugins"; + public static final String URL_PUBLISH = "http://www.mcbbs.net/thread-142335-1-1.html"; + + public static final String URL_ASSETS_MOJANG = "http://resources.download.minecraft.net/"; + public static final String URL_ASSETS_BMCL = "http://bmclapi.bangbang93.com/assets/"; + public static final String URL_OLD_ASSETS_BMCL = "http://www.bangbang93.com/bmcl/resources/"; + + public static final String FILE_MINECRAFT_VERSIONS = "versions"; + + private C(){} + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Configuration.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Configuration.java new file mode 100644 index 000000000..e72528c22 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Configuration.java @@ -0,0 +1,70 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +import com.google.gson.Gson; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; + +/** + * 此类用于保存配置 + * @author hyh + */ +public class Configuration { + + /** + * 构造函数 + * @param file 配置文件地址 + */ + public Configuration(String file) { + this.file = new File(file); + } + T data; + File file; + Gson gson = new Gson(); + + /** + * 获取到的设置对象 + * @return 设置对象 + */ + public T get() { + return data; + } + + /** + * 设置设置对象 + * @param data 设置对象 + */ + public void set(T data) { + this.data = data; + } + + /** + * 从提供的配置文件读取配置 + * @param c T的class + * @throws FileNotFoundException + */ + public void load(Class c) { + try { + data = gson.fromJson(new FileReader(file), c); + } catch (FileNotFoundException ex) { + data = null; + } + } + + /** + * 用Json的形式保存存储在configuration里的data + * @throws IOException + */ + public void save() throws IOException { + file.getParentFile().mkdirs(); + FileWriter fw = new FileWriter(file); + fw.write(gson.toJson(data)); + fw.close(); + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DoingLongTaskDialog.form b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DoingLongTaskDialog.form new file mode 100644 index 000000000..b0f2d919a --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DoingLongTaskDialog.form @@ -0,0 +1,67 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DoingLongTaskDialog.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DoingLongTaskDialog.java new file mode 100644 index 000000000..8d522f218 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DoingLongTaskDialog.java @@ -0,0 +1,109 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +import java.awt.Dimension; +import java.awt.Toolkit; + +/** + * + * @author hyh + */ +public class DoingLongTaskDialog extends javax.swing.JDialog { + + DoneListener dl, stopped; + + + + /** + * Creates new form DoingLongTaskDialog + */ + public DoingLongTaskDialog(java.awt.Frame parent, boolean modal, + final DoneListener dl, final DoneListener stopped) { + super(parent, modal); + initComponents(); + + Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize(); + setLocation((scrSize.width - this.getWidth()) / 2, + (scrSize.height - this.getHeight()) / 2); + + this.dl = dl; + this.stopped = stopped; + t = new Thread() { + + @Override + public void run() { + dl.onDone(null, null); + DoingLongTaskDialog.this.dispose(); + } + + }; + t.start(); + } + + Thread t; + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jProgressBar1 = new javax.swing.JProgressBar(); + btnStop = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("正在执行长时间任务"); + + jProgressBar1.setIndeterminate(true); + + btnStop.setText("终止"); + btnStop.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnStopActionPerformed(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 311, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(btnStop))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(btnStop) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + pack(); + }// //GEN-END:initComponents + + private void btnStopActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnStopActionPerformed + t.interrupt(); + if(stopped != null) + stopped.onDone(null, null); + this.dispose(); + }//GEN-LAST:event_btnStopActionPerformed + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnStop; + private javax.swing.JProgressBar jProgressBar1; + // End of variables declaration//GEN-END:variables +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DoneListener.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DoneListener.java new file mode 100644 index 000000000..7e4f1d7f5 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DoneListener.java @@ -0,0 +1,13 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +/** + * 许多类需要此listener作为事件触发器 + * @author hyh + */ +public interface DoneListener { + void onDone(V value, V2 value2); +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DownloadWindow.form b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DownloadWindow.form new file mode 100644 index 000000000..245926796 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DownloadWindow.form @@ -0,0 +1,118 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DownloadWindow.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DownloadWindow.java new file mode 100644 index 000000000..cd0f0d8d4 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/DownloadWindow.java @@ -0,0 +1,183 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +import org.jackhuang.hellominecraftlauncher.apis.utils.SwingUtils; +import org.jackhuang.hellominecraftlauncher.download.DownloadAllThread; +import org.jackhuang.hellominecraftlauncher.download.DownloadListener; + +/** + * + * @author hyh + */ +public class DownloadWindow extends javax.swing.JDialog + implements DownloadListener, DoneListener { + + boolean suc = false; + + DownloadAllThread dat; + /** + * Creates new form DownloadWindow + */ + public DownloadWindow() { + initComponents(); + + SwingUtils.resetWindowLocation(this); + + setModal(true); + + dat = new DownloadAllThread(this); + dat.addDoingListener(this); + dat.addDoneListener(new DoneListener() { + + @Override + public void onDone(String value, Integer value2) { + pgsTotal.setMaximum(dat.size()); + pgsTotal.setValue(pgsTotal.getValue() + 1); + } + }); + } + + public void addDownloadURL(String mark, String url, String location) { + dat.addDownloadURL(mark, url, location); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + btnCancel = new javax.swing.JButton(); + pgsSingle = new javax.swing.JProgressBar(); + jLabel1 = new javax.swing.JLabel(); + jLabel2 = new javax.swing.JLabel(); + pgsTotal = new javax.swing.JProgressBar(); + jScrollPane2 = new javax.swing.JScrollPane(); + txtDownload = new javax.swing.JTextArea(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("下载"); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowOpened(java.awt.event.WindowEvent evt) { + formWindowOpened(evt); + } + }); + + btnCancel.setText("取消"); + btnCancel.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelActionPerformed(evt); + } + }); + + pgsSingle.setStringPainted(true); + + jLabel1.setText("单项进度"); + + jLabel2.setText("总进度"); + + pgsTotal.setStringPainted(true); + + txtDownload.setColumns(20); + txtDownload.setRows(5); + jScrollPane2.setViewportView(txtDownload); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jLabel1) + .addGap(349, 349, 349)) + .addComponent(pgsSingle, javax.swing.GroupLayout.DEFAULT_SIZE, 434, Short.MAX_VALUE) + .addGroup(layout.createSequentialGroup() + .addComponent(jLabel2) + .addGap(0, 0, Short.MAX_VALUE)) + .addComponent(pgsTotal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(btnCancel) + .addContainerGap()) + .addComponent(jScrollPane2) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 241, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(btnCancel, javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(pgsSingle, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(pgsTotal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap()) + ); + + pack(); + }// //GEN-END:initComponents + + private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened + dat.start(); + }//GEN-LAST:event_formWindowOpened + + private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelActionPerformed + dat.interrupt(); + this.dispose(); + }//GEN-LAST:event_btnCancelActionPerformed + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnCancel; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel2; + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JProgressBar pgsSingle; + private javax.swing.JProgressBar pgsTotal; + private javax.swing.JTextArea txtDownload; + // End of variables declaration//GEN-END:variables + + @Override + public void OnProgress(int progress, int max) { + pgsSingle.setMaximum(max); + pgsSingle.setValue(progress); + } + + @Override + public boolean OnFailed() { + return true; + } + + @Override + public void OnDone() { + suc = true; + this.dispose(); + } + + @Override + public void onDone(String value, Integer value2) { + txtDownload.append("正在下载:" + value); + SwingUtils.moveEnd(txtDownload); + } + + public boolean isDownloadSuccessfully() { + return suc; + } + + @Override + public void OnFailedMoreThan5Times(String value) { + txtDownload.append("下载失败:" + value); + SwingUtils.moveEnd(txtDownload); + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/HMCLLog.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/HMCLLog.java new file mode 100644 index 000000000..584fd352c --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/HMCLLog.java @@ -0,0 +1,40 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * + * @author hyh + */ +public class HMCLLog { + + public static Logger logger = LogManager.getLogger("HMCL"); + + public static void log(String message) { + logger.info(message); + } + + public static void warn(String message) { + logger.warn(message); + } + + public static void warn(String msg, Throwable t) { + logger.warn(msg, t); + } + + public static void err(String msg) { + logger.error(msg); + } + + public static void err(String msg, Throwable t) { + logger.error(msg, t); + } + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/HttpGet.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/HttpGet.java new file mode 100644 index 000000000..2122065e8 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/HttpGet.java @@ -0,0 +1,114 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLConnection; +import java.util.Map; + +/** + * 网络操作类 + * @author hyh + */ +public class HttpGet { + + /** + * Sends an HTTP GET request to a url + * + * @param endpoint - The URL of the server. (Example: " + * http://www.yahoo.com/search") + * @param requestParameters - all the request parameters (Example: + * "param1=val1¶m2=val2"). Note: This method will add the question mark + * (?) to the request - DO NOT add it yourself + * @return - The response from the end point + */ + public static String sendGetRequest(String endpoint, + String requestParameters) { + String result = null; + if (endpoint.startsWith("http://")) { + // Send a GET request to the servlet + try { + // Construct data + StringBuilder data = new StringBuilder(); + // Send data + String urlStr = endpoint; + if (requestParameters != null && requestParameters.length() > 0) { + urlStr += "?" + requestParameters; + } + URL url = new URL(urlStr); + URLConnection conn = url.openConnection(); + conn.setRequestProperty(result, urlStr); + + // Get the response + InputStreamReader r = new InputStreamReader(conn.getInputStream()); + StringBuffer sb; + BufferedReader rd = new BufferedReader(r); + sb = new StringBuffer(); + String line; + while ((line = rd.readLine()) != null) + sb.append(line); + result = sb.toString(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return result; + } + + public static String post(String url, Map params) { + URL u = null; + HttpURLConnection con = null; + //构建请求参数 + StringBuilder sb = new StringBuilder(); + if (params != null) { + for (Map.Entry e : params.entrySet()) { + sb.append(e.getKey()); + sb.append("="); + sb.append(e.getValue()); + sb.append("&"); + } + sb = new StringBuilder(sb.substring(0, sb.length() - 1)); + } + System.out.println("send_url:" + url); + System.out.println("send_data:" + sb.toString()); + //尝试发送请求 + try { + u = new URL(url); + con = (HttpURLConnection) u.openConnection(); + con.setRequestMethod("POST"); + con.setDoOutput(true); + con.setDoInput(true); + con.setUseCaches(false); + con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream(), "UTF-8"); + osw.write(sb.toString()); + osw.flush(); + osw.close(); + } catch (Exception e) { + e.printStackTrace(); + } + //读取返回内容 + StringBuilder buffer = new StringBuilder(); + try { + BufferedReader br = new BufferedReader(new InputStreamReader(con + .getInputStream(), "UTF-8")); + String temp; + while ((temp = br.readLine()) != null) { + buffer.append(temp); + buffer.append("\n"); + } + } catch (Exception e) { + e.printStackTrace(); + } + + con.disconnect(); + + return buffer.toString(); + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IMinecraftEnvironment.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IMinecraftEnvironment.java new file mode 100644 index 000000000..cb6068211 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IMinecraftEnvironment.java @@ -0,0 +1,31 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +import org.jackhuang.hellominecraftlauncher.apis.utils.MinecraftVersionRequest; +import org.jackhuang.hellominecraftlauncher.settings.Version; + +/** + * 获取一些Minecraft的环境信息 + * @author hyh + */ +public interface IMinecraftEnvironment { + /** + * 获取Client Token + * @return clientToken + */ + String clientToken(); + + Version getVersion(); + + MinecraftVersionRequest getMinecraftVersion(); + + String getDefaultGameDir(); + /** + * 0 -- Mojang + * 1 -- bangbang93 + */ + int getSourceType(); +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IPlugin.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IPlugin.java new file mode 100644 index 000000000..584236739 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IPlugin.java @@ -0,0 +1,61 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +import org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginLoadEvent; +import org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginUnloadEvent; +import org.jackhuang.hellominecraftlauncher.apis.events.HMCLPluginVersionChangedEvent; + +/** + * 此类为插件主类必须实现的接口 + * @author hyh + */ +public abstract class IPlugin { + /** + * 插件加载事件
+ * 可以用来注册Handlers、读取设置 + * @param event + */ + public void load(HMCLPluginLoadEvent event) { + + } + + /** + * 插件卸载事件
+ * 可以用来保存设置 + * @param event + */ + public void unload(HMCLPluginUnloadEvent event) { + + } + + /** + * 当用户切换版本时会触发此事件 + * @param event + */ + public void versionChanged(HMCLPluginVersionChangedEvent event) { + + } + + /** + * 显示插件设置对话框 + */ + public void showSettingsDialog() { + + } + + /** + * Minecraft启动前触发该事件 + */ + public void minecraftStarting() { + + } + + /** + * Minecraft终止后触发该事件 + */ + public void minecraftStopped() { + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IPluginHandler.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IPluginHandler.java new file mode 100644 index 000000000..7b49235d7 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IPluginHandler.java @@ -0,0 +1,15 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +/** + * 插件Handler必须实现此接口 + * @author hyh + */ +public abstract class IPluginHandler { + + public abstract String getRegistratorName(); + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IPluginRegister.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IPluginRegister.java new file mode 100644 index 000000000..18f54243e --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IPluginRegister.java @@ -0,0 +1,13 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +/** + * 注册各种功能 + * @author hyh + */ +public interface IPluginRegister { + void registerPluginHandler(PluginHandlerType type, IPluginHandler handler); +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IUIRegister.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IUIRegister.java new file mode 100644 index 000000000..ddfb4883a --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/IUIRegister.java @@ -0,0 +1,32 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +import javax.swing.JMenuItem; +import javax.swing.JPanel; + +/** + * + * @author hyh + */ +public interface IUIRegister { + + /** + * 添加选项卡到首页选项卡集合中 + * @param panel 选项卡标题为panel.getName() + */ + void addPanelToMain(JPanel panel); + + /** + * 添加JPanel到版本设置选项卡集合中 + * @param panel 选项卡标题为panel.getName() + */ + void addPanelToVersionEdit(JPanel panel); + + void addMenuItemToVersionOperations(JMenuItem menuItem); + void addMenuItemToVersionImportings(JMenuItem menuItem); + void addMenuItemToVersionManagings(JMenuItem menuItem); + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Pair.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Pair.java new file mode 100644 index 000000000..286a5ecea --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Pair.java @@ -0,0 +1,20 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +/** + * + * @author hyh + */ +public class Pair { + public K key; + public V value; + + public Pair(K k, V v) { + key = k; + value = v; + } + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/PluginHandlerType.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/PluginHandlerType.java new file mode 100644 index 000000000..8f83d3db8 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/PluginHandlerType.java @@ -0,0 +1,35 @@ +package org.jackhuang.hellominecraftlauncher.apis; + +import java.util.HashMap; +import java.util.Map; + +/** + * 提供的Handlers类型 + * @author hyh + */ +public class PluginHandlerType { + + public Class claSS; + public String name; + + private PluginHandlerType(String name, Class c) { + claSS = c; + this.name = name; + } + + public static boolean registerPluginHandlerType(String mark, Class cla) { + if(map.containsKey(mark)) return false; + map.put(mark, new PluginHandlerType(mark, cla)); + return true; + } + + private static Map map; + + public static PluginHandlerType getType(String mark) { + return map.get(mark); + } + + static { + map = new HashMap(); + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Selector.form b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Selector.form new file mode 100644 index 000000000..22b8eb182 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Selector.form @@ -0,0 +1,95 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Selector.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Selector.java new file mode 100644 index 000000000..12482d624 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/Selector.java @@ -0,0 +1,134 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis; + +import java.awt.Dimension; +import java.awt.Toolkit; + +/** + * 本类用于提供登陆插件选择角色 + * @author hyh + */ +public class Selector extends javax.swing.JDialog { + String[] selList; + String msg; + /** + * 选择后的再selList中的序号 + */ + public int sel; + /** + * 取消会返回该。 + */ + public static int failedToSel = -1; + + /** + * 构造方法 + * @param parent null即可 + * @param modal true即可 + * @param selList 提供选择列表 + * @param msg 提示信息 + */ + public Selector(java.awt.Frame parent, boolean modal, String[] selList, String msg) { + super(parent, modal); + initComponents(); + + Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize(); + setLocation((scrSize.width - this.getWidth()) / 2, + (scrSize.height - this.getHeight()) / 2); + + this.selList = selList; + this.sel = failedToSel; + this.msg = msg; + jLabel1.setText(msg); + for(String s : selList) + jComboBox1.addItem(s); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jLabel1 = new javax.swing.JLabel(); + jComboBox1 = new javax.swing.JComboBox(); + jButton1 = new javax.swing.JButton(); + jButton2 = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + + jLabel1.setText("选择角色"); + + jButton1.setText("确定"); + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton1ActionPerformed(evt); + } + }); + + jButton2.setText("取消"); + jButton2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton2ActionPerformed(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jComboBox1, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) + .addGroup(layout.createSequentialGroup() + .addComponent(jLabel1) + .addGap(0, 0, Short.MAX_VALUE)))) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton1) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jButton1) + .addComponent(jButton2)) + .addContainerGap()) + ); + + pack(); + }// //GEN-END:initComponents + + private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed + sel = failedToSel; + this.dispose(); + }//GEN-LAST:event_jButton2ActionPerformed + + private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed + sel = jComboBox1.getSelectedIndex(); + this.dispose(); + }//GEN-LAST:event_jButton1ActionPerformed + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jButton1; + private javax.swing.JButton jButton2; + private javax.swing.JComboBox jComboBox1; + private javax.swing.JLabel jLabel1; + // End of variables declaration//GEN-END:variables +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginLoadEvent.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginLoadEvent.java new file mode 100644 index 000000000..4e5f230e3 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginLoadEvent.java @@ -0,0 +1,58 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.events; + +import org.jackhuang.hellominecraftlauncher.apis.IMinecraftEnvironment; +import org.jackhuang.hellominecraftlauncher.apis.IPluginRegister; +import org.jackhuang.hellominecraftlauncher.apis.IUIRegister; + + +/** + * 插件加载事件 + * @author hyh + */ +public class HMCLPluginLoadEvent { + private final IPluginRegister register; + private final IUIRegister uiRegister; + private final IMinecraftEnvironment env; + private final String suggestedFile; + + public HMCLPluginLoadEvent(IPluginRegister register, IUIRegister uiRegister, IMinecraftEnvironment env, String suggestedFile) { + this.register = register; + this.uiRegister = uiRegister; + this.env = env; + this.suggestedFile = suggestedFile; + } + + + + /** + * 获取Handler注册类 + * @return + */ + public IPluginRegister getPluginRegister() { + return register; + } + + /** + * 获取启动器储存的Minecraft环境 + * @return + */ + public IMinecraftEnvironment getMinecraftEnvironment() { + return env; + } + + /** + * 获取插件被推荐的配置文件地址 + * @return + */ + public String getSuggestedConfigurationFile() { + return suggestedFile; + } + + public IUIRegister getUIRegister() { + return uiRegister; + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginUnloadEvent.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginUnloadEvent.java new file mode 100644 index 000000000..584d6f257 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginUnloadEvent.java @@ -0,0 +1,13 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.events; + +/** + * 插件卸载事件 + * @author hyh + */ +public class HMCLPluginUnloadEvent { + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginVersionChangedEvent.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginVersionChangedEvent.java new file mode 100644 index 000000000..9e1af11d5 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/events/HMCLPluginVersionChangedEvent.java @@ -0,0 +1,13 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.events; + +/** + * 用户版本切换事件 + * @author hyh + */ +public class HMCLPluginVersionChangedEvent { + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/IAssetsHandler.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/IAssetsHandler.java new file mode 100644 index 000000000..8485475c7 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/IAssetsHandler.java @@ -0,0 +1,51 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.handlers; + +import org.jackhuang.hellominecraftlauncher.apis.DoneListener; +import org.jackhuang.hellominecraftlauncher.apis.IPluginHandler; + +/** + * Assets + * @author hyh + */ +public abstract class IAssetsHandler extends IPluginHandler { + + /** + * 本assets下载接口的名称 + * @return + */ + public abstract String getName(); + + /** + * assets所有要下载的文件 + * @param dl + */ + public abstract void getList(DoneListener dl); + + /** + * 用户点击全部下载会触发此事件 + */ + public abstract void beginDownloading(); + + /** + * assets路径 + */ + protected String assets; + + /** + * 由HMCL通知AssetsHandler assets路径 + * @param assets + */ + public void setAssets(String assets) { + this.assets = assets; + } + + @Override + public String getRegistratorName() { + return "HMCL"; + } + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/IPrepareable.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/IPrepareable.java new file mode 100644 index 000000000..ff32697da --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/IPrepareable.java @@ -0,0 +1,17 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis.handlers; + +/** + * + * @author hyh + */ +public interface IPrepareable { + + void prepare(); + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/Login.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/Login.java new file mode 100644 index 000000000..fb46cbea0 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/Login.java @@ -0,0 +1,60 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.handlers; + +import java.util.Map; +import org.jackhuang.hellominecraftlauncher.apis.IPluginHandler; + +/** + * 登录接口 + * @author hyh + */ +public abstract class Login extends IPluginHandler { + + protected String clientToken; + public Login(String clientToken) { + this.clientToken = clientToken; + } + + /** + * 登陆方法 + * @param usr 用户名 + * @param pwd 密码 + * @return 登陆结果 + */ + public abstract LoginResult login(LoginInfo info); + /** + * + * @return 登陆插件显示名称 + */ + public abstract String getName(); + + /** + * Has password? + * @return 是否隐藏密码框 + */ + public boolean isHidePasswordBox() { + return false; + } + + /** + * 若返回非空,禁用密码框,用户名,使用旧有session登陆 + * @return 存储的用户名,没有存储为空 + */ + public boolean isLoggedIn() { + return false; + } + + /** + * 设置是否记住我 + * @param is + */ + public void setRememberMe(boolean is) { + + } + + public abstract LoginResult loginBySettings(); + public abstract void logout(); +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginInfo.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginInfo.java new file mode 100644 index 000000000..5bccec347 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginInfo.java @@ -0,0 +1,18 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.handlers; + +/** + * + * @author hyh + */ +public class LoginInfo { + public String username, password; + + public LoginInfo(String username, String password) { + this.username = username; + this.password = password; + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginResult.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginResult.java new file mode 100644 index 000000000..6493b6a0c --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/handlers/LoginResult.java @@ -0,0 +1,49 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.handlers; + +/** + * + * @author hyh + */ +public class LoginResult //此类不可修改 +{ + /** + * 用户名 + */ + public String username = ""; + /** + * 用户ID + */ + public String userId = ""; + /** + * Session + */ + public String session = ""; + /** + * Access Token + */ + public String accessToken = ""; + /** + * 是否登陆成功 + */ + public boolean success = false; + /** + * 登陆失败信息 + */ + public String error = ""; + /** + * 用户信息 + * 一定为json格式 + */ + public String userProperties = "{}"; + /** + * 其他信息 + */ + public String otherInfo = ""; + public String clientIdentifier = ""; + + public String userType = "Offline"; +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/Bytes.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/Bytes.java new file mode 100644 index 000000000..437f396d2 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/Bytes.java @@ -0,0 +1,29 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +/** + * + * @author hyh + */ +public class Bytes { + + /** + * 由于String.subString对汉字处理存在问题(把一个汉字视为一个字节),因此在 包含汉字的字符串时存在隐患,现调整如下: + * + * @param src 要截取的字符串 + * @param start_idx 开始坐标(包括该坐标) + * @param end_idx 截止坐标(包括该坐标) + * @return + */ + public static String substring(String src, int start_idx, int end_idx) { + byte[] b = src.getBytes(); + String tgt = ""; + for (int i = start_idx; i <= end_idx; i++) { + tgt += (char) b[i]; + } + return tgt; + } +} \ No newline at end of file diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/Compressor.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/Compressor.java new file mode 100644 index 000000000..fab4025f1 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/Compressor.java @@ -0,0 +1,183 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; +import java.util.zip.ZipOutputStream; + +/** + * 文件压缩/解压类 + * + * @author hyh + */ +public class Compressor { + + public static void zip(String sourceDir, String zipFile) throws IOException { + zip(new File(sourceDir), zipFile); + } + + /** + * 功能:把 sourceDir 目录下的所有文件进行 zip 格式的压缩,保存为指定 zip 文件 + * + * @param sourceDir + * @param zipFile + */ + public static void zip(File sourceDir, String zipFile) throws IOException { + FileOutputStream os; + os = new FileOutputStream(zipFile); + BufferedOutputStream bos = new BufferedOutputStream(os); + ZipOutputStream zos = new ZipOutputStream(bos); + String basePath = null; + if (sourceDir.isDirectory()) { + basePath = sourceDir.getPath(); + } else {//直接压缩单个文件时,取父目录 + basePath = sourceDir.getParent(); + } + zipFile(sourceDir, basePath, zos); + zos.closeEntry(); + zos.close(); + } + + /** + * 将文件压缩成zip文件 + * + * @param source zip文件路径 + * @param basePath 待压缩文件根目录 + * @param zos + */ + private static void zipFile(File source, String basePath, + ZipOutputStream zos) throws IOException { + File[] files = new File[0]; + if (source.isDirectory()) { + files = source.listFiles(); + } else { + files = new File[1]; + files[0] = source; + } + String pathName;//存相对路径(相对于待压缩的根目录) + byte[] buf = new byte[1024]; + int length = 0; + for (File file : files) { + if (file.isDirectory()) { + pathName = file.getPath().substring(basePath.length() + 1) + + "/"; + if (file.getName().toLowerCase().contains("meta-inf")) { + continue; + } + zos.putNextEntry(new ZipEntry(pathName)); + zipFile(file, basePath, zos); + } else { + pathName = file.getPath().substring(basePath.length() + 1); + InputStream is = new FileInputStream(file); + BufferedInputStream bis = new BufferedInputStream(is); + zos.putNextEntry(new ZipEntry(pathName)); + while ((length = bis.read(buf)) > 0) { + zos.write(buf, 0, length); + } + is.close(); + } + } + } + + public static void unzip(String zipFileName, String extPlace) throws IOException { + unzip(zipFileName, new File(extPlace)); + } + + /** + * 将文件压缩成zip文件 + * + * @param zipFileName zip文件路径 + * @param extPlace 待压缩文件根目录 + */ + public static void unzip(String zipFileName, File extPlace) throws IOException { + extPlace.mkdirs(); + ZipFile zipFile = new ZipFile(zipFileName); + if (new File(zipFileName).exists()) { + String strPath, gbkPath, strtemp; + strPath = extPlace.getAbsolutePath(); + java.util.Enumeration e = zipFile.entries(); + while (e.hasMoreElements()) { + ZipEntry zipEnt = (ZipEntry) e.nextElement(); + gbkPath = zipEnt.getName(); + if (zipEnt.isDirectory()) { + strtemp = strPath + File.separator + gbkPath; + File dir = new File(strtemp); + dir.mkdirs(); + continue; + } else { + //读写文件 + InputStream is = zipFile.getInputStream(zipEnt); + BufferedInputStream bis = new BufferedInputStream(is); + gbkPath = zipEnt.getName(); + strtemp = strPath + File.separator + gbkPath; + //建目录 + String strsubdir = gbkPath; + for (int i = 0; i < strsubdir.length(); i++) { + if (strsubdir.substring(i, i + 1).equalsIgnoreCase("/")) { + String temp = strPath + File.separator + strsubdir.substring(0, i); + File subdir = new File(temp); + if (!subdir.exists()) { + subdir.mkdir(); + } + } + } + FileOutputStream fos = new FileOutputStream(strtemp); + BufferedOutputStream bos = new BufferedOutputStream(fos); + int c; + while ((c = bis.read()) != -1) { + bos.write((byte) c); + } + bos.close(); + fos.close(); + } + } + } + zipFile.close(); + } + + /** + * 将zip1合并到zip2里面,即保留zip2 + * + * @param destFile zip1 + * @param srcFile zip2 + */ + public static void merge(String destFile, String srcFile) throws IOException { + ZipOutputStream os = new ZipOutputStream(new FileOutputStream(new File(destFile))); + if (new File(destFile).exists()) { + String extPlace = IOUtils.addSeparator(IOUtils.currentDir()) + "HMCL-MERGE-TEMP"; + unzip(srcFile, extPlace); + ZipFile zipFile = new ZipFile(srcFile); + if (new File(srcFile).exists()) { + String strPath, gbkPath, strtemp; + File tempFile = new File(extPlace); + strPath = tempFile.getAbsolutePath(); + java.util.Enumeration e = zipFile.entries(); + while (e.hasMoreElements()) { + ZipEntry zipEnt = (ZipEntry) e.nextElement(); + gbkPath = zipEnt.getName(); + if (zipEnt.isDirectory()) { + strtemp = strPath + File.separator + gbkPath; + continue; + } else { + gbkPath = zipEnt.getName(); + strtemp = strPath + File.separator + gbkPath; + os.putNextEntry(zipEnt); + os.write(gbkPath.getBytes("UTF-8")); + } + } + } + } + os.closeEntry(); + os.close(); + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/IMonitorService.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/IMonitorService.java new file mode 100644 index 000000000..9c84ae78a --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/IMonitorService.java @@ -0,0 +1,20 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +/** + * + * @author hyh + */ +public interface IMonitorService { + + /** + * 获得当前的监控对象. + * + * @return 返回构造好的监控对象 + * @throws Exception + */ + public MonitorInfoBean getMonitorInfoBean() throws Exception; +} \ No newline at end of file diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/IOUtils.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/IOUtils.java new file mode 100644 index 000000000..a16d56a93 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/IOUtils.java @@ -0,0 +1,177 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import java.io.File; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.util.ArrayList; + +/** + * + * @author huang + */ +public class IOUtils { + + public static String addSeparator(String path) { + if (path == null || path.trim().length() == 0) { + return ""; + } + if (path.charAt(path.length() - 1) == File.separatorChar) { + return path; + } else { + return path + File.separatorChar; + } + } + + public static boolean isSeparator(char ch) { + return ch == File.separatorChar || ch == '/' || ch == '\\'; + } + + public static String removeLastSeparator(String dir) { + String t = dir.trim(); + char ch = t.charAt(t.length() - 1); + if (isSeparator(ch)) { + return t.substring(0, t.length() - 1); + } + return t; + } + + public static String extractLastDirectory(String dir) { + String t = removeLastSeparator(dir); + int i = t.length() - 1; + while (i >= 0 && !isSeparator(dir.charAt(i))) { + i--; + } + if (i < 0) { + return t; + } + return t.substring(i + 1, (t.length() - i) + (i + 1) - 1); + } + + public static ArrayList findAllFile(File f) { + ArrayList arr = new ArrayList(); + if (f.isDirectory()) { + File[] f1 = f.listFiles(); + int len = f1.length; + for (int i = 0; i < len; i++) { + if (f1[i].isFile()) { + arr.add(f1[i].getName()); + } + } + } + return arr; + } + + public static ArrayList findAllFileWithFullName(File f) { + ArrayList arr = new ArrayList(); + if (f.isDirectory()) { + File[] f1 = f.listFiles(); + int len = f1.length; + for (int i = 0; i < len; i++) { + if (f1[i].isFile()) { + arr.add(addSeparator(f.getAbsolutePath()) + f1[i].getName()); + } + } + } + return arr; + } + + public static ArrayList findAllDir(File f) { + ArrayList arr = new ArrayList(); + if (f.isDirectory()) { + File[] f1 = f.listFiles(); + int len = f1.length; + for (int i = 0; i < len; i++) { + if (f1[i].isDirectory()) { + arr.add(f1[i].getName()); + } + } + } + return arr; + } + + public static String currentDir() { + /*File file = new File("."); + try { + return file.getCanonicalPath(); + } catch (IOException e) { + e.printStackTrace(); + return ""; + }*/ + return System.getProperty("user.dir"); + } + + public static String currentDirWithSeparator() { + return addSeparator(currentDir()); + } + + public static String getLocalMAC() { + InetAddress addr; + try { + addr = InetAddress.getLocalHost(); + String ip = addr.getHostAddress().toString();//获得本机IP + return getMacAddress(ip); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + return "ERROR"; + } + + public static String getMacAddress(String host) { + String mac = ""; + StringBuffer sb = new StringBuffer(); + + try { + NetworkInterface ni = NetworkInterface.getByInetAddress(InetAddress.getByName(host)); + + byte[] macs = ni.getHardwareAddress(); + + for (int i = 0; i < macs.length; i++) { + mac = Integer.toHexString(macs[i] & 0xFF); + + if (mac.length() == 1) { + mac = '0' + mac; + } + + sb.append(mac + "-"); + } + + } catch (SocketException e) { + e.printStackTrace(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + + mac = sb.toString(); + mac = mac.substring(0, mac.length() - 1); + + return mac; + } + + public static String extractFileName(String fileName) { + File file = new File(fileName); + return file.getName(); + } + + public static String getJavaDir() { + return getJavaDir(false); + } + + public static String getJavaDir(boolean debugMode) { + String separator = System.getProperty("file.separator"); + String path = (new StringBuilder()).append(System.getProperty("java.home")).append(separator).append("bin").append(separator).toString(); + if (OS.os() == OS.WINDOWS && (new File((new StringBuilder()).append(path).append("javaw.exe").toString())).isFile() && !debugMode) { + return (new StringBuilder()).append(path).append("javaw.exe").toString(); + } else { + return (new StringBuilder()).append(path).append("java").toString(); + } + } + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/JdkVersion.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/JdkVersion.java new file mode 100644 index 000000000..a5dabf813 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/JdkVersion.java @@ -0,0 +1,84 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +/** + * + * @author hyh + */ +public final class JdkVersion { + /** + * Constant identifying the 1.5 JVM (Java 5). + */ + public static final int JAVA_15 = 2; + /** + * Constant identifying the 1.6 JVM (Java 6). + */ + public static final int JAVA_16 = 3; + /** + * Constant identifying the 1.7 JVM (Java 7). + */ + public static final int JAVA_17 = 4; + /** + * Constant identifying the 1.8 JVM (Java 7). + */ + public static final int JAVA_18 = 5; + + private static final String javaVersion; + private static final int majorJavaVersion; + static { + javaVersion = System.getProperty("java.version"); + // version String should look like "1.4.2_10" + if (javaVersion.contains("1.8.")) { + majorJavaVersion = JAVA_18; + } + else if (javaVersion.contains("1.7.")) { + majorJavaVersion = JAVA_17; + } + else if (javaVersion.contains("1.6.")) { + majorJavaVersion = JAVA_16; + } + else { + // else leave 1.5 as default (it's either 1.5 or unknown) + majorJavaVersion = JAVA_15; + } + } + /** + * Return the full Java version string, as returned by + * System.getProperty("java.version"). + * @return the full Java version string + * @see System#getProperty(String) + */ + public static String getJavaVersion() { + return javaVersion; + } + /** + * Get the major version code. This means we can do things like + * if (getMajorJavaVersion() < JAVA_14). + * @return a code comparable to the JAVA_XX codes in this class + * @see #JAVA_13 + * @see #JAVA_14 + * @see #JAVA_15 + * @see #JAVA_16 + * @see #JAVA_17 + */ + public static int getMajorJavaVersion() { + return majorJavaVersion; + } + /** + * Convenience method to determine if the current JVM is at least + * Java 1.6 (Java 6). + * @return true if the current JVM is at least Java 1.6 + * @deprecated as of Spring 3.0, in favor of reflective checks for + * the specific Java 1.6 classes of interest + * @see #getMajorJavaVersion() + * @see #JAVA_16 + * @see #JAVA_17 + */ + @Deprecated + public static boolean isAtLeastJava16() { + return (majorJavaVersion >= JAVA_16); + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MCUtils.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MCUtils.java new file mode 100644 index 000000000..e295869e1 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MCUtils.java @@ -0,0 +1,240 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import com.google.gson.Gson; +import java.io.File; +import java.io.IOException; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; +import org.apache.commons.io.FileUtils; +import org.jackhuang.hellominecraftlauncher.apis.HMCLLog; +import org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion; +import org.jackhuang.hellominecraftlauncher.settings.Version; + +/** + * + * @author huang + */ +public class MCUtils { + + + private static int a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) { + for (int i = 0; i < paramArrayOfByte1.length - paramArrayOfByte2.length; i++) { + int j = 1; + for (int k = 0; k < paramArrayOfByte2.length; k++) { + if (paramArrayOfByte2[k] == paramArrayOfByte1[(i + k)]) { + continue; + } + j = 0; + break; + } + if (j != 0) { + return i; + } + } + return -1; + } + + private static int a(byte[] paramArrayOfByte, int paramInt) { + for (; paramInt < paramArrayOfByte.length; paramInt++) { + if (paramArrayOfByte[paramInt] < 32) { + return paramInt; + } + } + return -1; + } + + private static MinecraftVersionRequest getVersionOfOldMinecraft(ZipFile paramZipFile, ZipEntry paramZipEntry) throws IOException { + MinecraftVersionRequest r = new MinecraftVersionRequest(); + byte[] tmp = NetUtils.getBytesFromStream(paramZipFile.getInputStream(paramZipEntry)); + + byte[] arrayOfByte = "Minecraft Minecraft ".getBytes("ASCII"); + int j; + if ((j = a(tmp, arrayOfByte)) < 0) { + r.type = MinecraftVersionRequest.Unkown; + return r; + } + int i = j + arrayOfByte.length; + + if ((j = a(tmp, i)) < 0) { + r.type = MinecraftVersionRequest.Unkown; + return r; + } + String ver = new String(tmp, i, j - i, "ASCII"); + r.version = ver; + + if (paramZipFile.getEntry("META-INF/MANIFEST.MF") == null) { + r.type = MinecraftVersionRequest.Modified; + } else { + r.type = MinecraftVersionRequest.OK; + } + return r; + } + + private static MinecraftVersionRequest getVersionOfNewMinecraft(ZipFile paramZipFile, ZipEntry paramZipEntry) throws IOException { + MinecraftVersionRequest r = new MinecraftVersionRequest(); + byte[] tmp = NetUtils.getBytesFromStream(paramZipFile.getInputStream(paramZipEntry)); + + byte[] arrayOfByte = "-server.txt".getBytes("ASCII"); + int j; + if ((j = a(tmp, arrayOfByte)) < 0) { + r.type = MinecraftVersionRequest.Unkown; + return r; + } + int i = j + arrayOfByte.length; + + i += 11; + + if ((j = a(tmp, i)) < 0) { + r.type = MinecraftVersionRequest.Unkown; + return r; + } + String ver = new String(tmp, i, j - i, "ASCII"); + r.version = ver; + + if (paramZipFile.getEntry("META-INF/MANIFEST.MF") == null) { + r.type = MinecraftVersionRequest.Modified; + } else { + r.type = MinecraftVersionRequest.OK; + } + return r; + } + + public static MinecraftVersionRequest minecraftVersion(File paramFile) { + MinecraftVersionRequest r = new MinecraftVersionRequest(); + if (!paramFile.exists()) { + r.type = MinecraftVersionRequest.NotFound; + return r; + } + if (!paramFile.isFile()) { + r.type = MinecraftVersionRequest.NotAFile; + return r; + } + if (!paramFile.canRead()) { + r.type = MinecraftVersionRequest.NotReadable; + return r; + } + ZipFile localZipFile = null; + try { + int k; + localZipFile = new ZipFile(paramFile); + ZipEntry minecraft = localZipFile + .getEntry("net/minecraft/client/Minecraft.class"); + if (minecraft != null) { + return getVersionOfOldMinecraft(localZipFile, minecraft); + } + ZipEntry main = localZipFile.getEntry("net/minecraft/client/main/Main.class"); + ZipEntry minecraftserver = localZipFile.getEntry("net/minecraft/server/MinecraftServer.class"); + if ((main != null) && (minecraftserver != null)) { + return getVersionOfNewMinecraft(localZipFile, minecraftserver); + } + r.type = MinecraftVersionRequest.Invaild; + return r; + } catch (Exception localException) { + r.type = MinecraftVersionRequest.InvaildJar; + return r; + } finally { + if (localZipFile != null) { + try { + localZipFile.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + } + } + + public static String getGameDir(Version version, String defaultGameDir) { + String path = version.gameDir; + if (org.apache.commons.lang3.StringUtils.isBlank(path)) { + path = defaultGameDir; + } + path = IOUtils.addSeparator(path); + return path; + } + + public static String getPath(Version version, String lastFolder, String defaultGameDir) { + String path = getGameDir(version, defaultGameDir); + File file = new File((new StringBuilder()).append(path).append("versions").append(File.separator).append(version.name).append(File.separator).append(lastFolder).toString()); + if (file.exists() && version.isVer16) { + return file.getPath(); + } + file = new File((new StringBuilder()).append(path).append(lastFolder).toString()); + if (file.exists()) { + return file.getPath(); + } else { + return null; + } + } + + public static String try2GetPath(Version version, String lastFolder, String defaultGameDir) { + String path = getGameDir(version, defaultGameDir); + if (version.isVer16) { + return (new StringBuilder()).append(path).append("versions").append(File.separator).append(version.name).append(File.separator).append(lastFolder).toString(); + } else { + return (new StringBuilder()).append(path).append(lastFolder).toString(); + } + } + + public static MinecraftVersion getMinecraftVersion(Version get, String defaultGameDir) { + try { + String name = get.name; + String pa = IOUtils.addSeparator(getGameDir(get, defaultGameDir)) + + "versions" + File.separator + name + File.separator + name + + ".json"; + File file = new File(pa); + String s = FileUtils.readFileToString(file); + return new Gson().fromJson(s, MinecraftVersion.class); + } catch (IOException ex) { + HMCLLog.err("Failed to get Minecraft Version: " + get, ex); + return null; + } + } + + public static File getLocation() { + //if (gameDir == null) { + String localObject = "minecraft"; + String str1 = System.getProperty("user.home", "."); + File file; + OS os = OS.os(); + if (os == OS.LINUX) { + file = new File(str1, '.' + (String) localObject + '/'); + } else if (os == OS.WINDOWS) { + String str2; + if ((str2 = System.getenv("APPDATA")) != null) { + file = new File(str2, "." + (String) localObject + '/'); + } else { + file = new File(str1, '.' + (String) localObject + '/'); + } + } else if (os == OS.OSX) { + file = new File(str1, "Library/Application Support/" + localObject); + } else { + file = new File(str1, localObject + '/'); + } + if (!file.exists() && !file.mkdirs()) { + throw new RuntimeException("The working directory could not be created: " + localObject); + } + return file; + } + + public static boolean is16Folder(String path) { + path = IOUtils.addSeparator(path); + if (new File(path + "versions").exists()) { + return true; + } + return false; + } + + public static String minecraft() { + String os = System.getProperty("os.name").trim().toLowerCase(); + if (os.indexOf("mac") != -1) { + return "minecraft"; + } + return ".minecraft"; + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MD5Utils.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MD5Utils.java new file mode 100644 index 000000000..0a992ab87 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MD5Utils.java @@ -0,0 +1,43 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import org.jackhuang.hellominecraftlauncher.apis.HMCLLog; + +/** + * + * @author huang + */ +public class MD5Utils { + + private static final char e[] = { + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'a', 'b', 'c', 'd', 'e', 'f' + }; + + public static String hash(String type, String source) { + try { + StringBuilder stringbuilder; + MessageDigest md = MessageDigest.getInstance(type); + md.update(source.getBytes()); + byte[] bytes = md.digest(); + int s2 = bytes.length; + stringbuilder = new StringBuilder(s2 << 1); + for (int i1 = 0; i1 < s2; i1++) { + stringbuilder.append(e[bytes[i1] >> 4 & 0xf]); + stringbuilder.append(e[bytes[i1] & 0xf]); + } + + return stringbuilder.toString(); + } catch (NoSuchAlgorithmException e) { + HMCLLog.err("Failed to get md5", e); + return ""; + } + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MathUtils.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MathUtils.java new file mode 100644 index 000000000..893230d1f --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MathUtils.java @@ -0,0 +1,23 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis.utils; + +/** + * + * @author huang + */ +public class MathUtils { + + public static int parseInt(String s, int def) { + try { + return Integer.parseInt(s); + } catch (Exception e) { + return def; + } + } + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MessageBox.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MessageBox.java new file mode 100644 index 000000000..1a51e721e --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MessageBox.java @@ -0,0 +1,112 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import javax.swing.JOptionPane; + +/** + * 提供提示消息的功能 + * @author hyh + */ +public class MessageBox +{ + private static String Title = "提示"; + /** + * 按钮为:确定 + */ + public static final int DEFAULT_OPTION = -1; + /** + * 按钮为:是 否 + */ + public static final int YES_NO_OPTION = 10; + /** + * 按钮为:是 否 取消 + */ + public static final int YES_NO_CANCEL_OPTION =11; + /** + * 按钮为:确定 取消 + */ + public static final int OK_CANCEL_OPTION = 12; + /** + * 用户操作为:是 + */ + public static final int YES_OPTION = 0; + /** + * 用户操作为:否 + */ + public static final int NO_OPTION = 1; + /** + * 用户操作为:取消 + */ + public static final int CANCEL_OPTION = 2; + /** + * 用户操作为:确定 + */ + public static final int OK_OPTION = 0; + /** + * 用户操作为:关闭了消息框 + */ + public static final int CLOSED_OPTION = -1; + /** + * 消息框类型为:错误 + */ + public static final int ERROR_MESSAGE = 0; + /** + * 消息框类型为:消息 + */ + public static final int INFORMATION_MESSAGE = 1; + /** + * 消息框类型为:警告 + */ + public static final int WARNING_MESSAGE = 2; + /** + * 消息框类型为:询问 + */ + public static final int QUESTION_MESSAGE = 3; + /** + * 消息框类型为:完全 + */ + public static final int PLAIN_MESSAGE = -1; + + /** + * 弹出消息框 + * @param Msg 消息 + * @param Option 消息框类型, 多个请用&连接 + * @return 用户操作结果 + */ + public static int Show(String Msg, String Title, int Option) + { + switch(Option) + { + case YES_NO_OPTION: + case YES_NO_CANCEL_OPTION: + case OK_CANCEL_OPTION: + return JOptionPane.showConfirmDialog(null, Msg, Title, Option - 10); + default: + JOptionPane.showMessageDialog(null, Msg, Title, Option); + } + return 0; + } + + /** + * 弹出默认消息框 + * @param Msg 消息 + * @return 用户操作结果 + */ + public static int Show(String Msg, int Option) + { + return Show(Msg, Title, Option); + } + + /** + * 弹出默认消息框 + * @param Msg 消息 + * @return 用户操作结果 + */ + public static int Show(String Msg) + { + return Show(Msg, Title, INFORMATION_MESSAGE); + } +} \ No newline at end of file diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MinecraftVersionRequest.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MinecraftVersionRequest.java new file mode 100644 index 000000000..91f0c28e3 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MinecraftVersionRequest.java @@ -0,0 +1,16 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +/** + * 判断minecraft.jar类型反馈 + * @author hyh + */ +public class MinecraftVersionRequest { + public static final int Unkown = 0, Invaild = 1, InvaildJar = 2, + Modified = 3, OK = 4, NotFound = 5, NotReadable = 6, NotAFile = 7; + public int type; + public String version; +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/ModType.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/ModType.java new file mode 100644 index 000000000..24a9ba21f --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/ModType.java @@ -0,0 +1,86 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import java.io.File; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + +/** + * 判断mod类型 + * @author hyh + */ +public class ModType { + + public static final int ForgeMod = 0; + public static final int ModLoaderMod = 1; + public static final int Forge = 2; + public static final int ModLoader = 3; + public static final int Unknown = 4; + + public static int getModType(String path) { + return getModType(new File(path)); + } + + public static int getModType(File path) { + boolean isModLoader = false; + ZipFile zipFile = null; + try { + if (path.exists()) { + zipFile = new ZipFile(path); + String gbkPath; + java.util.Enumeration e = zipFile.entries(); + while (e.hasMoreElements()) + { + ZipEntry zipEnt = (ZipEntry) e.nextElement(); + if(zipEnt.isDirectory()) continue; + gbkPath = zipEnt.getName(); + if("mcmod.info".equals(gbkPath)) + return ForgeMod; + else if("mcpmod.info".equals(gbkPath)) + return Forge; + else if("ModLoader.class".equals(gbkPath)) + isModLoader = true; + else if(gbkPath.trim().startsWith("mod_")) + return ModLoaderMod; + } + } + } catch(Exception e) { + + } finally { + try { + if(zipFile != null) + zipFile.close(); + } catch (IOException ex) { + Logger.getLogger(ModType.class.getName()).log(Level.SEVERE, null, ex); + } catch (Throwable t) { + + } + } + if(isModLoader) + return ModLoaderMod; + else + return Unknown; + } + + public static String getModTypeShowName(int type) { + java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/jackhuang/hellominecraftlauncher/I18N"); // NOI18N + switch(type) { + case ForgeMod: + return bundle.getString("ForgeMod"); + case Forge: + return bundle.getString("Forge"); + case ModLoader: + return bundle.getString("ModLoader"); + case ModLoaderMod: + return bundle.getString("ModLoaderMod"); + default: + return bundle.getString("Unknown"); + } + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MonitorInfoBean.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MonitorInfoBean.java new file mode 100644 index 000000000..3a4d47197 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MonitorInfoBean.java @@ -0,0 +1,121 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +/** + * + * @author hyh + */ +public class MonitorInfoBean { + + /** + * 可使用内存. + */ + private long totalMemory; + /** + * 剩余内存. + */ + private long freeMemory; + /** + * 最大可使用内存. + */ + private long maxMemory; + /** + * 操作系统. + */ + private String osName; + /** + * 总的物理内存. + */ + private long totalMemorySize; + /** + * 剩余的物理内存. + */ + private long freePhysicalMemorySize; + /** + * 已使用的物理内存. + */ + private long usedMemory; + /** + * 线程总数. + */ + private int totalThread; + /** + * cpu使用率. + */ + private double cpuRatio; + + public long getFreeMemory() { + return freeMemory; + } + + public void setFreeMemory(long freeMemory) { + this.freeMemory = freeMemory; + } + + public long getFreePhysicalMemorySize() { + return freePhysicalMemorySize; + } + + public void setFreePhysicalMemorySize(long freePhysicalMemorySize) { + this.freePhysicalMemorySize = freePhysicalMemorySize; + } + + public long getMaxMemory() { + return maxMemory; + } + + public void setMaxMemory(long maxMemory) { + this.maxMemory = maxMemory; + } + + public String getOsName() { + return osName; + } + + public void setOsName(String osName) { + this.osName = osName; + } + + public long getTotalMemory() { + return totalMemory; + } + + public void setTotalMemory(long totalMemory) { + this.totalMemory = totalMemory; + } + + public long getTotalMemorySize() { + return totalMemorySize; + } + + public void setTotalMemorySize(long totalMemorySize) { + this.totalMemorySize = totalMemorySize; + } + + public int getTotalThread() { + return totalThread; + } + + public void setTotalThread(int totalThread) { + this.totalThread = totalThread; + } + + public long getUsedMemory() { + return usedMemory; + } + + public void setUsedMemory(long usedMemory) { + this.usedMemory = usedMemory; + } + + public double getCpuRatio() { + return cpuRatio; + } + + public void setCpuRatio(double cpuRatio) { + this.cpuRatio = cpuRatio; + } +} \ No newline at end of file diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MonitorServiceImpl.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MonitorServiceImpl.java new file mode 100644 index 000000000..a6bdff9ae --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/MonitorServiceImpl.java @@ -0,0 +1,266 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.LineNumberReader; +import java.util.StringTokenizer; +import com.sun.management.OperatingSystemMXBean; + +/** + * + * 获取系统信息的业务逻辑实现类. + * + * @author GuoHuang + */ +public class MonitorServiceImpl implements IMonitorService { + + private static final int CPUTIME = 30; + private static final int PERCENT = 100; + private static final int FAULTLENGTH = 10; + private static String linuxVersion = null; + + /** + * 获得当前的监控对象. + * + * @return 返回构造好的监控对象 + * @throws Exception + * @author GuoHuang + */ + public MonitorInfoBean getMonitorInfoBean() throws Exception { + int kb = 1024; + // 可使用内存 + long totalMemory = Runtime.getRuntime().totalMemory() / kb; + // 剩余内存 + long freeMemory = Runtime.getRuntime().freeMemory() / kb; + // 最大可使用内存 + long maxMemory = Runtime.getRuntime().maxMemory() / kb; + OperatingSystemMXBean osmxb = (OperatingSystemMXBean) java.lang.management.ManagementFactory.getOperatingSystemMXBean(); + // 操作系统 + String osName = System.getProperty("os.name"); + // 总的物理内存 + long totalMemorySize = osmxb.getTotalPhysicalMemorySize() / kb; + // 剩余的物理内存 + long freePhysicalMemorySize = osmxb.getFreePhysicalMemorySize() / kb; + // 已使用的物理内存 + long usedMemory = (osmxb.getTotalPhysicalMemorySize() - osmxb.getFreePhysicalMemorySize()) / kb; + // 获得线程总数 + ThreadGroup parentThread; + for (parentThread = Thread.currentThread().getThreadGroup(); parentThread.getParent() != null; parentThread = parentThread.getParent()); + int totalThread = parentThread.activeCount(); + double cpuRatio = 0; + if (osName.toLowerCase().startsWith("windows")) { + cpuRatio = this.getCpuRatioForWindows(); + } else { + cpuRatio = getCpuRateForLinux(); + } + // 构造返回对象 + MonitorInfoBean infoBean = new MonitorInfoBean(); + infoBean.setFreeMemory(freeMemory); + infoBean.setFreePhysicalMemorySize(freePhysicalMemorySize); + infoBean.setMaxMemory(maxMemory); + infoBean.setOsName(osName); + infoBean.setTotalMemory(totalMemory); + infoBean.setTotalMemorySize(totalMemorySize); + infoBean.setTotalThread(totalThread); + infoBean.setUsedMemory(usedMemory); + infoBean.setCpuRatio(cpuRatio); + return infoBean; + } + + private static double getCpuRateForLinux() { + InputStream is = null; + InputStreamReader isr = null; + BufferedReader brStat = null; + StringTokenizer tokenStat = null; + try { + System.out.println("Getting usage rate of CPU , linux version: " + linuxVersion); + Process process = Runtime.getRuntime().exec("top -b -n 1"); + is = process.getInputStream(); + isr = new InputStreamReader(is); + brStat = new BufferedReader(isr); + if (linuxVersion == null || linuxVersion.equals("2.4")) { + brStat.readLine(); + brStat.readLine(); + brStat.readLine(); + brStat.readLine(); + tokenStat = new StringTokenizer(brStat.readLine()); + tokenStat.nextToken(); + tokenStat.nextToken(); + String user = tokenStat.nextToken(); + tokenStat.nextToken(); + String system = tokenStat.nextToken(); + tokenStat.nextToken(); + String nice = tokenStat.nextToken(); + System.out.println(user + " , " + system + " , " + nice); + user = user.substring(0, user.indexOf("%")); + system = system.substring(0, system.indexOf("%")); + nice = nice.substring(0, nice.indexOf("%")); + float userUsage = new Float(user).floatValue(); + float systemUsage = new Float(system).floatValue(); + float niceUsage = new Float(nice).floatValue(); + return (userUsage + systemUsage + niceUsage) / 100; + } else { + brStat.readLine(); + brStat.readLine(); + tokenStat = new StringTokenizer(brStat.readLine()); + tokenStat.nextToken(); + tokenStat.nextToken(); + tokenStat.nextToken(); + tokenStat.nextToken(); + tokenStat.nextToken(); + tokenStat.nextToken(); + tokenStat.nextToken(); + String cpuUsage = tokenStat.nextToken(); + System.out.println("CPU idle : " + cpuUsage); + Float usage = new Float(cpuUsage.substring(0, cpuUsage.indexOf("%"))); + return (1 - usage.floatValue() / 100); + } + } catch (IOException ioe) { + System.out.println(ioe.getMessage()); + freeResource(is, isr, brStat); + return 1; + } finally { + freeResource(is, isr, brStat); + } + } + + private static void freeResource(InputStream is, InputStreamReader isr, + BufferedReader br) { + try { + if (is != null) { + is.close(); + } + if (isr != null) { + isr.close(); + } + if (br != null) { + br.close(); + } + } catch (IOException ioe) { + System.out.println(ioe.getMessage()); + } + } + + /** + * 获得CPU使用率. + * + * @return 返回cpu使用率 + * @author GuoHuang + */ + private double getCpuRatioForWindows() { + try { + String procCmd = System.getenv("windir") + "\\system32\\wbem\\wmic.exe process get Caption,CommandLine,KernelModeTime,ReadOperationCount,ThreadCount,UserModeTime,WriteOperationCount"; + // 取进程信息 + long[] c0 = readCpu(Runtime.getRuntime().exec(procCmd)); + Thread.sleep(CPUTIME); + long[] c1 = readCpu(Runtime.getRuntime().exec(procCmd)); + if (c0 != null && c1 != null) { + long idletime = c1[0] - c0[0]; + long busytime = c1[1] - c0[1]; + return Double.valueOf(PERCENT * (busytime) / (busytime + idletime)).doubleValue(); + } else { + return 0.0; + } + } catch (Exception ex) { + ex.printStackTrace(); + return 0.0; + } + } + + /** + * 读取CPU信息. + * + * @param proc + * @return + * @author GuoHuang + */ + private long[] readCpu(final Process proc) { + long[] retn = new long[2]; + try { + proc.getOutputStream().close(); + InputStreamReader ir = new InputStreamReader(proc.getInputStream()); + LineNumberReader input = new LineNumberReader(ir); + String line = input.readLine(); + if (line == null || line.length() < FAULTLENGTH) { + return null; + } + int capidx = line.indexOf("Caption"); + int cmdidx = line.indexOf("CommandLine"); + int rocidx = line.indexOf("ReadOperationCount"); + int umtidx = line.indexOf("UserModeTime"); + int kmtidx = line.indexOf("KernelModeTime"); + int wocidx = line.indexOf("WriteOperationCount"); + long idletime = 0; + long kneltime = 0; + long usertime = 0; + while ((line = input.readLine()) != null) { + if (line.length() < wocidx) { + continue; + } + // 字段出现顺序:Caption,CommandLine,KernelModeTime,ReadOperationCount, + // ThreadCount,UserModeTime,WriteOperation + String caption = Bytes.substring(line, capidx, cmdidx - 1).trim(); + String cmd = Bytes.substring(line, cmdidx, kmtidx - 1).trim(); + if (cmd.indexOf("wmic.exe") >= 0) { + continue; + } + String s1 = Bytes.substring(line, kmtidx, rocidx - 1).trim(); + String s2 = Bytes.substring(line, umtidx, wocidx - 1).trim(); + if (caption.equals("System Idle Process") || caption.equals("System")) { + if (s1.length() > 0) { + idletime += Long.parseLong(s1); + } + if (s2.length() > 0) { + idletime += Long.parseLong(s2); + } + continue; + } + if (s1.length() > 0) { + kneltime += Long.parseLong(s1); + } + if (s2.length() > 0) { + usertime += Long.parseLong(s2); + } + } + retn[0] = idletime; + retn[1] = kneltime + usertime; + return retn; + } catch (Exception ex) { + ex.printStackTrace(); + } finally { + try { + proc.getInputStream().close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return null; + } + + /** + * 测试方法. + * + * @param args + * @throws Exception + * @author GuoHuang + */ + public static void main(String[] args) throws Exception { + IMonitorService service = new MonitorServiceImpl(); + MonitorInfoBean monitorInfo = service.getMonitorInfoBean(); + System.out.println("cpu占有率=" + monitorInfo.getCpuRatio()); + System.out.println("可使用内存=" + monitorInfo.getTotalMemory()); + System.out.println("剩余内存=" + monitorInfo.getFreeMemory()); + System.out.println("最大可使用内存=" + monitorInfo.getMaxMemory()); + System.out.println("操作系统=" + monitorInfo.getOsName()); + System.out.println("总的物理内存=" + monitorInfo.getTotalMemorySize() + "kb"); + System.out.println("剩余的物理内存=" + monitorInfo.getFreeMemory() + "kb"); + System.out.println("已使用的物理内存=" + monitorInfo.getUsedMemory() + "kb"); + System.out.println("线程总数=" + monitorInfo.getTotalThread() + "kb"); + } +} \ No newline at end of file diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/NetUtils.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/NetUtils.java new file mode 100644 index 000000000..46ea204ac --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/NetUtils.java @@ -0,0 +1,155 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import java.io.BufferedReader; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLConnection; +import java.util.Map; + +/** + * + * @author huang + */ +public final class NetUtils { + + public static byte[] getBytesFromStream(InputStream is) throws IOException { + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + byte[] arrayOfByte1 = new byte[1024]; + int i; + while ((i = is.read(arrayOfByte1)) >= 0) { + localByteArrayOutputStream.write(arrayOfByte1, 0, i); + } + is.close(); + return localByteArrayOutputStream.toByteArray(); + } + + public static String getStreamContent(InputStream is) throws Exception { + return getStreamContent(is, "UTF-8"); + } + + public static String getStreamContent(InputStream is, String encoding) + throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(is, encoding)); + String result = ""; + String line; + while ((line = br.readLine()) != null) { + result += line; + } + return result; + } + + public static String doGet(String url, String encoding) throws Exception { + return getStreamContent(new URL(url).openConnection().getInputStream()); + } + + public static String doGet(String url) throws Exception { + return doGet(url, "UTF-8"); + } + + /** + * Sends an HTTP GET request to a url + * + * @param endpoint - The URL of the server. (Example: " + * http://www.yahoo.com/search") + * @param requestParameters - all the request parameters (Example: + * "param1=val1¶m2=val2"). Note: This method will add the question mark + * (?) to the request - DO NOT add it yourself + * @return - The response from the end point + */ + public static String sendGetRequest(String endpoint, + String requestParameters) { + String result = null; + if (endpoint.startsWith("http://")) { + // Send a GET request to the servlet + try { + // Construct data + StringBuilder data = new StringBuilder(); + // Send data + String urlStr = endpoint; + if (requestParameters != null && requestParameters.length() > 0) { + urlStr += "?" + requestParameters; + } + URL url = new URL(urlStr); + URLConnection conn = url.openConnection(); + + // Get the response + InputStreamReader r = new InputStreamReader(conn.getInputStream()); + StringBuffer sb; + BufferedReader rd = new BufferedReader(r); + sb = new StringBuffer(); + String line; + while ((line = rd.readLine()) != null) + sb.append(line); + result = sb.toString(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return result; + } + + public static String post(String url, Map params) { + URL u = null; + HttpURLConnection con = null; + //构建请求参数 + StringBuilder sb = new StringBuilder(); + if (params != null) { + for (Map.Entry e : params.entrySet()) { + sb.append(e.getKey()); + sb.append("="); + sb.append(e.getValue()); + sb.append("&"); + } + sb = new StringBuilder(sb.substring(0, sb.length() - 1)); + } + System.out.println("send_url:" + url); + System.out.println("send_data:" + sb.toString()); + //尝试发送请求 + try { + u = new URL(url); + con = (HttpURLConnection) u.openConnection(); + con.setRequestMethod("POST"); + con.setDoOutput(true); + con.setDoInput(true); + con.setUseCaches(false); + con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream(), "UTF-8"); + osw.write(sb.toString()); + osw.flush(); + osw.close(); + } catch (Exception e) { + e.printStackTrace(); + } + //读取返回内容 + StringBuilder buffer = new StringBuilder(); + try { + BufferedReader br = new BufferedReader(new InputStreamReader(con + .getInputStream(), "UTF-8")); + String temp; + while ((temp = br.readLine()) != null) { + buffer.append(temp); + buffer.append("\n"); + } + } catch (Exception e) { + e.printStackTrace(); + } + + con.disconnect(); + + return buffer.toString(); + } + private static final String METHOD_POST = "POST"; + private static final String DEFAULT_CHARSET = "utf-8"; + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/OS.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/OS.java new file mode 100644 index 000000000..e06b55440 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/OS.java @@ -0,0 +1,42 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +/** + * 操作系统 + * @author hyh + */ +public enum OS { + + LINUX, + WINDOWS, + OSX, + UNKOWN; + + public static OS os() { + String str; + if ((str = System.getProperty("os.name").toLowerCase()) + .contains("win")) { + return OS.WINDOWS; + } + if (str.contains("mac")) { + return OS.OSX; + } + if (str.contains("solaris")) { + return OS.LINUX; + } + if (str.contains("sunos")) { + return OS.LINUX; + } + if (str.contains("linux")) { + return OS.LINUX; + } + if (str.contains("unix")) { + return OS.LINUX; + } + return OS.UNKOWN; + } + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/StrUtils.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/StrUtils.java new file mode 100644 index 000000000..07e8494b4 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/StrUtils.java @@ -0,0 +1,100 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import java.awt.Dimension; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.StringTokenizer; + +/** + * + * @author huang + */ +public class StrUtils { + + + public static String parseParams(String addBefore, Object[] paramArrayOfObject, String paramString) { + if (paramArrayOfObject == null) { + return ""; + } + StringBuilder localStringBuffer = new StringBuilder(); + for (int i = 0; i < paramArrayOfObject.length; i++) { + Object localObject = paramArrayOfObject[i]; + if (i > 0) { + localStringBuffer.append(addBefore).append(paramString); + } + if (localObject == null) { + localStringBuffer.append("null"); + } else if (localObject.getClass().isArray()) { + localStringBuffer.append("["); + + if ((localObject instanceof Object[])) { + Object[] arrayOfObject = (Object[]) localObject; + localStringBuffer.append(parseParams(addBefore, arrayOfObject, paramString)); + } else { + for (int j = 0; j < Array.getLength(localObject); j++) { + if (j > 0) { + localStringBuffer.append(paramString); + } + localStringBuffer.append(addBefore).append(Array.get(localObject, j)); + } + } + localStringBuffer.append("]"); + } else { + localStringBuffer.append(addBefore).append(paramArrayOfObject[i]); + } + } + return localStringBuffer.toString(); + } + + public static boolean isEquals(String base, String to) { + if (base == null) { + return (to == null); + } else { + return base.equals(to); + } + } + + public static Dimension parseDimension(String str) { + String[] tokenized = tokenize(str, "x,"); + if (tokenized.length != 2) { + return null; + } + int i = MathUtils.parseInt(tokenized[0], -1); + int j = MathUtils.parseInt(tokenized[1], -1); + if ((i < 0) || (j < 0)) { + return null; + } + return new Dimension(i, j); + } + + public static String[] tokenize(String paramString1) { + return tokenize(paramString1, " \t\n\r\f"); + } + + public static String[] tokenize(String paramString1, String paramString2) { + ArrayList localArrayList = new ArrayList(); + StringTokenizer tokenizer = new StringTokenizer(paramString1, paramString2); + while (tokenizer.hasMoreTokens()) { + paramString2 = tokenizer.nextToken(); + localArrayList.add(paramString2); + } + + return (String[]) localArrayList.toArray(new String[localArrayList.size()]); + } + + public static String trimExtension(String filename) { + if ((filename != null) && (filename.length() > 0)) { + int i = filename.lastIndexOf('.'); + if ((i > -1) && (i < (filename.length()))) { + return filename.substring(0, i); + } + } + return filename; + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/SwingUtils.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/SwingUtils.java new file mode 100644 index 000000000..094219429 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/SwingUtils.java @@ -0,0 +1,62 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import java.awt.Dimension; +import java.awt.Toolkit; +import java.awt.Window; +import java.net.URI; +import javax.swing.JTextArea; +import javax.swing.JTextField; +import javax.swing.table.DefaultTableModel; +import org.jackhuang.hellominecraftlauncher.apis.HMCLLog; + +/** + * + * @author huang + */ +public class SwingUtils { + + public static void resetWindowLocation(Window c) { + Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize(); + c.setLocation((scrSize.width - c.getWidth()) / 2, + (scrSize.height - c.getHeight()) / 2); + } + + public static DefaultTableModel makeDefaultTableModel(String[] titleA, final Class[] typesA, final boolean[] canEditA) { + return new javax.swing.table.DefaultTableModel( + new Object[][]{}, + titleA) { + Class[] types = typesA; + boolean[] canEdit = canEditA; + + @Override + public Class getColumnClass(int columnIndex) { + return types[columnIndex]; + } + + @Override + public boolean isCellEditable(int rowIndex, int columnIndex) { + return canEdit[columnIndex]; + } + }; + } + + public static void openLink(URI link) { + try { + java.awt.Desktop.getDesktop().browse(link); + } catch (Throwable e) { + HMCLLog.warn("Failed to open link: " + link, e); + } + } + + public static void moveEnd(JTextArea tf) { + int position = tf.getText().length(); + tf.setCaretPosition(position); + } + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/Utils.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/Utils.java new file mode 100644 index 000000000..238dc7843 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/utils/Utils.java @@ -0,0 +1,217 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.utils; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Field; +import java.net.URL; +import java.net.URLClassLoader; +import java.net.URLDecoder; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * 工具类 + * + * @author hyh + */ +public class Utils { +/* + public static boolean deleteAll(File f) { + if (f == null || !f.exists()) { + return false; + } + if (f.isFile()) { + return f.delete(); + } else { + File f1[] = f.listFiles(); + int len = f1.length; + boolean flag = true; + for (int i = 0; i < len; i++) { + flag &= deleteAll(f1[i]); + } + return flag && f.delete(); + } + } + + // 复制文件 + public static void copyFile(File sourceFile, File targetFile) throws IOException { + BufferedInputStream inBuff = null; + BufferedOutputStream outBuff = null; + new File(targetFile.getParent()).mkdirs(); + try { + // 新建文件输入流并对它进行缓冲 + inBuff = new BufferedInputStream(new FileInputStream(sourceFile)); + + // 新建文件输出流并对它进行缓冲 + outBuff = new BufferedOutputStream(new FileOutputStream(targetFile)); + + // 缓冲数组 + byte[] b = new byte[1024 * 5]; + int len; + while ((len = inBuff.read(b)) != -1) { + outBuff.write(b, 0, len); + } + // 刷新此缓冲的输出流 + outBuff.flush(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + // 关闭流 + if (inBuff != null) { + inBuff.close(); + } + if (outBuff != null) { + outBuff.close(); + } + } + + }*/ + + /*public static void copyFile(String sourceFile, String targetFile) throws IOException { + copyFile(new File(sourceFile), new File(targetFile)); + } + // 复制文件夹 + + public static void copyDirectiory(File sourceDir, File targetDir) throws IOException { + // 新建目标目录 + targetDir.mkdirs(); + // 获取源文件夹当前下的文件或目录 + File[] file = sourceDir.listFiles(); + if (file == null) { + return; + } + for (int i = 0; i < file.length; i++) { + if (file[i].isFile()) { + // 源文件 + File sourceFile = file[i]; + // 目标文件 + File targetFile = new File(targetDir.getAbsolutePath() + File.separator + file[i].getName()); + copyFile(sourceFile, targetFile); + } + if (file[i].isDirectory()) { + // 准备复制的源文件夹 + String dir1 = sourceDir + File.separator + file[i].getName(); + // 准备复制的目标文件夹 + String dir2 = targetDir + File.separator + file[i].getName(); + copyDirectiory(dir1, dir2); + } + } + } + + // 复制文件夹 + public static void copyDirectiory(String sourceDir, String targetDir) throws IOException { + copyDirectiory(new File(sourceDir), new File(targetDir)); + }*/ + + /*public static String readToEnd(File f) { + BufferedReader reader = null; + try { + reader = new BufferedReader(new FileReader(f)); + return readToEnd(reader); + } catch (IOException e) { + //e.printStackTrace(); + return ""; + } finally { + try { + if (reader != null) { + reader.close(); + } + } catch (IOException ex) { + HMCLLog.err("Utils.readToEnd", ex); + } + } + } + + public static String readToEnd(InputStream f) { + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(f)); + return readToEnd(reader); + } finally { + try { + if (reader != null) { + reader.close(); + } + } catch (IOException ex) { + Logger.getLogger(Utils.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public static String readToEnd(BufferedReader reader) { + try { + String res = "", line; + while ((line = reader.readLine()) != null) { + res += line; + } + return res; + } catch (IOException e) { + e.printStackTrace(); + return ""; + } + } + + public static void writeToFile(File f, String content) { + try { + if (!f.exists()) { + f.createNewFile(); + } + BufferedWriter writer = new BufferedWriter(new FileWriter(f)); + writer.write(content); + writer.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static void writeToFile(File f, String content, String encoding) { + try { + if (!f.exists()) { + f.createNewFile(); + } + BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), encoding)); + writer.write(content); + writer.close(); + } catch (IOException e) { + e.printStackTrace(); + } + }*/ + + public static String[] getURL() { + URL[] urls = ((URLClassLoader) Utils.class.getClassLoader()).getURLs(); + String[] urlStrings = new String[urls.length]; + for (int i = 0; i < urlStrings.length; i++) { + try { + urlStrings[i] = URLDecoder.decode(urls[i].getPath(), "UTF-8"); + } catch (UnsupportedEncodingException ex) { + Logger.getLogger(Utils.class.getName()).log(Level.SEVERE, null, ex); + } + } + return urlStrings; + } + + public static void addDir(String s) throws IOException { + try { + Field field = ClassLoader.class.getDeclaredField("usr_paths"); + field.setAccessible(true); + String[] paths = (String[]) field.get(null); + for (int i = 0; i < paths.length; i++) { + if (s.equals(paths[i])) { + return; + } + } + String[] tmp = new String[paths.length + 1]; + System.arraycopy(paths, 0, tmp, 0, paths.length); + tmp[paths.length] = s; + field.set(null, tmp); + } catch (IllegalAccessException e) { + throw new IOException("Failed to get permissions to set library path"); + } catch (NoSuchFieldException e) { + throw new IOException("Failed to get field handle to set library path"); + } + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftLibrary.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftLibrary.java new file mode 100644 index 000000000..42a8d1fc2 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftLibrary.java @@ -0,0 +1,73 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.version; + +import java.util.ArrayList; +import org.apache.commons.lang3.StringUtils; +import org.jackhuang.hellominecraftlauncher.apis.utils.OS; +import org.jackhuang.hellominecraftlauncher.apis.utils.Utils; + +/** + * + * @author hyh + */ +public class MinecraftLibrary { + + public ArrayList rules; + public String name, url, formatted; + public Natives natives; + + /** + * 此library是否被允许使用 + * + * @return + */ + public boolean allow() { + boolean flag = false; + if (rules == null || rules.isEmpty()) { + flag = true; + } else { + for (int j = 0; j < rules.size(); j++) { + Rules r = rules.get(j); + if (r.action.equals("disallow")) { + if (r.os != null && (StringUtils.isBlank(r.os.name) || r.os.name.toUpperCase().equals(OS.os().toString()))) { + flag = false; + break; + } + } else { + if (r.os != null && (StringUtils.isBlank(r.os.name) || r.os.name.toUpperCase().equals(OS.os().toString()))) { + flag = true; + } + if (r.os == null) { + flag = true; + } + } + } + } + return flag; + } + + private String format(String nati) { + String arch = System.getProperty("os.arch"); + if (arch.contains("64")) { + arch = "64"; + } else { + arch = "32"; + } + if(nati == null) return ""; + return nati.replace("${arch}", arch); + } + + public String getNative() { + OS os = OS.os(); + if (os == OS.WINDOWS) { + return format(natives.windows); + } else if (os == OS.OSX) { + return format(natives.osx); + } else { + return format(natives.linux); + } + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftVersion.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftVersion.java new file mode 100644 index 000000000..6859cf825 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/MinecraftVersion.java @@ -0,0 +1,18 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.version; + +import java.util.ArrayList; + +/** + * + * @author hyh + */ +public class MinecraftVersion { + public String minecraftArguments, mainClass, time, id, type, processArguments, + releaseTime, assets; + public int minimumLauncherVersion; + public ArrayList libraries; +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/Natives.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/Natives.java new file mode 100644 index 000000000..41c68abc1 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/Natives.java @@ -0,0 +1,13 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.version; + +/** + * + * @author hyh + */ +public class Natives { + public String windows, osx, linux; +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/OS.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/OS.java new file mode 100644 index 000000000..f08ff690e --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/OS.java @@ -0,0 +1,13 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.version; + +/** + * + * @author hyh + */ +public class OS { + public String version, name; +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/Rules.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/Rules.java new file mode 100644 index 000000000..c221681f5 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/apis/version/Rules.java @@ -0,0 +1,14 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.apis.version; + +/** + * + * @author hyh + */ +public class Rules { + public String action; + public OS os; +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/DownloadAllThread.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/DownloadAllThread.java new file mode 100644 index 000000000..9abf67abd --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/DownloadAllThread.java @@ -0,0 +1,77 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.download; + +import java.net.MalformedURLException; +import java.util.ArrayList; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.jackhuang.hellominecraftlauncher.apis.DoneListener; +import org.jackhuang.hellominecraftlauncher.apis.HMCLLog; + +/** + * + * @author hyh + */ +public class DownloadAllThread extends Thread { + + class URL { + String mark, url, filepath; + } + ArrayList downloads; + ArrayList> listenerDone, listenerDoing; + DownloadListener dl; + + public DownloadAllThread(DownloadListener dl) { + downloads = new ArrayList(); + listenerDone = new ArrayList>(); + listenerDoing = new ArrayList>(); + this.dl = dl; + } + + public void addDownloadURL(String mark, String url, String filepath) { + URL u = new URL(); + u.mark = mark; + u.url = url; + u.filepath = filepath; + downloads.add(u); + } + + public void addDoingListener(DoneListener l) { + listenerDoing.add(l); + } + + public void addDoneListener(DoneListener l) { + listenerDone.add(l); + } + + public int size() { + return downloads.size(); + } + + @Override + public void run() { + for (int i = 0; i < downloads.size(); i++) { + URL url = downloads.get(i); + for (DoneListener d : listenerDoing) { + d.onDone(url.mark, i); + } + HMCLLog.log(url.url + ' ' + url.filepath); + try { + HttpDownloader.download(url.url, url.filepath, dl); + } catch (MalformedURLException ex) { + HMCLLog.err("Failed to parse the url", ex); + } + for (DoneListener d : listenerDone) { + d.onDone(url.mark, i); + } + } + dl.OnDone(); + } + + public boolean isEmpty() { + return downloads.isEmpty(); + } +} \ No newline at end of file diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/DownloadListener.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/DownloadListener.java new file mode 100644 index 000000000..77ddcc7d7 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/DownloadListener.java @@ -0,0 +1,17 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.download; + +/** + * + * @author hyh + */ +public interface DownloadListener { + + void OnProgress(int progress, int max); + boolean OnFailed(); + void OnFailedMoreThan5Times(String url); + void OnDone(); +} \ No newline at end of file diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/HttpDownloader.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/HttpDownloader.java new file mode 100644 index 000000000..a4bd6e851 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/HttpDownloader.java @@ -0,0 +1,138 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.download; + +import java.io.InputStream; +import java.io.RandomAccessFile; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; +import javax.net.ssl.HttpsURLConnection; +import org.jackhuang.hellominecraftlauncher.apis.ApplicationManager; +import org.jackhuang.hellominecraftlauncher.apis.HMCLLog; + +/** + * + * @author hyh + */ + +// This class downloads a file from a URL. +public class HttpDownloader implements Runnable { + + // Max size of download buffer. + private static final int MAX_BUFFER_SIZE = 2048; + + // These are the status names. + public static final String STATUSES[] = {"Downloading", + "Paused", "Complete", "Cancelled", "Error"}; + + // These are the status codes. + public static final int DOWNLOADING = 0; + public static final int PAUSED = 1; + public static final int COMPLETE = 2; + public static final int CANCELLED = 3; + public static final int ERROR = 4; + + private final URL url; // download URL + private int size; // size of download in bytes + private int downloaded; // number of bytes downloaded + private final DownloadListener listener; + private final String filePath; + + // Constructor for Download. + public HttpDownloader(URL url, String filePath, DownloadListener l) { + this.url = url; + size = -1; + downloaded = 0; + this.filePath = filePath; + this.listener = l; + } + + // Get this download's URL. + public String getUrl() { + return url.toString(); + } + + // Download file. + @Override + public void run() { + RandomAccessFile file = null; + InputStream stream = null; + + try { + + + // Open connection to URL. + HttpURLConnection connection = + (HttpURLConnection) url.openConnection(); + + connection.setConnectTimeout(5000); + connection.setRequestProperty("User-Agent", ApplicationManager.getTitle()); + + // Connect to server. + connection.connect(); + + // Make sure response code is in the 200 range. + if (connection.getResponseCode() / 100 != 2) { + throw new Exception(); + } + + // Check for valid content length. + int contentLength = connection.getContentLength(); + if (contentLength < 1) { + throw new Exception(); + } + + // Set the size for this download if it hasn't been already set. + if (size == -1) { + size = contentLength; + } + + // Open file and seek to the end of it. + file = new RandomAccessFile(filePath, "rw"); + file.seek(downloaded); + + stream = connection.getInputStream(); + while (true) { + // Size buffer according to how much of the file is left to download. + byte buffer[] = new byte[MAX_BUFFER_SIZE]; + + // Read from server into buffer. + int read = stream.read(buffer); + if (read == -1) + break; + + // Write buffer to file. + file.write(buffer, 0, read); + downloaded += read; + + if(listener != null) + listener.OnProgress(downloaded, size); + } + if(listener != null) + listener.OnDone(); + } catch (Exception e) { + HMCLLog.err("Failed to download file" + url + "!", e); + } finally { + // Close file. + if (file != null) { + try { + file.close(); + } catch (Exception e) {} + } + + // Close connection to server. + if (stream != null) { + try { + stream.close(); + } catch (Exception e) {} + } + } + } + + public static void download(String url, String file, DownloadListener dl) throws MalformedURLException { + new HttpDownloader(new URL(url), file, dl).run(); + } +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/URLGetThread.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/URLGetThread.java new file mode 100644 index 000000000..b183ca29b --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/download/URLGetThread.java @@ -0,0 +1,48 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.download; + +import java.util.ArrayList; +import org.jackhuang.hellominecraftlauncher.apis.DoneListener; +import org.jackhuang.hellominecraftlauncher.apis.HMCLLog; +import org.jackhuang.hellominecraftlauncher.apis.utils.NetUtils; + +/** + * + * @author hyh + */ +public class URLGetThread extends Thread { + + String url, encoding; + ArrayList> tdtsl; + + public URLGetThread(String url) { + this(url, "UTF-8"); + } + + public URLGetThread(String url, String encoding) { + super(); + this.url = url; + this.encoding = encoding; + this.tdtsl = new ArrayList>(); + } + + public void addListener(DoneListener l) { + tdtsl.add(l); + } + + @Override + public void run() { + try { + String result = NetUtils.doGet(url, encoding); + for (DoneListener l : tdtsl) { + if(l != null) + l.onDone(result, null); + } + } catch (Exception ex) { + HMCLLog.err("Failed to get " + url, ex); + } + } +} \ No newline at end of file diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/settings/Config.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/settings/Config.java new file mode 100644 index 000000000..0304d2449 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/settings/Config.java @@ -0,0 +1,56 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.settings; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.jackhuang.hellominecraftlauncher.apis.utils.IOUtils; +import org.jackhuang.hellominecraftlauncher.apis.utils.MCUtils; +import org.jackhuang.hellominecraftlauncher.apis.utils.OS; + +/** + * + * @author hyh + */ +public class Config { + public String last, bgpath, username, clientToken; + public int logintype, downloadtype; + public HashMap versions; + public boolean checkUpdate, disableMoveMods, debugMode; + private Version publicSettings; + public HashMap authSettings; + + public Version global() { + return publicSettings; + } + + public Config() + { + publicSettings = new Version(); + publicSettings.width = "854"; + publicSettings.height = "480"; + publicSettings.maxMemory = "1024"; + clientToken = UUID.randomUUID().toString(); + username = "Player007"; + logintype = downloadtype = 0; + checkUpdate = true; + disableMoveMods = true; + publicSettings.isVer16 = true; + switch(OS.os()) + { + case WINDOWS: + publicSettings.gameDir = IOUtils.currentDir(); + if(publicSettings.gameDir != null && !publicSettings.gameDir.trim().equals("")) + publicSettings.gameDir = IOUtils.addSeparator(publicSettings.gameDir) + MCUtils.minecraft(); + break; + default: + publicSettings.gameDir = MCUtils.getLocation().getAbsolutePath(); + } + + } + + +} diff --git a/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/settings/Version.java b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/settings/Version.java new file mode 100644 index 000000000..956e0e035 --- /dev/null +++ b/HMCLAPI/src/org/jackhuang/hellominecraftlauncher/settings/Version.java @@ -0,0 +1,109 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.jackhuang.hellominecraftlauncher.settings; + +import java.io.File; +import java.util.ArrayList; +import org.apache.commons.lang3.StringUtils; +import org.jackhuang.hellominecraftlauncher.apis.C; +import org.jackhuang.hellominecraftlauncher.apis.utils.IOUtils; +import org.jackhuang.hellominecraftlauncher.apis.utils.MCUtils; +import org.jackhuang.hellominecraftlauncher.apis.version.MinecraftVersion; + +/** + * + * @author hyh + */ +public class Version { + + public boolean isVer16; + public String name; + public String gameDir, gameAssets, gameLibraries; + public String mainClass, javaArgs, javaDir, minecraftArguments; + public String maxMemory, maxPermGen; + public String width, height; + public boolean fullscreen; + public ArrayList firstLoadLibraries; + public ArrayList lastLoadLibraries; + public ArrayList minecraftJar; + public ArrayList firstLoadLibrariesIsActive; + public ArrayList lastLoadLibrariesIsActive; + public ArrayList minecraftJarIsActive; + public ArrayList inactiveExtMods, inactiveCoreMods; + public String userProperties; + + public Version() + { + isVer16 = true; + gameDir = ""; + maxMemory = maxPermGen = width = height = name = ""; + fullscreen = false; + mainClass = javaDir = javaArgs = gameAssets = gameLibraries = minecraftArguments = ""; + firstLoadLibraries = new ArrayList(); + lastLoadLibraries = new ArrayList(); + minecraftJar = new ArrayList(); + firstLoadLibrariesIsActive = new ArrayList(); + lastLoadLibrariesIsActive = new ArrayList(); + minecraftJarIsActive = new ArrayList(); + inactiveExtMods = new ArrayList(); + inactiveCoreMods = new ArrayList(); + userProperties = ""; + } + + public Version(Version v) + { + this(); + if(v == null) return; + isVer16 = v.isVer16; + name = v.name; + gameDir = v.gameDir; + maxMemory = v.maxMemory; + width = v.width; + height = v.height; + fullscreen = v.fullscreen; + mainClass = v.mainClass; + javaArgs = v.javaArgs; + javaDir = v.javaDir; + gameAssets = v.gameAssets; + gameLibraries = v.gameLibraries; + minecraftArguments = v.minecraftArguments; + if(v.firstLoadLibraries != null) + firstLoadLibraries = (ArrayList)v.firstLoadLibraries.clone(); + if(v.lastLoadLibraries != null) + lastLoadLibraries = (ArrayList)v.lastLoadLibraries.clone(); + if(v.firstLoadLibrariesIsActive != null) + firstLoadLibrariesIsActive = (ArrayList)v.firstLoadLibrariesIsActive.clone(); + if(v.lastLoadLibrariesIsActive != null) + lastLoadLibrariesIsActive = (ArrayList)v.lastLoadLibrariesIsActive.clone(); + if(v.inactiveExtMods != null) + inactiveExtMods = (ArrayList)v.inactiveExtMods.clone(); + if(v.inactiveCoreMods != null) + inactiveCoreMods = (ArrayList)v.inactiveCoreMods.clone(); + } + + public String getMinecraftJar() { + String minecraftJar; + if (isVer16) { + minecraftJar = IOUtils.addSeparator(gameDir) + + "versions" + File.separator + name + File.separator + + name + ".jar"; + } else { + minecraftJar = IOUtils.addSeparator(gameDir) + "bin" + + File.separator + "minecraft.jar"; + } + return minecraftJar; + } + + public boolean exists(String defaultDir) { + String gd = StringUtils.isBlank(gameDir) ? defaultDir : gameDir; + if(isVer16) { + MinecraftVersion v = MCUtils.getMinecraftVersion(this, defaultDir); + if(v == null) return false; + return new File(gd, C.FILE_MINECRAFT_VERSIONS + File.separator + v.id).exists(); + } else { + return new File(gd, "bin").exists(); + } + } +}