diff --git a/HMCL/launch.sh b/HMCL/launch.sh deleted file mode 100755 index 43b8d0bd7..000000000 --- a/HMCL/launch.sh +++ /dev/null @@ -1 +0,0 @@ -/home/huangyuhui/softwares/jdk1.8.0_65/jre/bin/java -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -Xmn128m -Xmx4096m -Djava.library.path=/home/huangyuhui/.minecraft/versions/1.8.8-forge1.8.8-11.15.0.1650-1.8.8/1.8.8-forge1.8.8-11.15.0.1650-1.8.8-natives -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true -Duser.home=/home/huangyuhui -cp /home/huangyuhui/NetBeansProjects/HMCL/HMCL/build/classes/main/:/home/huangyuhui/NetBeansProjects/HMCL/HMCL/build/resources/main/:/home/huangyuhui/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.2.4/a60a5e993c98c864010053cb901b7eab25306568/gson-2.2.4.jar:/home/huangyuhui/NetBeansProjects/HMCL/MetroLookAndFeel/build/libs/MetroLookAndFeel.jar:/home/huangyuhui/NetBeansProjects/HMCL/HMCLAPI/build/libs/HMCLAPI.jar org.jackhuang.hellominecraft.launcher.Launcher -cp=/home/huangyuhui/.minecraft/libraries/net/minecraftforge/forge/1.8.8-11.15.0.1650-1.8.8/forge-1.8.8-11.15.0.1650-1.8.8.jar:/home/huangyuhui/.minecraft/libraries/io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar:/home/huangyuhui/.minecraft/libraries/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar:/home/huangyuhui/.minecraft/libraries/org/ow2/asm/asm-all/5.0.3/asm-all-5.0.3.jar:/home/huangyuhui/.minecraft/libraries/jline/jline/2.13/jline-2.13.jar:/home/huangyuhui/.minecraft/libraries/com/typesafe/akka/akka-actor_2.11/2.3.3/akka-actor_2.11-2.3.3.jar:/home/huangyuhui/.minecraft/libraries/com/typesafe/config/1.2.1/config-1.2.1.jar:/home/huangyuhui/.minecraft/libraries/org/scala-lang/scala-actors-migration_2.11/1.1.0/scala-actors-migration_2.11-1.1.0.jar:/home/huangyuhui/.minecraft/libraries/org/scala-lang/scala-compiler/2.11.1/scala-compiler-2.11.1.jar:/home/huangyuhui/.minecraft/libraries/org/scala-lang/plugins/scala-continuations-library_2.11/1.0.2/scala-continuations-library_2.11-1.0.2.jar:/home/huangyuhui/.minecraft/libraries/org/scala-lang/plugins/scala-continuations-plugin_2.11.1/1.0.2/scala-continuations-plugin_2.11.1-1.0.2.jar:/home/huangyuhui/.minecraft/libraries/org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar:/home/huangyuhui/.minecraft/libraries/org/scala-lang/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar:/home/huangyuhui/.minecraft/libraries/org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.jar:/home/huangyuhui/.minecraft/libraries/org/scala-lang/scala-swing_2.11/1.0.1/scala-swing_2.11-1.0.1.jar:/home/huangyuhui/.minecraft/libraries/org/scala-lang/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar:/home/huangyuhui/.minecraft/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar:/home/huangyuhui/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar:/home/huangyuhui/.minecraft/libraries/java3d/vecmath/1.5.2/vecmath-1.5.2.jar:/home/huangyuhui/.minecraft/libraries/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3.jar:/home/huangyuhui/.minecraft/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar:/home/huangyuhui/.minecraft/libraries/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar:/home/huangyuhui/.minecraft/libraries/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar:/home/huangyuhui/.minecraft/libraries/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar:/home/huangyuhui/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar:/home/huangyuhui/.minecraft/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar:/home/huangyuhui/.minecraft/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar:/home/huangyuhui/.minecraft/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar:/home/huangyuhui/.minecraft/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar:/home/huangyuhui/.minecraft/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar:/home/huangyuhui/.minecraft/libraries/io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar:/home/huangyuhui/.minecraft/libraries/com/google/guava/guava/17.0/guava-17.0.jar:/home/huangyuhui/.minecraft/libraries/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar:/home/huangyuhui/.minecraft/libraries/commons-io/commons-io/2.4/commons-io-2.4.jar:/home/huangyuhui/.minecraft/libraries/commons-codec/commons-codec/1.9/commons-codec-1.9.jar:/home/huangyuhui/.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/home/huangyuhui/.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/home/huangyuhui/.minecraft/libraries/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar:/home/huangyuhui/.minecraft/libraries/com/mojang/authlib/1.5.21/authlib-1.5.21.jar:/home/huangyuhui/.minecraft/libraries/com/mojang/realms/1.7.24/realms-1.7.24.jar:/home/huangyuhui/.minecraft/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar:/home/huangyuhui/.minecraft/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar:/home/huangyuhui/.minecraft/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/home/huangyuhui/.minecraft/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar:/home/huangyuhui/.minecraft/libraries/org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar:/home/huangyuhui/.minecraft/libraries/org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar:/home/huangyuhui/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar:/home/huangyuhui/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar:/home/huangyuhui/.minecraft/libraries/tv/twitch/twitch/6.5/twitch-6.5.jar:/home/huangyuhui/.minecraft/versions/1.8.8/1.8.8.jar -mainClass=net.minecraft.launchwrapper.Launch --username huangyuhui --version "Hello Minecraft! Launcher 2.3.5.7" --gameDir /home/huangyuhui/.minecraft --assetsDir /home/huangyuhui/.minecraft/assets --assetIndex 1.8 --uuid ed0206e665bde10d9895c6a91fa0bc42 --accessToken ed0206e665bde10d9895c6a91fa0bc42 --userProperties {} --userType Legacy --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker --height 480 --width 854 \ No newline at end of file diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Launcher.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Launcher.java index 4da083579..06716e4eb 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Launcher.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Launcher.java @@ -26,10 +26,10 @@ import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; import javax.swing.SwingUtilities; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.StrUtils; -import org.jackhuang.hellominecraft.views.LogWindow; +import org.jackhuang.hellominecraft.utils.views.LogWindow; import org.jackhuang.hellominecraft.launcher.utils.MinecraftCrashAdvicer; import org.jackhuang.hellominecraft.utils.DoubleOutputStream; import org.jackhuang.hellominecraft.utils.LauncherPrintStream; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Main.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Main.java index a82305fad..0ca551d81 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Main.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Main.java @@ -32,14 +32,14 @@ import javax.net.ssl.X509TrustManager; import javax.swing.ImageIcon; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.api.PluginManager; import org.jackhuang.hellominecraft.launcher.core.launch.GameLauncher; import org.jackhuang.hellominecraft.launcher.utils.CrashReporter; -import org.jackhuang.hellominecraft.logging.Configuration; -import org.jackhuang.hellominecraft.logging.appender.ConsoleAppender; -import org.jackhuang.hellominecraft.logging.layout.DefaultLayout; -import org.jackhuang.hellominecraft.views.LogWindow; +import org.jackhuang.hellominecraft.utils.logging.Configuration; +import org.jackhuang.hellominecraft.utils.logging.appender.ConsoleAppender; +import org.jackhuang.hellominecraft.utils.logging.layout.DefaultLayout; +import org.jackhuang.hellominecraft.utils.views.LogWindow; import org.jackhuang.hellominecraft.launcher.settings.Settings; import org.jackhuang.hellominecraft.launcher.utils.upgrade.IUpgrader; import org.jackhuang.hellominecraft.launcher.views.MainFrame; @@ -47,6 +47,7 @@ import org.jackhuang.hellominecraft.lookandfeel.HelloMinecraftLookAndFeel; import org.jackhuang.hellominecraft.utils.MathUtils; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.utils.VersionNumber; +import org.jackhuang.hellominecraft.utils.system.Compressor; import rx.concurrency.Schedulers; /** @@ -87,7 +88,7 @@ public final class Main implements Runnable { } public static final String LAUNCHER_NAME = "Hello Minecraft! Launcher"; - public static final byte VERSION_FIRST = 2, VERSION_SECOND = 3, VERSION_THIRD = 5, VERSION_FORTH = 7; + public static final byte VERSION_FIRST = 2, VERSION_SECOND = 3, VERSION_THIRD = 5, VERSION_FORTH = 8; public static final int MINIMUM_LAUNCHER_VERSION = 16; //public static Proxy PROXY; @@ -113,7 +114,7 @@ public final class Main implements Runnable { public static HelloMinecraftLookAndFeel LOOK_AND_FEEL; @SuppressWarnings({ "CallToPrintStackTrace", "UseSpecificCatch" }) - public static void main(String[] args) { + public static void main(String[] args) throws IOException { { //PluginManager.getServerPlugin(); diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/api/PluginManager.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/api/PluginManager.java index 33c4a32e9..127b6769d 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/api/PluginManager.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/api/PluginManager.java @@ -17,7 +17,7 @@ */ package org.jackhuang.hellominecraft.launcher.api; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.settings.DefaultPlugin; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/ModInfo.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/ModInfo.java index 5768d4d63..faf3be1c0 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/ModInfo.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/ModInfo.java @@ -25,8 +25,8 @@ import java.io.InputStreamReader; import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.utils.system.FileUtils; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/AssetsMojangLoader.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/AssetsMojangLoader.java index 759985fe2..8c34e8976 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/AssetsMojangLoader.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/AssetsMojangLoader.java @@ -21,10 +21,10 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Map; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftAssetService; -import org.jackhuang.hellominecraft.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.Task; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.utils.system.IOUtils; import org.jackhuang.hellominecraft.utils.StrUtils; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/IAssetsHandler.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/IAssetsHandler.java index 68639cefb..d53db6f1c 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/IAssetsHandler.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/IAssetsHandler.java @@ -23,13 +23,13 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftAssetService; import org.jackhuang.hellominecraft.launcher.core.download.IDownloadProvider; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftVersion; -import org.jackhuang.hellominecraft.tasks.Task; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.code.DigestUtils; import org.jackhuang.hellominecraft.utils.system.IOUtils; import org.jackhuang.hellominecraft.utils.NetUtils; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/MinecraftAssetService.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/MinecraftAssetService.java index e5c763df8..a06213ae9 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/MinecraftAssetService.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/assets/MinecraftAssetService.java @@ -20,13 +20,13 @@ package org.jackhuang.hellominecraft.launcher.core.assets; import com.google.gson.JsonSyntaxException; import java.io.File; import java.io.IOException; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftAssetService; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftService; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftVersion; -import org.jackhuang.hellominecraft.tasks.Task; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.utils.system.IOUtils; import rx.concurrency.Schedulers; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/OfflineAuthenticator.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/OfflineAuthenticator.java index 618c62408..80e090749 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/OfflineAuthenticator.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/OfflineAuthenticator.java @@ -19,7 +19,7 @@ package org.jackhuang.hellominecraft.launcher.core.auth; import java.util.HashMap; import java.util.Map; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.utils.code.DigestUtils; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/SkinmeAuthenticator.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/SkinmeAuthenticator.java index bf24232fb..3647603ee 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/SkinmeAuthenticator.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/SkinmeAuthenticator.java @@ -17,10 +17,10 @@ */ package org.jackhuang.hellominecraft.launcher.core.auth; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.utils.code.DigestUtils; import org.jackhuang.hellominecraft.utils.NetUtils; -import org.jackhuang.hellominecraft.views.Selector; +import org.jackhuang.hellominecraft.utils.views.Selector; /** * diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/YggdrasilAuthenticator.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/YggdrasilAuthenticator.java index aaba86ab9..7efd27c88 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/YggdrasilAuthenticator.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/YggdrasilAuthenticator.java @@ -21,9 +21,9 @@ import com.google.gson.GsonBuilder; import java.net.Proxy; import java.util.Map; import javax.swing.JOptionPane; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.utils.ArrayUtils; -import org.jackhuang.hellominecraft.views.Selector; +import org.jackhuang.hellominecraft.utils.views.Selector; import org.jackhuang.hellominecraft.launcher.core.auth.yggdrasil.GameProfile; import org.jackhuang.hellominecraft.launcher.core.auth.yggdrasil.PropertyMap; import org.jackhuang.hellominecraft.launcher.core.auth.yggdrasil.YggdrasilAuthentication; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/yggdrasil/PropertyMap.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/yggdrasil/PropertyMap.java index ff2f6512a..fedfd3b5b 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/yggdrasil/PropertyMap.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/yggdrasil/PropertyMap.java @@ -31,7 +31,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; public class PropertyMap extends HashMap { diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/yggdrasil/YggdrasilAuthentication.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/yggdrasil/YggdrasilAuthentication.java index 8766b65da..1c66c41d6 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/yggdrasil/YggdrasilAuthentication.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/auth/yggdrasil/YggdrasilAuthentication.java @@ -28,8 +28,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.NetUtils; import org.jackhuang.hellominecraft.utils.StrUtils; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/CurseDownloadProvider.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/CurseDownloadProvider.java new file mode 100644 index 000000000..0f7d03545 --- /dev/null +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/CurseDownloadProvider.java @@ -0,0 +1,31 @@ +/* + * Hello Minecraft! Launcher. + * Copyright (C) 2013 huangyuhui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see {http://www.gnu.org/licenses/}. + */ +package org.jackhuang.hellominecraft.launcher.core.download; + +/** + * + * @author huangyuhui + */ +public class CurseDownloadProvider extends MojangDownloadProvider { + + @Override + public String getParsedLibraryDownloadURL(String str) { + return str == null ? null : str.replace("http://files.minecraftforge.net/maven", "http://ftb.cursecdn.com/FTB2/maven/"); + } + +} diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/DownloadType.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/DownloadType.java index 8dddea9b8..0bba3760f 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/DownloadType.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/DownloadType.java @@ -17,7 +17,7 @@ */ package org.jackhuang.hellominecraft.launcher.core.download; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; /** * @@ -27,7 +27,8 @@ public enum DownloadType { Mojang(C.i18n("download.mojang"), new MojangDownloadProvider()), BMCL(C.i18n("download.BMCL"), new BMCLAPIDownloadProvider()), - RapidData(C.i18n("download.rapid_data"), new RapidDataDownloadProvider()); + RapidData(C.i18n("download.rapid_data"), new RapidDataDownloadProvider()), + Curse("Curse CDN", new CurseDownloadProvider()); private final String name; private final IDownloadProvider provider; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/MinecraftDownloadService.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/MinecraftDownloadService.java index d77bafce2..b5854c994 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/MinecraftDownloadService.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/MinecraftDownloadService.java @@ -22,20 +22,20 @@ import com.google.gson.JsonSyntaxException; import java.io.File; import java.util.ArrayList; import java.util.List; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.GameException; import org.jackhuang.hellominecraft.launcher.core.launch.GameLauncher; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftService; import org.jackhuang.hellominecraft.launcher.core.version.IMinecraftLibrary; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftVersion; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.NetUtils; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.utils.system.IOUtils; -import org.jackhuang.hellominecraft.version.MinecraftRemoteVersion; -import org.jackhuang.hellominecraft.version.MinecraftRemoteVersions; +import org.jackhuang.hellominecraft.utils.version.MinecraftRemoteVersion; +import org.jackhuang.hellominecraft.utils.version.MinecraftRemoteVersions; import rx.Observable; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/MinecraftInstallerService.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/MinecraftInstallerService.java index b60494e8a..5b4e393a1 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/MinecraftInstallerService.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/MinecraftInstallerService.java @@ -26,10 +26,10 @@ import org.jackhuang.hellominecraft.launcher.core.installers.liteloader.LiteLoad import org.jackhuang.hellominecraft.launcher.core.installers.liteloader.LiteLoaderVersionList; import org.jackhuang.hellominecraft.launcher.core.installers.optifine.OptiFineInstaller; import org.jackhuang.hellominecraft.launcher.core.installers.optifine.vanilla.OptiFineDownloadFormatter; -import org.jackhuang.hellominecraft.tasks.Task; -import org.jackhuang.hellominecraft.tasks.TaskInfo; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.TaskInfo; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.system.IOUtils; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/forge/ForgeInstaller.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/forge/ForgeInstaller.java index 93503f38e..1842f9c6e 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/forge/ForgeInstaller.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/forge/ForgeInstaller.java @@ -24,11 +24,11 @@ import java.io.FileOutputStream; import java.io.InputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftService; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerVersionList.InstallerVersion; -import org.jackhuang.hellominecraft.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.Task; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.utils.NetUtils; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftLibrary; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/forge/MinecraftForgeVersionList.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/forge/MinecraftForgeVersionList.java index fb31fe20a..5ca64ef6c 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/forge/MinecraftForgeVersionList.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/forge/MinecraftForgeVersionList.java @@ -22,7 +22,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.launcher.core.download.DownloadType; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerVersionList; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/liteloader/LiteLoaderInstaller.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/liteloader/LiteLoaderInstaller.java index 890167eac..d374961d4 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/liteloader/LiteLoaderInstaller.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/liteloader/LiteLoaderInstaller.java @@ -20,12 +20,12 @@ package org.jackhuang.hellominecraft.launcher.core.installers.liteloader; import java.io.File; import java.util.ArrayList; import java.util.Arrays; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftService; -import org.jackhuang.hellominecraft.tasks.Task; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResult; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResultRegistrar; +import org.jackhuang.hellominecraft.utils.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResult; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResultRegistrar; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftLibrary; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftVersion; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/liteloader/LiteLoaderVersionList.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/liteloader/LiteLoaderVersionList.java index b1767af50..16279c692 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/liteloader/LiteLoaderVersionList.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/liteloader/LiteLoaderVersionList.java @@ -23,7 +23,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftLibrary; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerVersionList; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerVersionList.InstallerVersion; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/OptiFineInstaller.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/OptiFineInstaller.java index 8b8c11e6d..a13aaabdc 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/OptiFineInstaller.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/OptiFineInstaller.java @@ -20,12 +20,12 @@ package org.jackhuang.hellominecraft.launcher.core.installers.optifine; import java.io.File; import java.util.ArrayList; import java.util.zip.ZipFile; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerVersionList; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftService; -import org.jackhuang.hellominecraft.tasks.Task; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResult; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResultRegistrar; +import org.jackhuang.hellominecraft.utils.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResult; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResultRegistrar; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftLibrary; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftVersion; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/bmcl/OptiFineBMCLVersionList.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/bmcl/OptiFineBMCLVersionList.java index 13267911a..d257dfbcb 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/bmcl/OptiFineBMCLVersionList.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/bmcl/OptiFineBMCLVersionList.java @@ -25,7 +25,7 @@ import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.utils.ArrayUtils; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerVersionList; import org.jackhuang.hellominecraft.launcher.core.installers.optifine.OptiFineVersion; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/vanilla/OptiFineDownloadFormatter.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/vanilla/OptiFineDownloadFormatter.java index aa106b100..567ad25fc 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/vanilla/OptiFineDownloadFormatter.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/installers/optifine/vanilla/OptiFineDownloadFormatter.java @@ -19,9 +19,9 @@ package org.jackhuang.hellominecraft.launcher.core.installers.optifine.vanilla; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.tasks.Task; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResult; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResult; import org.jackhuang.hellominecraft.utils.NetUtils; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/AbstractMinecraftLoader.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/AbstractMinecraftLoader.java index 8508f27e7..c3bd0574a 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/AbstractMinecraftLoader.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/AbstractMinecraftLoader.java @@ -23,8 +23,8 @@ import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.Launcher; import org.jackhuang.hellominecraft.launcher.core.GameException; import org.jackhuang.hellominecraft.launcher.core.auth.UserProfileProvider; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/DefaultGameLauncher.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/DefaultGameLauncher.java index acfff20ef..cf5d16410 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/DefaultGameLauncher.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/DefaultGameLauncher.java @@ -18,16 +18,17 @@ package org.jackhuang.hellominecraft.launcher.core.launch; import java.io.IOException; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.auth.IAuthenticator; import org.jackhuang.hellominecraft.launcher.core.auth.LoginInfo; import org.jackhuang.hellominecraft.launcher.core.download.DownloadLibraryJob; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftService; -import org.jackhuang.hellominecraft.tasks.ParallelTask; -import org.jackhuang.hellominecraft.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.ParallelTask; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; import org.jackhuang.hellominecraft.utils.system.Compressor; import org.jackhuang.hellominecraft.utils.MessageBox; +import org.jackhuang.hellominecraft.utils.StrUtils; public class DefaultGameLauncher extends GameLauncher { @@ -55,7 +56,8 @@ public class DefaultGameLauncher extends GameLauncher { return false; for (int i = 0; i < value.decompressFiles.length; i++) try { - Compressor.unzip(value.decompressFiles[i], value.decompressTo, value.extractRules[i]); + String[] rules = value.extractRules[i]; + Compressor.unzip(value.decompressFiles[i], value.decompressTo, t -> !StrUtils.startsWithOne(rules, t)); } catch (IOException ex) { HMCLog.err("Unable to decompress library file: " + value.decompressFiles[i] + " to " + value.decompressTo, ex); } diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/GameLauncher.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/GameLauncher.java index 7515f6b6c..7fda23424 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/GameLauncher.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/GameLauncher.java @@ -26,8 +26,8 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.util.List; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.api.PluginManager; import org.jackhuang.hellominecraft.launcher.core.GameException; import org.jackhuang.hellominecraft.launcher.core.auth.IAuthenticator; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/LibraryDownloadTask.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/LibraryDownloadTask.java index e04d525c1..59b87ed4c 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/LibraryDownloadTask.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/LibraryDownloadTask.java @@ -27,10 +27,10 @@ import java.util.Arrays; import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import java.util.jar.Pack200; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.download.DownloadLibraryJob; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.system.IOUtils; import org.tukaani.xz.XZInputStream; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/MinecraftLoader.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/MinecraftLoader.java index 3948a3cd1..de44f4930 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/MinecraftLoader.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/MinecraftLoader.java @@ -23,8 +23,8 @@ import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.Main; import org.jackhuang.hellominecraft.launcher.core.GameException; import org.jackhuang.hellominecraft.launcher.core.auth.UserProfileProvider; @@ -35,7 +35,7 @@ import org.jackhuang.hellominecraft.launcher.core.assets.IAssetsHandler; import org.jackhuang.hellominecraft.launcher.core.download.DownloadType; import org.jackhuang.hellominecraft.utils.system.OS; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftLibrary; -import org.jackhuang.hellominecraft.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.StrUtils; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftModService.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/mod/MinecraftModService.java similarity index 97% rename from HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftModService.java rename to HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/mod/MinecraftModService.java index e78e87b10..025778af1 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftModService.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/mod/MinecraftModService.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.launcher.core.version; +package org.jackhuang.hellominecraft.launcher.core.mod; import java.io.File; import java.io.FileInputStream; @@ -25,7 +25,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftModService; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftService; import org.jackhuang.hellominecraft.launcher.core.ModInfo; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/mod/ModpackManager.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/mod/ModpackManager.java new file mode 100644 index 000000000..650f11d7d --- /dev/null +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/mod/ModpackManager.java @@ -0,0 +1,125 @@ +/* + * Hello Minecraft! Launcher. + * Copyright (C) 2013 huangyuhui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see {http://www.gnu.org/licenses/}. + */ +package org.jackhuang.hellominecraft.launcher.core.mod; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.nio.file.FileAlreadyExistsException; +import java.nio.file.FileSystemException; +import java.util.concurrent.atomic.AtomicBoolean; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; +import org.jackhuang.hellominecraft.launcher.core.GameException; +import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftProvider; +import org.jackhuang.hellominecraft.launcher.core.version.MinecraftVersion; +import org.jackhuang.hellominecraft.utils.system.Compressor; +import org.jackhuang.hellominecraft.utils.system.FileUtils; + +/** + * A mod pack(*.zip) includes these things: + *
    + *
  • sth created by the game automatically, including "mods", "scripts", + * "config", etc.. + *
  • pack.json, the same as Minecraft version configuration file: + * "gameDir/versions/{MCVER}/{MCVER}.json", will be renamed to that one. + *
  • all things should be included in "minecraft" folder under the root + * folder. + *
+ * + * This class can manage mod packs, for example, importing and exporting, the + * format of game is the offical one. + * Not compatible with MultiMC(no instance.cfg) & FTB(not leaving mcversion in + * pack.json). + * + * @author huangyuhui + */ +public final class ModpackManager { + + public static void install(File input, File installFolder, String id) throws IOException, FileAlreadyExistsException { + File versions = new File(installFolder, "versions"); + File oldFile = new File(versions, "minecraft"), newFile = null; + if (oldFile.exists()) { + newFile = new File(versions, "minecraft-" + System.currentTimeMillis()); + if (newFile.isDirectory()) + FileUtils.deleteDirectory(newFile); + else if (newFile.isFile()) + newFile.delete(); + oldFile.renameTo(newFile); + } + + try { + AtomicBoolean b = new AtomicBoolean(false); + HMCLog.log("Decompressing modpack"); + Compressor.unzip(input, versions, t -> { + if (t.equals("minecraft/pack.json")) + b.set(true); + return true; + }); + if (!b.get()) + throw new FileNotFoundException("the mod pack is not in a correct format."); + File nowFile = new File(versions, id); + oldFile.renameTo(nowFile); + + new File(nowFile, "pack.json").renameTo(new File(nowFile, id + ".json")); + } finally { + FileUtils.deleteDirectoryQuietly(oldFile); + if (newFile != null) + newFile.renameTo(oldFile); + } + } + + /** + * Export the game to a mod pack file. + * + * @param output mod pack file. + * @param baseFolder if the game dir type is ROOT_FOLDER, use ".minecraft", + * or use ".minecraft/versions/{MCVER}/" + * @param version to locate version.json + * + * @throws IOException if create tmp directory failed + */ + public static void export(File output, IMinecraftProvider provider, String version) throws IOException, GameException { + File tmp = new File(System.getProperty("java.io.tmpdir"), "hmcl-modpack"); + tmp.mkdirs(); + + File root = new File(tmp, "minecraft"); + + HMCLog.log("Copying files from game directory."); + FileUtils.copyDirectory(provider.getRunDirectory(version), root); + File pack = new File(root, "pack.json"); + MinecraftVersion mv = provider.getVersionById(version).resolve(provider); + try { + FileUtils.writeStringToFile(pack, C.gsonPrettyPrinting.toJson(mv)); + String[] blacklist = { "usernamecache.json", "asm", "logs", "backups", "versions", "assets", "usercache.json", "libraries", "crash-reports", "launcher_profiles.json", "NVIDIA", "TCNodeTracker" }; + HMCLog.log("Removing files in blacklist, including files or directories: usernamecache.json, asm, logs, backups, versions, assets, usercache.json, libraries, crash-reports, launcher_profiles.json, NVIDIA, TCNodeTracker"); + for (String s : blacklist) { + File f = new File(root, s); + if (f.isFile()) + f.delete(); + else if (f.isDirectory()) + FileUtils.deleteDirectory(f); + } + HMCLog.log("Compressing game files"); + Compressor.zip(tmp, output); + } finally { + FileUtils.deleteDirectory(tmp); + } + } + +} diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftAssetService.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftAssetService.java index a4fa014a7..1d53fe2fa 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftAssetService.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftAssetService.java @@ -19,7 +19,7 @@ package org.jackhuang.hellominecraft.launcher.core.service; import java.io.File; import java.io.IOException; -import org.jackhuang.hellominecraft.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.Task; /** * diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftDownloadService.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftDownloadService.java index 4620dd777..f81a76dff 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftDownloadService.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftDownloadService.java @@ -21,7 +21,7 @@ import java.util.List; import org.jackhuang.hellominecraft.launcher.core.GameException; import org.jackhuang.hellominecraft.launcher.core.download.DownloadLibraryJob; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftVersion; -import org.jackhuang.hellominecraft.version.MinecraftRemoteVersion; +import org.jackhuang.hellominecraft.utils.version.MinecraftRemoteVersion; import rx.Observable; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftInstallerService.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftInstallerService.java index 27c7e0359..b2dd63f3b 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftInstallerService.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/service/IMinecraftInstallerService.java @@ -19,7 +19,7 @@ package org.jackhuang.hellominecraft.launcher.core.service; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerType; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerVersionList; -import org.jackhuang.hellominecraft.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.Task; /** * diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersion.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersion.java index 89d890870..56e67f382 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersion.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersion.java @@ -22,7 +22,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.launcher.core.GameException; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftProvider; import org.jackhuang.hellominecraft.launcher.core.assets.AssetsIndex; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersionManager.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersionManager.java index 29e7ac68f..a7ff4fd57 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersionManager.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersionManager.java @@ -24,20 +24,20 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Map; import java.util.TreeMap; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.GameException; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftProvider; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftService; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.launcher.core.MCUtils; -import org.jackhuang.hellominecraft.tasks.DecompressTask; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.DecompressTask; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.system.IOUtils; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.functions.Consumer; -import org.jackhuang.hellominecraft.views.SwingUtils; +import org.jackhuang.hellominecraft.utils.views.SwingUtils; /** * diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/ServerInfo.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/ServerInfo.java index b7adab73a..4b8b9ba4c 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/ServerInfo.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/ServerInfo.java @@ -21,7 +21,7 @@ import java.io.File; import java.util.HashMap; import javax.swing.Icon; import javax.swing.ImageIcon; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.Utils; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Profile.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Profile.java index bbe0d4272..22bc2fd72 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Profile.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Profile.java @@ -19,8 +19,8 @@ package org.jackhuang.hellominecraft.launcher.settings; import java.io.File; import java.io.IOException; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.Main; import org.jackhuang.hellominecraft.launcher.api.PluginManager; import org.jackhuang.hellominecraft.launcher.core.LauncherVisibility; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Settings.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Settings.java index 43ce24270..90a594a70 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Settings.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Settings.java @@ -25,8 +25,8 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.Main; import org.jackhuang.hellominecraft.launcher.core.download.DownloadType; import org.jackhuang.hellominecraft.utils.CollectionUtils; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java index 7d9850b07..221ce437d 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java @@ -23,15 +23,15 @@ import java.util.Date; import java.util.HashMap; import java.util.HashSet; import javax.swing.SwingUtilities; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.Main; import org.jackhuang.hellominecraft.launcher.settings.Settings; import org.jackhuang.hellominecraft.utils.NetUtils; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.utils.system.OS; -import org.jackhuang.hellominecraft.views.LogWindow; +import org.jackhuang.hellominecraft.utils.views.LogWindow; /** * diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/DefaultMinecraftService.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/DefaultMinecraftService.java index 88ed8e77c..e27cc7152 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/DefaultMinecraftService.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/DefaultMinecraftService.java @@ -33,7 +33,7 @@ import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftLoader; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftModService; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftProvider; import org.jackhuang.hellominecraft.launcher.core.service.IMinecraftService; -import org.jackhuang.hellominecraft.launcher.core.version.MinecraftModService; +import org.jackhuang.hellominecraft.launcher.core.mod.MinecraftModService; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftVersionManager; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/MinecraftCrashAdvicer.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/MinecraftCrashAdvicer.java index 7bf3bfa54..276202c67 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/MinecraftCrashAdvicer.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/MinecraftCrashAdvicer.java @@ -17,7 +17,7 @@ */ package org.jackhuang.hellominecraft.launcher.utils; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; /** * Give the advice to solve the Minecraft crashing. diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/upgrade/AppDataUpgrader.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/upgrade/AppDataUpgrader.java index 3f4763dc2..eade88faa 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/upgrade/AppDataUpgrader.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/upgrade/AppDataUpgrader.java @@ -34,12 +34,12 @@ import java.util.jar.JarFile; import java.util.jar.JarOutputStream; import java.util.jar.Pack200; import java.util.zip.GZIPInputStream; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.MCUtils; -import org.jackhuang.hellominecraft.tasks.Task; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.ArrayUtils; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.UpdateChecker; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/upgrade/NewFileUpgrader.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/upgrade/NewFileUpgrader.java index dd5592f7e..0e00b9d3a 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/upgrade/NewFileUpgrader.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/upgrade/NewFileUpgrader.java @@ -21,9 +21,9 @@ import java.io.File; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; -import org.jackhuang.hellominecraft.HMCLog; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.HMCLog; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.ArrayUtils; import org.jackhuang.hellominecraft.utils.VersionNumber; import org.jackhuang.hellominecraft.utils.system.FileUtils; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameDownloadPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameDownloadPanel.java index df713a22c..53cf925b0 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameDownloadPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameDownloadPanel.java @@ -18,11 +18,11 @@ package org.jackhuang.hellominecraft.launcher.views; import javax.swing.table.DefaultTableModel; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.StrUtils; -import org.jackhuang.hellominecraft.views.SwingUtils; +import org.jackhuang.hellominecraft.utils.views.SwingUtils; import rx.concurrency.Schedulers; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form index ac5172dba..5a341e708 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form @@ -88,7 +88,10 @@ - + + + + @@ -109,7 +112,7 @@ - + @@ -177,7 +180,11 @@ - + + + + + @@ -337,6 +344,22 @@ + + + + + + + + + + + + + + + + diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java index b6ab61070..165bcb556 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java @@ -33,6 +33,8 @@ import java.awt.event.KeyEvent; import java.io.File; import java.io.IOException; import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.swing.JFileChooser; import javax.swing.JMenuItem; import javax.swing.JOptionPane; @@ -40,24 +42,29 @@ import javax.swing.JPopupMenu; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.event.TableModelEvent; +import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.table.DefaultTableModel; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; +import org.jackhuang.hellominecraft.launcher.core.GameException; import org.jackhuang.hellominecraft.launcher.core.LauncherVisibility; import org.jackhuang.hellominecraft.launcher.settings.Profile; import org.jackhuang.hellominecraft.launcher.settings.Settings; import org.jackhuang.hellominecraft.launcher.utils.FileNameFilter; import org.jackhuang.hellominecraft.launcher.core.ModInfo; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerType; +import org.jackhuang.hellominecraft.launcher.core.mod.ModpackManager; import org.jackhuang.hellominecraft.launcher.core.version.GameDirType; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftVersion; +import org.jackhuang.hellominecraft.utils.tasks.TaskRunnable; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; import org.jackhuang.hellominecraft.utils.Event; import org.jackhuang.hellominecraft.utils.system.IOUtils; import org.jackhuang.hellominecraft.utils.MessageBox; -import org.jackhuang.hellominecraft.version.MinecraftVersionRequest; +import org.jackhuang.hellominecraft.utils.version.MinecraftVersionRequest; import org.jackhuang.hellominecraft.utils.system.OS; import org.jackhuang.hellominecraft.utils.StrUtils; -import org.jackhuang.hellominecraft.views.SwingUtils; +import org.jackhuang.hellominecraft.utils.views.SwingUtils; import org.jackhuang.hellominecraft.utils.system.Java; import rx.Observable; import rx.concurrency.Schedulers; @@ -254,6 +261,8 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget btnChoosingJavaDir = new javax.swing.JButton(); cboJava = new javax.swing.JComboBox(); btnChoosingGameDir = new javax.swing.JButton(); + btnExportModpack = new javax.swing.JButton(); + btnImportModpack = new javax.swing.JButton(); pnlAdvancedSettings = new AnimatedPanel(); chkDebug = new javax.swing.JCheckBox(); lblJavaArgs = new javax.swing.JLabel(); @@ -394,6 +403,20 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget } }); + btnExportModpack.setText("导出整合包"); + btnExportModpack.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnExportModpackActionPerformed(evt); + } + }); + + btnImportModpack.setText("导入整合包"); + btnImportModpack.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnImportModpackActionPerformed(evt); + } + }); + javax.swing.GroupLayout pnlSettingsLayout = new javax.swing.GroupLayout(pnlSettings); pnlSettings.setLayout(pnlSettingsLayout); pnlSettingsLayout.setHorizontalGroup( @@ -403,7 +426,10 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget .addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlSettingsLayout.createSequentialGroup() .addComponent(btnDownloadAllAssets) - .addGap(0, 0, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(btnImportModpack) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(btnExportModpack)) .addGroup(pnlSettingsLayout.createSequentialGroup() .addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblJavaDir) @@ -422,7 +448,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget .addComponent(lblDimensionX) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtHeight, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 425, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 444, Short.MAX_VALUE) .addComponent(chkFullscreen)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlSettingsLayout.createSequentialGroup() .addComponent(txtMaxMemory) @@ -475,7 +501,10 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget .addComponent(lblDimension) .addComponent(txtWidth, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 113, Short.MAX_VALUE) - .addComponent(btnDownloadAllAssets) + .addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(btnDownloadAllAssets) + .addComponent(btnExportModpack) + .addComponent(btnImportModpack)) .addContainerGap()) ); @@ -1105,6 +1134,44 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget getProfile().service().version().cleanFolder(); }//GEN-LAST:event_btnCleanGameActionPerformed + private void btnImportModpackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnImportModpackActionPerformed + JFileChooser fc = new JFileChooser(); + fc.setFileSelectionMode(JFileChooser.FILES_ONLY); + fc.setDialogTitle(C.i18n("settings.modpack.choose")); + fc.setMultiSelectionEnabled(false); + fc.setFileFilter(new FileNameExtensionFilter(C.i18n("settings.modpack"), ".zip")); + fc.showOpenDialog(this); + if (fc.getSelectedFile() == null) + return; + TaskWindow.getInstance().addTask(new TaskRunnable(C.i18n("settings.modpack"), () -> { + try { + ModpackManager.install(fc.getSelectedFile(), getProfile().getCanonicalGameDirFile(), fc.getSelectedFile().getName()); + } catch (IOException ex) { + MessageBox.Show(C.i18n("settings.modpack.install_error")); + HMCLog.err("Failed to install modpack", ex); + } + })).start(); + }//GEN-LAST:event_btnImportModpackActionPerformed + + private void btnExportModpackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExportModpackActionPerformed + JFileChooser fc = new JFileChooser(); + fc.setFileSelectionMode(JFileChooser.FILES_ONLY); + fc.setDialogTitle(C.i18n("settings.modpack.save")); + fc.setMultiSelectionEnabled(false); + fc.setFileFilter(new FileNameExtensionFilter(C.i18n("settings.modpack"), ".zip")); + fc.showSaveDialog(this); + if (fc.getSelectedFile() == null) + return; + TaskWindow.getInstance().addTask(new TaskRunnable(C.i18n("settings.modpack"), () -> { + try { + ModpackManager.export(fc.getSelectedFile(), getProfile().service().version(), getProfile().getSelectedVersion()); + } catch (IOException | GameException ex) { + MessageBox.Show(C.i18n("settings.modpack.export_error")); + HMCLog.err("Failed to export modpack", ex); + } + })).start(); + }//GEN-LAST:event_btnExportModpackActionPerformed + // // private void loadProfiles() { @@ -1286,6 +1353,8 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget private javax.swing.JButton btnCleanGame; private javax.swing.JButton btnDownloadAllAssets; private javax.swing.JButton btnExplore; + private javax.swing.JButton btnExportModpack; + private javax.swing.JButton btnImportModpack; private javax.swing.JButton btnIncludeMinecraft; private javax.swing.JButton btnModify; private javax.swing.JButton btnNewProfile; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java index 5d50d6b35..4fda450c3 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/InstallerPanel.java @@ -20,17 +20,17 @@ package org.jackhuang.hellominecraft.launcher.views; import java.util.List; import javax.swing.SwingUtilities; import javax.swing.table.DefaultTableModel; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.launcher.settings.Settings; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerType; import org.jackhuang.hellominecraft.launcher.core.installers.InstallerVersionList; -import org.jackhuang.hellominecraft.tasks.TaskRunnable; -import org.jackhuang.hellominecraft.tasks.TaskRunnableArg1; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.communication.DefaultPreviousResult; +import org.jackhuang.hellominecraft.utils.tasks.TaskRunnable; +import org.jackhuang.hellominecraft.utils.tasks.TaskRunnableArg1; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.communication.DefaultPreviousResult; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.StrUtils; -import org.jackhuang.hellominecraft.views.SwingUtils; +import org.jackhuang.hellominecraft.utils.views.SwingUtils; /** * diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.java index d746e68e2..6a6bf1188 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/LauncherSettingsPanel.java @@ -22,13 +22,13 @@ import java.io.IOException; import javax.swing.DefaultComboBoxModel; import javax.swing.JFileChooser; import javax.swing.filechooser.FileNameExtensionFilter; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.settings.Settings; import org.jackhuang.hellominecraft.launcher.core.download.DownloadType; import org.jackhuang.hellominecraft.utils.system.IOUtils; import org.jackhuang.hellominecraft.utils.MessageBox; -import org.jackhuang.hellominecraft.views.SwingUtils; +import org.jackhuang.hellominecraft.utils.views.SwingUtils; import rx.Observable; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainFrame.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainFrame.java index 27ed2d51a..8648cb724 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainFrame.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainFrame.java @@ -40,8 +40,8 @@ import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.Main; import org.jackhuang.hellominecraft.launcher.settings.Settings; import org.jackhuang.hellominecraft.launcher.core.auth.IAuthenticator; @@ -49,9 +49,9 @@ import org.jackhuang.hellominecraft.lookandfeel.GraphicsUtils; import org.jackhuang.hellominecraft.lookandfeel.Theme; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.utils.Utils; -import org.jackhuang.hellominecraft.views.DropShadowBorder; -import org.jackhuang.hellominecraft.views.TintablePanel; -import org.jackhuang.hellominecraft.views.BasicColors; +import org.jackhuang.hellominecraft.utils.views.DropShadowBorder; +import org.jackhuang.hellominecraft.utils.views.TintablePanel; +import org.jackhuang.hellominecraft.utils.views.BasicColors; /** * diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.java index f36151413..5b3eb5850 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/MainPagePanel.java @@ -27,8 +27,8 @@ import java.io.IOException; import java.util.List; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.launcher.core.launch.DefaultGameLauncher; import org.jackhuang.hellominecraft.launcher.core.GameException; import org.jackhuang.hellominecraft.launcher.core.auth.IAuthenticator; @@ -46,7 +46,7 @@ import org.jackhuang.hellominecraft.utils.Event; import org.jackhuang.hellominecraft.lookandfeel.components.ConstomButton; import org.jackhuang.hellominecraft.utils.functions.Consumer; import org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor; -import org.jackhuang.hellominecraft.views.LogWindow; +import org.jackhuang.hellominecraft.utils.views.LogWindow; /** * diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.java index db4406bd6..14fdbdd04 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/NewProfileWindow.java @@ -17,7 +17,7 @@ */ package org.jackhuang.hellominecraft.launcher.views; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.launcher.settings.Profile; import org.jackhuang.hellominecraft.launcher.settings.Settings; import org.jackhuang.hellominecraft.utils.StrUtils; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListCellRenderer.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListCellRenderer.java index 659ea1299..0f63af9ac 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListCellRenderer.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListCellRenderer.java @@ -21,7 +21,7 @@ import java.awt.Component; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.ListCellRenderer; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.launcher.core.version.ServerInfo; /** diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.java index d0c14ee60..1d70ecc93 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/ServerListView.java @@ -20,7 +20,7 @@ package org.jackhuang.hellominecraft.launcher.views; import java.awt.Color; import javax.swing.DefaultListModel; import javax.swing.JList; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; import org.jackhuang.hellominecraft.launcher.core.version.ServerInfo; /** diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/C.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/C.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/C.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/C.java index c9c9a0a6d..fa2aed1f2 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/C.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/C.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft; +package org.jackhuang.hellominecraft.utils; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/HMCLog.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/HMCLog.java similarity index 93% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/HMCLog.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/HMCLog.java index 89169e2da..4c23b80f7 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/HMCLog.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/HMCLog.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft; +package org.jackhuang.hellominecraft.utils; -import org.jackhuang.hellominecraft.logging.logger.Logger; +import org.jackhuang.hellominecraft.utils.logging.logger.Logger; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/MessageBox.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/MessageBox.java index f3d86d00c..1954fa76b 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/MessageBox.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/MessageBox.java @@ -17,9 +17,8 @@ */ package org.jackhuang.hellominecraft.utils; -import org.jackhuang.hellominecraft.views.SwingUtils; +import org.jackhuang.hellominecraft.utils.views.SwingUtils; import javax.swing.JOptionPane; -import org.jackhuang.hellominecraft.C; /** * @author huangyuhui diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java index 66d4cc803..a0889ba7e 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java @@ -27,7 +27,6 @@ import java.net.MalformedURLException; import java.net.Proxy; import java.net.URL; import java.util.Map; -import org.jackhuang.hellominecraft.HMCLog; import org.jackhuang.hellominecraft.utils.system.IOUtils; import rx.Observable; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/UpdateChecker.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/UpdateChecker.java index 243440e32..61802f023 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/UpdateChecker.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/UpdateChecker.java @@ -18,8 +18,6 @@ package org.jackhuang.hellominecraft.utils; import java.util.Map; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; import rx.Observable; /** diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/Utils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/Utils.java index 1bbf63cea..c41e3c1b7 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/Utils.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/Utils.java @@ -31,7 +31,6 @@ import java.net.URLClassLoader; import java.net.URLDecoder; import java.util.Random; import javax.swing.ImageIcon; -import org.jackhuang.hellominecraft.HMCLog; /** * @author huangyuhui diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/VersionNumber.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/VersionNumber.java index 304ae4a2a..d37913719 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/VersionNumber.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/VersionNumber.java @@ -17,8 +17,6 @@ */ package org.jackhuang.hellominecraft.utils; -import org.jackhuang.hellominecraft.HMCLog; - /** * * @author huangyuhui diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/AppenderControl.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/AppenderControl.java similarity index 95% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/AppenderControl.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/AppenderControl.java index ebaccdcc5..b194888c3 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/AppenderControl.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/AppenderControl.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging; +package org.jackhuang.hellominecraft.utils.logging; -import org.jackhuang.hellominecraft.logging.appender.IAppender; +import org.jackhuang.hellominecraft.utils.logging.appender.IAppender; public class AppenderControl { diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/Configuration.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/Configuration.java similarity index 81% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/Configuration.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/Configuration.java index b54ad53c2..8137cef3d 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/Configuration.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/Configuration.java @@ -15,12 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging; +package org.jackhuang.hellominecraft.utils.logging; import java.util.ArrayList; -import org.jackhuang.hellominecraft.logging.appender.ConsoleAppender; -import org.jackhuang.hellominecraft.logging.appender.IAppender; -import org.jackhuang.hellominecraft.logging.layout.DefaultLayout; +import org.jackhuang.hellominecraft.utils.logging.appender.ConsoleAppender; +import org.jackhuang.hellominecraft.utils.logging.appender.IAppender; +import org.jackhuang.hellominecraft.utils.logging.layout.DefaultLayout; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/Level.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/Level.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/Level.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/Level.java index 3938d61e0..7e6c2011c 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/Level.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/Level.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging; +package org.jackhuang.hellominecraft.utils.logging; import java.awt.Color; import java.util.regex.Matcher; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/LogEvent.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/LogEvent.java similarity index 88% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/LogEvent.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/LogEvent.java index e75460ff0..7f3912075 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/LogEvent.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/LogEvent.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging; +package org.jackhuang.hellominecraft.utils.logging; -import org.jackhuang.hellominecraft.logging.message.IMessage; +import org.jackhuang.hellominecraft.utils.logging.message.IMessage; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/LoggingException.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/LoggingException.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/LoggingException.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/LoggingException.java index afe165f80..b8d7c88a7 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/LoggingException.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/LoggingException.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging; +package org.jackhuang.hellominecraft.utils.logging; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/AbstractAppender.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/AbstractAppender.java similarity index 92% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/AbstractAppender.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/AbstractAppender.java index a7ee28ed7..a5af798c8 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/AbstractAppender.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/AbstractAppender.java @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.appender; +package org.jackhuang.hellominecraft.utils.logging.appender; import java.io.Serializable; -import org.jackhuang.hellominecraft.logging.layout.ILayout; +import org.jackhuang.hellominecraft.utils.logging.layout.ILayout; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/ConsoleAppender.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/ConsoleAppender.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/ConsoleAppender.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/ConsoleAppender.java index a39f7ef18..c4f86870b 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/ConsoleAppender.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/ConsoleAppender.java @@ -15,12 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.appender; +package org.jackhuang.hellominecraft.utils.logging.appender; import java.io.IOException; import java.io.OutputStream; import java.io.Serializable; -import org.jackhuang.hellominecraft.logging.layout.ILayout; +import org.jackhuang.hellominecraft.utils.logging.layout.ILayout; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/IAppender.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/IAppender.java similarity index 84% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/IAppender.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/IAppender.java index e1bedad53..54da4e8f2 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/IAppender.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/IAppender.java @@ -15,11 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.appender; +package org.jackhuang.hellominecraft.utils.logging.appender; import java.io.Serializable; -import org.jackhuang.hellominecraft.logging.LogEvent; -import org.jackhuang.hellominecraft.logging.layout.ILayout; +import org.jackhuang.hellominecraft.utils.logging.LogEvent; +import org.jackhuang.hellominecraft.utils.logging.layout.ILayout; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/OutputStreamAppender.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/OutputStreamAppender.java similarity index 89% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/OutputStreamAppender.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/OutputStreamAppender.java index 13330d760..e828e323a 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/appender/OutputStreamAppender.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/appender/OutputStreamAppender.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.appender; +package org.jackhuang.hellominecraft.utils.logging.appender; import java.io.IOException; import java.io.OutputStream; @@ -23,9 +23,9 @@ import java.io.PrintStream; import java.io.Serializable; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantReadWriteLock; -import org.jackhuang.hellominecraft.logging.LogEvent; -import org.jackhuang.hellominecraft.logging.LoggingException; -import org.jackhuang.hellominecraft.logging.layout.ILayout; +import org.jackhuang.hellominecraft.utils.logging.LogEvent; +import org.jackhuang.hellominecraft.utils.logging.LoggingException; +import org.jackhuang.hellominecraft.utils.logging.layout.ILayout; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/layout/AbstractStringLayout.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/layout/AbstractStringLayout.java similarity index 89% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/layout/AbstractStringLayout.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/layout/AbstractStringLayout.java index 11c7d40ed..c7c738f0e 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/layout/AbstractStringLayout.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/layout/AbstractStringLayout.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.layout; +package org.jackhuang.hellominecraft.utils.logging.layout; -import org.jackhuang.hellominecraft.logging.LogEvent; +import org.jackhuang.hellominecraft.utils.logging.LogEvent; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/layout/DefaultLayout.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/layout/DefaultLayout.java similarity index 91% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/layout/DefaultLayout.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/layout/DefaultLayout.java index e9dfa9f98..95f02f1fe 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/layout/DefaultLayout.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/layout/DefaultLayout.java @@ -15,11 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.layout; +package org.jackhuang.hellominecraft.utils.logging.layout; import java.text.SimpleDateFormat; import java.util.Date; -import org.jackhuang.hellominecraft.logging.LogEvent; +import org.jackhuang.hellominecraft.utils.logging.LogEvent; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/layout/ILayout.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/layout/ILayout.java similarity index 88% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/layout/ILayout.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/layout/ILayout.java index f880f7e8a..c6f19d0cc 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/layout/ILayout.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/layout/ILayout.java @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.layout; +package org.jackhuang.hellominecraft.utils.logging.layout; import java.io.Serializable; -import org.jackhuang.hellominecraft.logging.LogEvent; +import org.jackhuang.hellominecraft.utils.logging.LogEvent; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/AbstractLogger.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/AbstractLogger.java similarity index 97% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/AbstractLogger.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/AbstractLogger.java index e1f172646..d4cfba049 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/AbstractLogger.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/AbstractLogger.java @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.logger; +package org.jackhuang.hellominecraft.utils.logging.logger; -import org.jackhuang.hellominecraft.logging.Level; -import org.jackhuang.hellominecraft.logging.message.IMessage; -import org.jackhuang.hellominecraft.logging.message.IMessageFactory; -import org.jackhuang.hellominecraft.logging.message.ParameterizedMessageFactory; -import org.jackhuang.hellominecraft.logging.message.StringFormattedMessage; +import org.jackhuang.hellominecraft.utils.logging.Level; +import org.jackhuang.hellominecraft.utils.logging.message.IMessage; +import org.jackhuang.hellominecraft.utils.logging.message.IMessageFactory; +import org.jackhuang.hellominecraft.utils.logging.message.ParameterizedMessageFactory; +import org.jackhuang.hellominecraft.utils.logging.message.StringFormattedMessage; public abstract class AbstractLogger implements ILogger { diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/ILogger.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/ILogger.java similarity index 95% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/ILogger.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/ILogger.java index e2182712f..3982883c4 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/ILogger.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/ILogger.java @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.logger; +package org.jackhuang.hellominecraft.utils.logging.logger; -import org.jackhuang.hellominecraft.logging.Level; -import org.jackhuang.hellominecraft.logging.message.IMessage; +import org.jackhuang.hellominecraft.utils.logging.Level; +import org.jackhuang.hellominecraft.utils.logging.message.IMessage; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/Logger.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/Logger.java similarity index 90% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/Logger.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/Logger.java index 5f91fff7e..d5b2a535a 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/Logger.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/Logger.java @@ -15,18 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.logger; +package org.jackhuang.hellominecraft.utils.logging.logger; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.jackhuang.hellominecraft.logging.AppenderControl; -import org.jackhuang.hellominecraft.logging.Configuration; -import org.jackhuang.hellominecraft.logging.Level; -import org.jackhuang.hellominecraft.logging.LogEvent; -import org.jackhuang.hellominecraft.logging.appender.IAppender; -import org.jackhuang.hellominecraft.logging.message.IMessage; -import org.jackhuang.hellominecraft.logging.message.IMessageFactory; +import org.jackhuang.hellominecraft.utils.logging.AppenderControl; +import org.jackhuang.hellominecraft.utils.logging.Configuration; +import org.jackhuang.hellominecraft.utils.logging.Level; +import org.jackhuang.hellominecraft.utils.logging.LogEvent; +import org.jackhuang.hellominecraft.utils.logging.appender.IAppender; +import org.jackhuang.hellominecraft.utils.logging.message.IMessage; +import org.jackhuang.hellominecraft.utils.logging.message.IMessageFactory; public class Logger extends AbstractLogger { diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/SimpleLogger.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/SimpleLogger.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/SimpleLogger.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/SimpleLogger.java index 9f501cd78..be8da2aff 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/logger/SimpleLogger.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/logger/SimpleLogger.java @@ -15,16 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.logger; +package org.jackhuang.hellominecraft.utils.logging.logger; import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; -import org.jackhuang.hellominecraft.logging.Level; -import org.jackhuang.hellominecraft.logging.message.IMessage; -import org.jackhuang.hellominecraft.logging.message.IMessageFactory; +import org.jackhuang.hellominecraft.utils.logging.Level; +import org.jackhuang.hellominecraft.utils.logging.message.IMessage; +import org.jackhuang.hellominecraft.utils.logging.message.IMessageFactory; public class SimpleLogger extends AbstractLogger { diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/AbstractMessageFactory.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/AbstractMessageFactory.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/AbstractMessageFactory.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/AbstractMessageFactory.java index c921691ae..b6a5bc777 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/AbstractMessageFactory.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/AbstractMessageFactory.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.message; +package org.jackhuang.hellominecraft.utils.logging.message; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/IMessage.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/IMessage.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/IMessage.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/IMessage.java index ba86dc1c8..5f2a8dfc4 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/IMessage.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/IMessage.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.message; +package org.jackhuang.hellominecraft.utils.logging.message; import java.io.Serializable; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/IMessageFactory.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/IMessageFactory.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/IMessageFactory.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/IMessageFactory.java index da19f2ea4..2e529dbb8 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/IMessageFactory.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/IMessageFactory.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.message; +package org.jackhuang.hellominecraft.utils.logging.message; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/ObjectMessage.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/ObjectMessage.java similarity index 97% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/ObjectMessage.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/ObjectMessage.java index 5a7a9eaec..eb6914bf5 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/ObjectMessage.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/ObjectMessage.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.message; +package org.jackhuang.hellominecraft.utils.logging.message; public class ObjectMessage implements IMessage { diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/ParameterizedMessage.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/ParameterizedMessage.java similarity index 99% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/ParameterizedMessage.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/ParameterizedMessage.java index 6a431dfd1..6df4d3c8a 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/ParameterizedMessage.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/ParameterizedMessage.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.message; +package org.jackhuang.hellominecraft.utils.logging.message; import java.text.SimpleDateFormat; import java.util.Arrays; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/ParameterizedMessageFactory.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/ParameterizedMessageFactory.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/ParameterizedMessageFactory.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/ParameterizedMessageFactory.java index c6c699e57..7459cf5c5 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/ParameterizedMessageFactory.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/ParameterizedMessageFactory.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.message; +package org.jackhuang.hellominecraft.utils.logging.message; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/SimpleMessage.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/SimpleMessage.java similarity index 97% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/SimpleMessage.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/SimpleMessage.java index ec6f01a4a..2d0eb6430 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/SimpleMessage.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/SimpleMessage.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.message; +package org.jackhuang.hellominecraft.utils.logging.message; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/StringFormattedMessage.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/StringFormattedMessage.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/StringFormattedMessage.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/StringFormattedMessage.java index 1a376c55e..1cabb13cb 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/logging/message/StringFormattedMessage.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/logging/message/StringFormattedMessage.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.logging.message; +package org.jackhuang.hellominecraft.utils.logging.message; import java.util.Arrays; import java.util.IllegalFormatException; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Compressor.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Compressor.java index 082cc1f16..e89ec7355 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Compressor.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Compressor.java @@ -25,9 +25,9 @@ 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; -import org.jackhuang.hellominecraft.utils.StrUtils; +import org.jackhuang.hellominecraft.utils.functions.Predicate; +import java.util.zip.ZipInputStream; /** * 文件压缩/解压类 @@ -69,6 +69,8 @@ public class Compressor { * @param source zip文件路径 * @param basePath 待压缩文件根目录 * @param zos zip文件的os + * + * @param callback if the file is allowed to be zipped. */ private static void zipFile(File source, String basePath, ZipOutputStream zos) throws IOException { @@ -86,8 +88,6 @@ public class Compressor { 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 { @@ -106,7 +106,7 @@ public class Compressor { } public static void unzip(File zipFileName, File extPlace) throws IOException { - unzip(zipFileName, extPlace, new String[0]); + unzip(zipFileName, extPlace, null); } /** @@ -114,30 +114,29 @@ public class Compressor { * * @param zipFileName zip文件路径 * @param extPlace 待压缩文件根目录 - * @param without 带前缀的不解压 + * @param callback will be called for every entry in the zip file, + * returns false if you dont want this file unzipped. * * @throws java.io.IOException 解压失败或无法写入 */ - public static void unzip(File zipFileName, File extPlace, String[] without) throws IOException { + public static void unzip(File zipFileName, File extPlace, Predicate callback) throws IOException { extPlace.mkdirs(); - try (ZipFile zipFile = new ZipFile(zipFileName)) { + try (ZipInputStream zipFile = new ZipInputStream(new FileInputStream(zipFileName))) { if (zipFileName.exists()) { String strPath, gbkPath, strtemp; strPath = extPlace.getAbsolutePath(); - java.util.Enumeration e = zipFile.entries(); - while (e.hasMoreElements()) { - ZipEntry zipEnt = (ZipEntry) e.nextElement(); + ZipEntry zipEnt; + while ((zipEnt = zipFile.getNextEntry()) != null) { gbkPath = zipEnt.getName(); - if (StrUtils.startsWithOne(without, gbkPath)) - continue; + if (callback != null) + if (!callback.apply(gbkPath)) + continue; if (zipEnt.isDirectory()) { strtemp = strPath + File.separator + gbkPath; File dir = new File(strtemp); dir.mkdirs(); } else { //读写文件 - InputStream is = zipFile.getInputStream(zipEnt); - BufferedInputStream bis = new BufferedInputStream(is); gbkPath = zipEnt.getName(); strtemp = strPath + File.separator + gbkPath; //建目录 @@ -151,7 +150,7 @@ public class Compressor { } try (FileOutputStream fos = new FileOutputStream(strtemp); BufferedOutputStream bos = new BufferedOutputStream(fos)) { int c; - while ((c = bis.read()) != -1) + while ((c = zipFile.read()) != -1) bos.write((byte) c); } } @@ -167,32 +166,35 @@ public class Compressor { * @param srcFile zip2 * * @throws java.io.IOException 无法写入或读取 + *//* + * public static void merge(File destFile, File srcFile) throws IOException + * { + * try (ZipOutputStream os = new ZipOutputStream(new + * FileOutputStream(destFile))) { + * if (destFile.exists()) { + * File extPlace = new File(IOUtils.currentDir(), "HMCL-MERGE-TEMP"); + * unzip(srcFile, extPlace); + * ZipFile zipFile = new ZipFile(srcFile); + * if (srcFile.exists()) { + * String gbkPath;//, strtemp, strPath; + * //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; + * } else { + * gbkPath = zipEnt.getName(); + * //strtemp = strPath + File.separator + gbkPath; + * os.putNextEntry(zipEnt); + * os.write(gbkPath.getBytes("UTF-8")); + * } + * } + * } + * } + * os.closeEntry(); + * } + * } */ - public static void merge(File destFile, File srcFile) throws IOException { - try (ZipOutputStream os = new ZipOutputStream(new FileOutputStream(destFile))) { - if (destFile.exists()) { - File extPlace = new File(IOUtils.currentDir(), "HMCL-MERGE-TEMP"); - unzip(srcFile, extPlace); - ZipFile zipFile = new ZipFile(srcFile); - if (srcFile.exists()) { - String gbkPath;//, strtemp, strPath; - //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; - } else { - gbkPath = zipEnt.getName(); - //strtemp = strPath + File.separator + gbkPath; - os.putNextEntry(zipEnt); - os.write(gbkPath.getBytes("UTF-8")); - } - } - } - } - os.closeEntry(); - } - } } diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/FileUtils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/FileUtils.java index 731ec019a..6e676f44b 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/FileUtils.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/FileUtils.java @@ -27,7 +27,7 @@ import java.io.OutputStream; import java.nio.channels.FileChannel; import java.util.ArrayList; import java.util.List; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.NetUtils; /** diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/IOUtils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/IOUtils.java index 5a4e96667..468f51c22 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/IOUtils.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/IOUtils.java @@ -37,7 +37,7 @@ import java.net.URL; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Java.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Java.java index b046ffb05..e7992df6e 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Java.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Java.java @@ -22,8 +22,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/JdkVersion.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/JdkVersion.java index f99b21320..0b5a4a5db 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/JdkVersion.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/JdkVersion.java @@ -21,7 +21,7 @@ import java.io.File; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.StrUtils; /** diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/OS.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/OS.java index 084fb2b50..bc3cc6d56 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/OS.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/OS.java @@ -25,7 +25,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.lang.management.ManagementFactory; import java.util.StringTokenizer; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.StrUtils; /** diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/ProcessThread.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/ProcessThread.java index 8f4086a7b..d1ae491e6 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/ProcessThread.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/ProcessThread.java @@ -20,7 +20,7 @@ package org.jackhuang.hellominecraft.utils.system; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.EventHandler; /** diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/DecompressTask.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/DecompressTask.java similarity index 96% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/DecompressTask.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/DecompressTask.java index 4415680dd..1b2504df0 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/DecompressTask.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/DecompressTask.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; import java.io.File; import org.jackhuang.hellominecraft.utils.system.Compressor; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/DoingDoneListener.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/DoingDoneListener.java similarity index 95% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/DoingDoneListener.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/DoingDoneListener.java index 9e03fe388..6b2dade9c 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/DoingDoneListener.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/DoingDoneListener.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/DoubleTask.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/DoubleTask.java similarity index 95% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/DoubleTask.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/DoubleTask.java index 0b6f49c3d..87604d950 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/DoubleTask.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/DoubleTask.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/ParallelTask.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/ParallelTask.java similarity index 96% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/ParallelTask.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/ParallelTask.java index aea47944d..1f71df65a 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/ParallelTask.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/ParallelTask.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; import java.util.Collection; import java.util.HashSet; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/ProgressProviderListener.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/ProgressProviderListener.java similarity index 95% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/ProgressProviderListener.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/ProgressProviderListener.java index 2d3c4f981..27735ca06 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/ProgressProviderListener.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/ProgressProviderListener.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/Task.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/Task.java similarity index 96% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/Task.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/Task.java index 58aa788ad..c482b4f0a 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/Task.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/Task.java @@ -15,11 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; import java.util.ArrayList; import java.util.Collection; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskInfo.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskInfo.java similarity index 95% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskInfo.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskInfo.java index 1a4e2e019..3835ebc54 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskInfo.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskInfo.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskList.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskList.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskList.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskList.java index 31ba361bc..083abb0e9 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskList.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskList.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; import java.util.ArrayList; import java.util.Collection; @@ -24,7 +24,7 @@ import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskObservable.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskObservable.java similarity index 95% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskObservable.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskObservable.java index 0a53c6c9c..0cdc8ee7e 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskObservable.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskObservable.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; import rx.Observable; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskRunnable.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskRunnable.java similarity index 95% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskRunnable.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskRunnable.java index b20b9a893..7662d2035 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskRunnable.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskRunnable.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskRunnableArg1.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskRunnableArg1.java similarity index 87% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskRunnableArg1.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskRunnableArg1.java index 3dedd1eb9..4aaa47b3d 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskRunnableArg1.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskRunnableArg1.java @@ -15,11 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; import java.util.ArrayList; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResult; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResultRegistrar; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResult; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResultRegistrar; import org.jackhuang.hellominecraft.utils.functions.Consumer; /** diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskWindow.form similarity index 100% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.form rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskWindow.form diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskWindow.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskWindow.java index 9024f4d6a..d7d9570bb 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/TaskWindow.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/TaskWindow.java @@ -15,16 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks; +package org.jackhuang.hellominecraft.utils.tasks; import java.util.ArrayList; import java.util.LinkedList; import javax.swing.SwingUtilities; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.StrUtils; -import org.jackhuang.hellominecraft.views.SwingUtils; +import org.jackhuang.hellominecraft.utils.views.SwingUtils; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/communication/DefaultPreviousResult.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/communication/DefaultPreviousResult.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/communication/DefaultPreviousResult.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/communication/DefaultPreviousResult.java index ee6fe3790..a34b21ec8 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/communication/DefaultPreviousResult.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/communication/DefaultPreviousResult.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks.communication; +package org.jackhuang.hellominecraft.utils.tasks.communication; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/communication/PreviousResult.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/communication/PreviousResult.java similarity index 93% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/communication/PreviousResult.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/communication/PreviousResult.java index eb0b02ae5..f0e0cf1ba 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/communication/PreviousResult.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/communication/PreviousResult.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks.communication; +package org.jackhuang.hellominecraft.utils.tasks.communication; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/communication/PreviousResultRegistrar.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/communication/PreviousResultRegistrar.java similarity index 89% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/communication/PreviousResultRegistrar.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/communication/PreviousResultRegistrar.java index 8310bd6e6..1fd245521 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/communication/PreviousResultRegistrar.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/communication/PreviousResultRegistrar.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks.communication; +package org.jackhuang.hellominecraft.utils.tasks.communication; -import org.jackhuang.hellominecraft.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.Task; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/ContentGetAndShowTask.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/ContentGetAndShowTask.java similarity index 92% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/ContentGetAndShowTask.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/ContentGetAndShowTask.java index 84439c4cb..8f221a581 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/ContentGetAndShowTask.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/ContentGetAndShowTask.java @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks.download; +package org.jackhuang.hellominecraft.utils.tasks.download; import org.jackhuang.hellominecraft.utils.Event; -import org.jackhuang.hellominecraft.views.LogWindow; +import org.jackhuang.hellominecraft.utils.views.LogWindow; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/DownloadListener.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/DownloadListener.java similarity index 87% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/DownloadListener.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/DownloadListener.java index d23b66b28..1c3817b41 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/DownloadListener.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/DownloadListener.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks.download; +package org.jackhuang.hellominecraft.utils.tasks.download; -import org.jackhuang.hellominecraft.tasks.ProgressProviderListener; +import org.jackhuang.hellominecraft.utils.tasks.ProgressProviderListener; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/FileDownloadTask.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/FileDownloadTask.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/FileDownloadTask.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/FileDownloadTask.java index 43aef7fe7..1731d6e8b 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/FileDownloadTask.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/FileDownloadTask.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks.download; +package org.jackhuang.hellominecraft.utils.tasks.download; import java.io.File; import java.io.IOException; @@ -24,11 +24,11 @@ import java.io.RandomAccessFile; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; -import org.jackhuang.hellominecraft.tasks.Task; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResult; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResultRegistrar; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; +import org.jackhuang.hellominecraft.utils.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResult; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResultRegistrar; import org.jackhuang.hellominecraft.utils.system.IOUtils; /** @@ -132,6 +132,7 @@ public class FileDownloadTask extends Task implements PreviousResult, Prev stream = connection.getInputStream(); int lastDownloaded = 0; + downloaded = 0; long lastTime = System.currentTimeMillis(); while (true) { // Size buffer according to how much of the file is left to download. diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/HTTPGetTask.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/HTTPGetTask.java similarity index 92% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/HTTPGetTask.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/HTTPGetTask.java index 89d06a570..71baaae15 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/HTTPGetTask.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/HTTPGetTask.java @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks.download; +package org.jackhuang.hellominecraft.utils.tasks.download; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; -import org.jackhuang.hellominecraft.HMCLog; -import org.jackhuang.hellominecraft.tasks.TaskInfo; -import org.jackhuang.hellominecraft.tasks.communication.PreviousResult; +import org.jackhuang.hellominecraft.utils.HMCLog; +import org.jackhuang.hellominecraft.utils.tasks.TaskInfo; +import org.jackhuang.hellominecraft.utils.tasks.communication.PreviousResult; import org.jackhuang.hellominecraft.utils.EventHandler; /** diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/NetException.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/NetException.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/NetException.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/NetException.java index 8e8848166..be9919547 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/tasks/download/NetException.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/tasks/download/NetException.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.tasks.download; +package org.jackhuang.hellominecraft.utils.tasks.download; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteLatestVersion.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftRemoteLatestVersion.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteLatestVersion.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftRemoteLatestVersion.java index dcd17cd66..4c1ef29b4 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteLatestVersion.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftRemoteLatestVersion.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.version; +package org.jackhuang.hellominecraft.utils.version; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersion.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftRemoteVersion.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersion.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftRemoteVersion.java index 4a71b2774..a94ae48f3 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersion.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftRemoteVersion.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.version; +package org.jackhuang.hellominecraft.utils.version; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersions.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftRemoteVersions.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersions.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftRemoteVersions.java index 068aca81b..72cb94f24 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftRemoteVersions.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftRemoteVersions.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.version; +package org.jackhuang.hellominecraft.utils.version; import java.util.ArrayList; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftVersionRequest.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftVersionRequest.java similarity index 97% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftVersionRequest.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftVersionRequest.java index 519bf6886..16892f16e 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/version/MinecraftVersionRequest.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/version/MinecraftVersionRequest.java @@ -15,14 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.version; +package org.jackhuang.hellominecraft.utils.version; import java.io.File; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.ArrayUtils; import org.jackhuang.hellominecraft.utils.NetUtils; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/AbstractFilter.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/AbstractFilter.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/AbstractFilter.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/AbstractFilter.java index 815f27e2d..51a633ca3 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/AbstractFilter.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/AbstractFilter.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.views; +package org.jackhuang.hellominecraft.utils.views; import java.awt.Rectangle; import java.awt.RenderingHints; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/BasicColors.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/BasicColors.java similarity index 97% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/BasicColors.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/BasicColors.java index 553366406..f86110ef6 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/BasicColors.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/BasicColors.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.views; +package org.jackhuang.hellominecraft.utils.views; import java.awt.Color; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/DropShadowBorder.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/DropShadowBorder.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/DropShadowBorder.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/DropShadowBorder.java index 83c0affd5..a1e5f6f63 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/DropShadowBorder.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/DropShadowBorder.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.views; +package org.jackhuang.hellominecraft.utils.views; import java.awt.AlphaComposite; import java.awt.Color; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/FastBlurFilter.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/FastBlurFilter.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/FastBlurFilter.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/FastBlurFilter.java index d756d537a..19b58d8d5 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/FastBlurFilter.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/FastBlurFilter.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.views; +package org.jackhuang.hellominecraft.utils.views; import java.awt.image.BufferedImage; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/LogWindow.form b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/LogWindow.form similarity index 100% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/LogWindow.form rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/LogWindow.form diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/LogWindow.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/LogWindow.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/LogWindow.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/LogWindow.java index 8bd4faa75..de5f0ef16 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/LogWindow.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/LogWindow.java @@ -15,16 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.views; +package org.jackhuang.hellominecraft.utils.views; import java.awt.Frame; import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; -import org.jackhuang.hellominecraft.logging.Level; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; +import org.jackhuang.hellominecraft.utils.logging.Level; import org.jackhuang.hellominecraft.utils.functions.NonFunction; import org.jackhuang.hellominecraft.utils.DoubleOutputStream; import org.jackhuang.hellominecraft.utils.LauncherPrintStream; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/LogWindowOutputStream.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/LogWindowOutputStream.java similarity index 94% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/LogWindowOutputStream.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/LogWindowOutputStream.java index 46acd92c9..e92fad20a 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/LogWindowOutputStream.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/LogWindowOutputStream.java @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.views; +package org.jackhuang.hellominecraft.utils.views; import java.io.OutputStream; import java.util.Timer; import javax.swing.SwingUtilities; -import org.jackhuang.hellominecraft.logging.Level; -import org.jackhuang.hellominecraft.views.LogWindow; +import org.jackhuang.hellominecraft.utils.logging.Level; +import org.jackhuang.hellominecraft.utils.views.LogWindow; /** * diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.form b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/Selector.form similarity index 100% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.form rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/Selector.form diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/Selector.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/Selector.java index c9a71c66c..5a19c84e4 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/Selector.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/Selector.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.views; +package org.jackhuang.hellominecraft.utils.views; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; /** * The frame given to choose things. diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/SwingUtils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/SwingUtils.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/SwingUtils.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/SwingUtils.java index 31bcefb93..e391381b5 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/SwingUtils.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/SwingUtils.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.views; +package org.jackhuang.hellominecraft.utils.views; import java.awt.EventQueue; import java.awt.FontMetrics; @@ -33,8 +33,8 @@ import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.table.DefaultTableModel; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.utils.functions.NonFunction; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/TintablePanel.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/TintablePanel.java similarity index 98% rename from HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/TintablePanel.java rename to HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/TintablePanel.java index a82e20367..1a85a0b27 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/views/TintablePanel.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/views/TintablePanel.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hellominecraft.views; +package org.jackhuang.hellominecraft.utils.views; /** * diff --git a/HMCLAPI/src/main/java/rx/util/functions/Functions.java b/HMCLAPI/src/main/java/rx/util/functions/Functions.java index 9d4e54dec..b955a9b15 100755 --- a/HMCLAPI/src/main/java/rx/util/functions/Functions.java +++ b/HMCLAPI/src/main/java/rx/util/functions/Functions.java @@ -17,7 +17,7 @@ package rx.util.functions; import java.util.Collection; import java.util.concurrent.ConcurrentHashMap; -import org.jackhuang.hellominecraft.logging.logger.Logger; +import org.jackhuang.hellominecraft.utils.logging.logger.Logger; /** * Allows execution of functions from multiple different languages. diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties index 7c8ba36ca..fc91d2e29 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties @@ -206,9 +206,14 @@ settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84 settings.default=\u9ed8\u8ba4 settings.custom=\u81ea\u5b9a\u4e49 settings.choose_gamedir=\u9009\u62e9\u6e38\u620f\u8def\u5f84 - settings.failed_load=\u8bbe\u7f6e\u6587\u4ef6\u52a0\u8f7d\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u5347\u7ea7\u4e86\u542f\u52a8\u5668\u6216\u88ab\u4eba\u5de5\u4fee\u6539\u9020\u6210\u9519\u8bef\uff0c\u662f\u5426\u6e05\u9664\uff1f +settings.modpack.choose=\u9009\u62e9\u8981\u5bfc\u5165\u7684\u6e38\u620f\u6574\u5408\u5305\u6587\u4ef6 +settings.modpack.install_error=\u5b89\u88c5\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u6574\u5408\u5305\u683c\u5f0f\u4e0d\u6b63\u786e\u6216\u64cd\u4f5c\u6587\u4ef6\u5931\u8d25 +settings.modpack.save=\u9009\u62e9\u8981\u5bfc\u51fa\u5230\u7684\u6e38\u620f\u6574\u5408\u5305\u4f4d\u7f6e +settings.modpack.export_error=\u5bfc\u51fa\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u60a8\u7684\u6e38\u620f\u6587\u4ef6\u5939\u683c\u5f0f\u4e0d\u6b63\u786e\u6216\u64cd\u4f5c\u6587\u4ef6\u5931\u8d25 +settings.modpack=\u6574\u5408\u5305 + mods=Mod\u7ba1\u7406 mods.choose_mod=\u9009\u62e9\u6a21\u7ec4 mods.failed=\u6dfb\u52a0\u5931\u8d25 diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en.properties index d063e098f..d1d0bc518 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en.properties @@ -206,9 +206,14 @@ settings.choose_javapath=Choose Java Directory. settings.default=Default settings.custom=Custom settings.choose_gamedir=Choose Game Directory - settings.failed_load=Failed to load settings file. Remove it? +settings.modpack.choose=Choose a modpack zip file which you want to import. +settings.modpack.install_error=Failed to install the modpack, maybe the modpack file is incorrect or failed to manage files. +settings.modpack.save=Choose a location which you want to export the game files to. +settings.modpack.export_error=Failed to export the modpack, maybe the format of your game directory is incorrect or failed to manage files. +settings.modpack=Mod pack + mods=Mods mods.choose_mod=Choose your mods mods.failed=Failed to add mods diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh.properties index f26a1be28..033a78e64 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh.properties @@ -206,9 +206,14 @@ settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84 settings.default=\u9ed8\u8a8d settings.custom=\u81ea\u5b9a\u7fa9 settings.choose_gamedir=\u9009\u62e9\u6e38\u620f\u8def\u5f84 - settings.failed_load=\u8a2d\u5b9a\u6587\u4ef6\u52a0\u8f09\u5931\u6557\uff0c\u53ef\u80fd\u662f\u5347\u7d1a\u4e86\u555f\u52d5\u5668\u6216\u88ab\u4eba\u5de5\u4fee\u6539\u9020\u6210\u932f\u8aa4\uff0c\u662f\u5426\u6e05\u9664\uff1f +settings.modpack.choose=\u9078\u64c7\u8981\u5c0e\u5165\u7684\u904a\u6232\u6574\u5408\u5305\u6587\u4ef6 +settings.modpack.install_error=\u5b89\u88dd\u5931\u6557\uff0c\u53ef\u80fd\u662f\u6574\u5408\u5305\u683c\u5f0f\u4e0d\u6b63\u78ba\u6216\u64cd\u4f5c\u6587\u4ef6\u5931\u6557 +settings.modpack.save=\u9078\u64c7\u8981\u5c0e\u51fa\u5230\u7684\u904a\u6232\u6574\u5408\u5305\u4f4d\u7f6e +settings.modpack.export_error=\u5c0e\u51fa\u5931\u6557\uff0c\u53ef\u80fd\u662f\u60a8\u7684\u904a\u6232\u6587\u4ef6\u593e\u683c\u5f0f\u4e0d\u6b63\u78ba\u6216\u64cd\u4f5c\u6587\u4ef6\u5931\u6557 +settings.modpack=\u61f6\u4eba\u5305 + mods=Mod\u7ba1\u7406 mods.choose_mod=\u9009\u62e9\u6a21\u7ec4 mods.failed=\u6dfb\u52a0\u5931\u8d25 diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_CN.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_CN.properties index 0a4d5fc33..c414c0d03 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_CN.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_CN.properties @@ -206,9 +206,14 @@ settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84 settings.default=\u9ed8\u8ba4 settings.custom=\u81ea\u5b9a\u4e49 settings.choose_gamedir=\u9009\u62e9\u6e38\u620f\u8def\u5f84 - settings.failed_load=\u8bbe\u7f6e\u6587\u4ef6\u52a0\u8f7d\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u5347\u7ea7\u4e86\u542f\u52a8\u5668\u6216\u88ab\u4eba\u5de5\u4fee\u6539\u9020\u6210\u9519\u8bef\uff0c\u662f\u5426\u6e05\u9664\uff1f +settings.modpack.choose=\u9009\u62e9\u8981\u5bfc\u5165\u7684\u6e38\u620f\u6574\u5408\u5305\u6587\u4ef6 +settings.modpack.install_error=\u5b89\u88c5\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u6574\u5408\u5305\u683c\u5f0f\u4e0d\u6b63\u786e\u6216\u64cd\u4f5c\u6587\u4ef6\u5931\u8d25 +settings.modpack.save=\u9009\u62e9\u8981\u5bfc\u51fa\u5230\u7684\u6e38\u620f\u6574\u5408\u5305\u4f4d\u7f6e +settings.modpack.export_error=\u5bfc\u51fa\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u60a8\u7684\u6e38\u620f\u6587\u4ef6\u5939\u683c\u5f0f\u4e0d\u6b63\u786e\u6216\u64cd\u4f5c\u6587\u4ef6\u5931\u8d25 +settings.modpack=\u6574\u5408\u5305 + mods=Mod\u7ba1\u7406 mods.choose_mod=\u9009\u62e9\u6a21\u7ec4 mods.failed=\u6dfb\u52a0\u5931\u8d25 diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/Main.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/Main.java index 246b0bd8d..610b2ee5b 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/Main.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/Main.java @@ -23,8 +23,8 @@ import java.io.StringWriter; import java.text.ParseException; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; -import org.jackhuang.hellominecraft.HMCLog; -import org.jackhuang.hellominecraft.views.LogWindow; +import org.jackhuang.hellominecraft.utils.HMCLog; +import org.jackhuang.hellominecraft.utils.views.LogWindow; import org.jackhuang.hellominecraft.svrmgr.settings.SettingsManager; import org.jackhuang.hellominecraft.utils.UpdateChecker; import org.jackhuang.hellominecraft.svrmgr.views.MainWindow; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/bukkit/BukkitFormatThread.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/bukkit/BukkitFormatThread.java index 63304fac0..a2004f1a9 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/bukkit/BukkitFormatThread.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/bukkit/BukkitFormatThread.java @@ -20,7 +20,7 @@ package org.jackhuang.hellominecraft.svrmgr.installer.bukkit; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.functions.Consumer; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/cauldron/ForgeFormatThread.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/cauldron/ForgeFormatThread.java index 6c6eb60c3..66b62caf5 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/cauldron/ForgeFormatThread.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/cauldron/ForgeFormatThread.java @@ -23,7 +23,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import org.jackhuang.hellominecraft.utils.functions.Consumer; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/cauldron/ForgeInstaller.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/cauldron/ForgeInstaller.java index 08e06a03d..caa50ce7e 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/cauldron/ForgeInstaller.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/installer/cauldron/ForgeInstaller.java @@ -36,15 +36,15 @@ import java.util.jar.Pack200; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import javax.swing.JOptionPane; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.code.DigestUtils; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.utils.system.IOUtils; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.NetUtils; import org.jackhuang.hellominecraft.utils.StrUtils; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.tukaani.xz.XZInputStream; /** diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/Server.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/Server.java index 5af51775c..ecf2715f5 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/Server.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/Server.java @@ -35,7 +35,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.system.IOUtils; import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.utils.Pair; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/ServerChecker.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/ServerChecker.java index f8c79febc..a36759c76 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/ServerChecker.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/ServerChecker.java @@ -20,7 +20,7 @@ package org.jackhuang.hellominecraft.svrmgr.server; import java.io.File; import java.io.IOException; import java.util.zip.ZipFile; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; /** * diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/backups/BackupManager.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/backups/BackupManager.java index b297e2740..45342e6d7 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/backups/BackupManager.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/backups/BackupManager.java @@ -22,7 +22,7 @@ import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.system.Compressor; import org.jackhuang.hellominecraft.svrmgr.settings.SettingsManager; import org.jackhuang.hellominecraft.svrmgr.utils.Utilities; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/schedules/AutoExecuteSchedule.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/schedules/AutoExecuteSchedule.java index 75e6ae3d7..c8e510d42 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/schedules/AutoExecuteSchedule.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/server/schedules/AutoExecuteSchedule.java @@ -19,7 +19,7 @@ package org.jackhuang.hellominecraft.svrmgr.server.schedules; import java.io.IOException; import java.util.TimerTask; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.svrmgr.server.Server; import org.jackhuang.hellominecraft.svrmgr.settings.Schedule; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/PlayerList.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/PlayerList.java index 122f32054..a20dd9671 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/PlayerList.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/PlayerList.java @@ -22,7 +22,7 @@ import java.io.File; import java.io.IOException; import java.util.HashSet; import java.util.UUID; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.svrmgr.settings.PlayerList.BasePlayer; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/ServerProperties.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/ServerProperties.java index 18cde295b..65fb38dd9 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/ServerProperties.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/ServerProperties.java @@ -25,7 +25,7 @@ import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Properties; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; /** * diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/SettingsManager.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/SettingsManager.java index c0b5b3bb9..1df771e15 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/SettingsManager.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/settings/SettingsManager.java @@ -24,7 +24,7 @@ package org.jackhuang.hellominecraft.svrmgr.settings; import com.google.gson.Gson; import java.io.File; import java.io.IOException; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.utils.system.IOUtils; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/threads/MonitorThread.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/threads/MonitorThread.java index 67247ead6..7e5f45403 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/threads/MonitorThread.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/threads/MonitorThread.java @@ -23,7 +23,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.ArrayList; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; /** * diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/IPGet.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/IPGet.java index 260129f35..e1f52a924 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/IPGet.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/IPGet.java @@ -19,7 +19,7 @@ package org.jackhuang.hellominecraft.svrmgr.utils; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.NetUtils; import org.jackhuang.hellominecraft.utils.functions.Consumer; import org.jsoup.Jsoup; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/ModType.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/ModType.java index ac8976bb7..11094ea9d 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/ModType.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/utils/ModType.java @@ -23,7 +23,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; /** * 判断mod类型 diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java index ebe2999a8..0e48f1c14 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/MainWindow.java @@ -45,12 +45,12 @@ import javax.swing.JOptionPane; import javax.swing.JPopupMenu; import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.table.DefaultTableModel; -import org.jackhuang.hellominecraft.C; -import org.jackhuang.hellominecraft.HMCLog; -import org.jackhuang.hellominecraft.tasks.Task; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; -import org.jackhuang.hellominecraft.tasks.download.HTTPGetTask; +import org.jackhuang.hellominecraft.utils.C; +import org.jackhuang.hellominecraft.utils.HMCLog; +import org.jackhuang.hellominecraft.utils.tasks.Task; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.download.HTTPGetTask; import org.jackhuang.hellominecraft.utils.system.FileUtils; import org.jackhuang.hellominecraft.svrmgr.utils.IMonitorService; import org.jackhuang.hellominecraft.utils.system.IOUtils; @@ -58,7 +58,7 @@ import org.jackhuang.hellominecraft.utils.MessageBox; import org.jackhuang.hellominecraft.svrmgr.utils.ModType; import org.jackhuang.hellominecraft.svrmgr.utils.MonitorInfoBean; import org.jackhuang.hellominecraft.svrmgr.utils.MonitorServiceImpl; -import org.jackhuang.hellominecraft.version.MinecraftRemoteVersions; +import org.jackhuang.hellominecraft.utils.version.MinecraftRemoteVersions; import org.jackhuang.hellominecraft.svrmgr.Main; import org.jackhuang.hellominecraft.svrmgr.cbplugins.BukkitPlugin; import org.jackhuang.hellominecraft.svrmgr.cbplugins.Category; @@ -84,8 +84,8 @@ import org.jackhuang.hellominecraft.svrmgr.threads.MonitorThread; import org.jackhuang.hellominecraft.svrmgr.utils.FolderOpener; import org.jackhuang.hellominecraft.svrmgr.utils.IPGet; import org.jackhuang.hellominecraft.svrmgr.utils.Utilities; -import org.jackhuang.hellominecraft.views.SwingUtils; -import org.jackhuang.hellominecraft.version.MinecraftRemoteVersion; +import org.jackhuang.hellominecraft.utils.views.SwingUtils; +import org.jackhuang.hellominecraft.utils.version.MinecraftRemoteVersion; import org.jackhuang.hellominecraft.lookandfeel.components.ConstomButton; import org.jackhuang.hellominecraft.utils.Event; import org.jackhuang.hellominecraft.utils.StrUtils; diff --git a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/PluginInfoDialog.java b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/PluginInfoDialog.java index d89a0d78b..0b62c522d 100755 --- a/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/PluginInfoDialog.java +++ b/HMCSM/src/main/java/org/jackhuang/hellominecraft/svrmgr/views/PluginInfoDialog.java @@ -19,8 +19,8 @@ package org.jackhuang.hellominecraft.svrmgr.views; import java.io.File; import javax.swing.table.DefaultTableModel; -import org.jackhuang.hellominecraft.tasks.TaskWindow; -import org.jackhuang.hellominecraft.tasks.download.FileDownloadTask; +import org.jackhuang.hellominecraft.utils.tasks.TaskWindow; +import org.jackhuang.hellominecraft.utils.tasks.download.FileDownloadTask; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.svrmgr.cbplugins.PluginInfo; import org.jackhuang.hellominecraft.svrmgr.cbplugins.PluginVersion; diff --git a/MetroLookAndFeel/src/main/java/org/jackhuang/hellominecraft/lookandfeel/HelloMinecraftLookAndFeel.java b/MetroLookAndFeel/src/main/java/org/jackhuang/hellominecraft/lookandfeel/HelloMinecraftLookAndFeel.java index 0c8f7d555..63c2089ad 100755 --- a/MetroLookAndFeel/src/main/java/org/jackhuang/hellominecraft/lookandfeel/HelloMinecraftLookAndFeel.java +++ b/MetroLookAndFeel/src/main/java/org/jackhuang/hellominecraft/lookandfeel/HelloMinecraftLookAndFeel.java @@ -23,7 +23,7 @@ import java.text.ParseException; import java.util.Map; import javax.swing.UIDefaults; import javax.swing.plaf.synth.SynthLookAndFeel; -import org.jackhuang.hellominecraft.HMCLog; +import org.jackhuang.hellominecraft.utils.HMCLog; import org.jackhuang.hellominecraft.utils.NetUtils; /** diff --git a/MetroLookAndFeel/src/main/java/org/jackhuang/hellominecraft/lookandfeel/Theme.java b/MetroLookAndFeel/src/main/java/org/jackhuang/hellominecraft/lookandfeel/Theme.java index 2fec01b83..b9d20360b 100755 --- a/MetroLookAndFeel/src/main/java/org/jackhuang/hellominecraft/lookandfeel/Theme.java +++ b/MetroLookAndFeel/src/main/java/org/jackhuang/hellominecraft/lookandfeel/Theme.java @@ -19,7 +19,7 @@ package org.jackhuang.hellominecraft.lookandfeel; import java.util.HashMap; import java.util.Map; -import org.jackhuang.hellominecraft.C; +import org.jackhuang.hellominecraft.utils.C; /** *