diff --git a/bukkit/paper-loader/build.gradle.kts b/bukkit/paper-loader/build.gradle.kts index 71d886cdf..44379691f 100644 --- a/bukkit/paper-loader/build.gradle.kts +++ b/bukkit/paper-loader/build.gradle.kts @@ -184,6 +184,7 @@ tasks { * Register Run Dev Server Tasks */ listOf( + "1.21.11", "1.21.10", "1.21.8", "1.21.5", diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/ReloadCommand.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/ReloadCommand.java index a71aadc6a..b45e6a8d7 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/ReloadCommand.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/ReloadCommand.java @@ -43,7 +43,7 @@ public class ReloadCommand extends BukkitCommandFeature { Component.text(reloadResult.syncTime()) ); }); - } catch (Exception e) { + } catch (Throwable e) { handleFeedback(context, MessageConstants.COMMAND_RELOAD_CONFIG_FAILURE); plugin().logger().warn("Failed to reload config", e); } @@ -56,7 +56,7 @@ public class ReloadCommand extends BukkitCommandFeature { Component.text(reloadResult.syncTime()) ); }); - } catch (Exception e) { + } catch (Throwable e) { handleFeedback(context, MessageConstants.COMMAND_RELOAD_CONFIG_FAILURE); plugin().logger().warn("Failed to reload config", e); } @@ -68,7 +68,7 @@ public class ReloadCommand extends BukkitCommandFeature { long time2 = System.currentTimeMillis(); long packTime = time2 - time1; handleFeedback(context, MessageConstants.COMMAND_RELOAD_PACK_SUCCESS, Component.text(packTime)); - } catch (Exception e) { + } catch (Throwable e) { handleFeedback(context, MessageConstants.COMMAND_RELOAD_PACK_FAILURE); plugin().logger().warn("Failed to generate resource pack", e); } @@ -88,7 +88,7 @@ public class ReloadCommand extends BukkitCommandFeature { Component.text(reloadResult.syncTime()), Component.text(packTime) ); - } catch (Exception e) { + } catch (Throwable e) { handleFeedback(context, MessageConstants.COMMAND_RELOAD_PACK_FAILURE); plugin().logger().warn("Failed to generate resource pack", e); } finally { diff --git a/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java b/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java index 62578ed24..e45b16ae8 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java +++ b/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java @@ -740,7 +740,7 @@ public abstract class AbstractPackManager implements PackManager { } @Override - public void generateResourcePack() throws IOException { + public void generateResourcePack() throws Exception { this.plugin.logger().info(TranslationManager.instance().translateLog("info.resource_pack.start")); long time1 = System.currentTimeMillis(); @@ -3039,7 +3039,7 @@ public abstract class AbstractPackManager implements PackManager { } private void processZipFile(Path zipFile, Path sourceFolder, @Nullable FileSystem fs, - Map> conflictChecker, Map previousFiles) throws IOException { + Map> conflictChecker, Map previousFiles) { try (FileSystem zipFs = FileSystems.newFileSystem(zipFile)) { long zipLastModified = Files.getLastModifiedTime(zipFile).toMillis(); long zipSize = Files.size(zipFile); @@ -3064,11 +3064,17 @@ public abstract class AbstractPackManager implements PackManager { cachedAssetFiles.put(sourcePath, cachedAsset); } if (fs != null) { - updateConflictChecker(fs, conflictChecker, entry, sourcePath, entryPathInZip, cachedAsset.data()); + try { + updateConflictChecker(fs, conflictChecker, entry, sourcePath, entryPathInZip, cachedAsset.data()); + } catch (Exception e) { + AbstractPackManager.this.plugin.logger().warn("Failed to update conflict checker", e); + } } return FileVisitResult.CONTINUE; } }); + } catch (Exception e) { + this.plugin.logger().warn("Failed to process zip file " + zipFile, e); } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/pack/PackManager.java b/core/src/main/java/net/momirealms/craftengine/core/pack/PackManager.java index 2883c6f6c..a66052fa6 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/pack/PackManager.java +++ b/core/src/main/java/net/momirealms/craftengine/core/pack/PackManager.java @@ -44,7 +44,7 @@ public interface PackManager extends Manageable { void clearResourceConfigs(); - void generateResourcePack() throws IOException; + void generateResourcePack() throws Exception; Path resourcePackPath(); diff --git a/core/src/main/java/net/momirealms/craftengine/core/pack/conflict/resolution/ResolutionMergePackMcMeta.java b/core/src/main/java/net/momirealms/craftengine/core/pack/conflict/resolution/ResolutionMergePackMcMeta.java index 0f6cbdc2b..4d0ac2180 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/pack/conflict/resolution/ResolutionMergePackMcMeta.java +++ b/core/src/main/java/net/momirealms/craftengine/core/pack/conflict/resolution/ResolutionMergePackMcMeta.java @@ -100,7 +100,7 @@ public class ResolutionMergePackMcMeta implements Resolution { newLanguage.add(entry.getKey(), entry.getValue()); } }); - if (!newLanguage.isEmpty()) { + if (!newLanguage.asMap().isEmpty()) { // 兼容低版本gson merged.add("language", newLanguage); } // 第七步,合并其他未知元素