From 4431a4a45455dfc4028596714a0cc26a2cebc8d0 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Sat, 24 May 2025 04:24:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(core):=20=E4=BC=98=E5=8C=96=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E5=8C=85=E6=96=87=E4=BB=B6=E8=BF=87=E6=BB=A4=E6=9C=BA?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bukkit/loader/src/main/resources/config.yml | 5 +++++ .../craftengine/core/pack/AbstractPackManager.java | 4 ++-- .../momirealms/craftengine/core/pack/PackManager.java | 1 - .../craftengine/core/plugin/config/Config.java | 11 +++++++---- gradle.properties | 2 +- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/bukkit/loader/src/main/resources/config.yml b/bukkit/loader/src/main/resources/config.yml index 18053ebc2..209d0ad90 100644 --- a/bukkit/loader/src/main/resources/config.yml +++ b/bukkit/loader/src/main/resources/config.yml @@ -65,6 +65,11 @@ resource-pack: - BetterModel/build merge-external-zip-files: - CustomNameplates/resourcepack.zip + exclude-file-suffixes: + - "md" + - "psd" + - "bbmodel" + - "db" delivery: # Send the resource pack on joining the server send-on-join: true 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 f0be59d10..ae5ed2825 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 @@ -1208,7 +1208,7 @@ public abstract class AbstractPackManager implements PackManager { private void processRegularFile(Path file, BasicFileAttributes attrs, Path sourceFolder, @Nullable FileSystem fs, Map> conflictChecker, Map previousFiles) throws IOException { - if (!ALLOWED_FILE_EXTENSIONS.contains(FileUtils.getExtension(file))) { + if (Config.excludeFileSuffixes().contains(FileUtils.getExtension(file))) { return; } CachedAssetFile cachedAsset = previousFiles.get(file); @@ -1237,7 +1237,7 @@ public abstract class AbstractPackManager implements PackManager { if (entryAttrs.isDirectory()) { return FileVisitResult.CONTINUE; } - if (!ALLOWED_FILE_EXTENSIONS.contains(FileUtils.getExtension(entry))) { + if (Config.excludeFileSuffixes().contains(FileUtils.getExtension(entry))) { return FileVisitResult.CONTINUE; } Path entryPathInZip = zipRoot.relativize(entry); 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 489cbd44d..b18d3f952 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 @@ -14,7 +14,6 @@ import java.util.List; import java.util.Set; public interface PackManager extends Manageable { - Set ALLOWED_FILE_EXTENSIONS = new HashSet<>(List.of("png", "txt", "json", "fsh", "vsh", "mcmeta", "zip", "ogg")); void loadResources(boolean recipe); diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java index be96fe1ed..c42a25a44 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java @@ -34,10 +34,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.nio.file.Files; import java.nio.file.Path; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; public class Config { @@ -59,6 +56,7 @@ public class Config { protected List resource_pack$duplicated_files_handler; protected List resource_pack$merge_external_folders; protected List resource_pack$merge_external_zips; + protected Set resource_pack$exclude_file_suffixes; protected boolean resource_pack$protection$crash_tools$method_1; protected boolean resource_pack$protection$crash_tools$method_2; @@ -220,6 +218,7 @@ public class Config { resource_pack$supported_version$max = getVersion(config.get("resource-pack.supported-version.max", "LATEST").toString()); resource_pack$merge_external_folders = config.getStringList("resource-pack.merge-external-folders"); resource_pack$merge_external_zips = config.getStringList("resource-pack.merge-external-zip-files"); + resource_pack$exclude_file_suffixes = new HashSet<>(config.getStringList("resource-pack.exclude-file-suffixes", List.of("md", "psd", "bbmodel", "db"))); resource_pack$delivery$send_on_join = config.getBoolean("resource-pack.delivery.send-on-join", true); resource_pack$delivery$resend_on_upload = config.getBoolean("resource-pack.delivery.resend-on-upload", true); resource_pack$delivery$kick_if_declined = config.getBoolean("resource-pack.delivery.kick-if-declined", true); @@ -469,6 +468,10 @@ public class Config { return instance.resource_pack$merge_external_zips; } + public static Set excludeFileSuffixes() { + return instance.resource_pack$exclude_file_suffixes; + } + public static boolean kickOnDeclined() { return instance.resource_pack$delivery$kick_if_declined; } diff --git a/gradle.properties b/gradle.properties index dcf4e8a42..9571f5bed 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G # Project settings # Rule: [major update].[feature update].[bug fix] project_version=0.0.54.8 -config_version=33 +config_version=34 lang_version=14 project_group=net.momirealms latest_supported_version=1.21.5