From f09f816ef5574317467c9869ae052383df6528af Mon Sep 17 00:00:00 2001 From: CarmJos Date: Sat, 12 Mar 2022 01:20:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E4=BD=8D=E7=BD=AE=E7=9A=84=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commanditem/manager/ItemsManager.java | 18 +++++++++++------- src/main/resources/config.yml | 8 -------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/main/java/cc/carm/plugin/commanditem/manager/ItemsManager.java b/src/main/java/cc/carm/plugin/commanditem/manager/ItemsManager.java index 2d3172a..bc52ce9 100644 --- a/src/main/java/cc/carm/plugin/commanditem/manager/ItemsManager.java +++ b/src/main/java/cc/carm/plugin/commanditem/manager/ItemsManager.java @@ -1,9 +1,9 @@ package cc.carm.plugin.commanditem.manager; import cc.carm.plugin.commanditem.Main; -import cc.carm.plugin.commanditem.configuration.PluginConfig; import cc.carm.plugin.commanditem.item.CommandItem; import cc.carm.plugin.commanditem.item.ItemSettings; +import cc.carm.plugin.commanditem.util.JarResourceUtils; import com.google.common.collect.ImmutableMap; import org.bukkit.Material; import org.bukkit.NamespacedKey; @@ -38,7 +38,14 @@ public class ItemsManager { public void loadItems() { File prefixDataFolder = getStorageFolder(); if (!prefixDataFolder.isDirectory() || !prefixDataFolder.exists()) { - boolean success = prefixDataFolder.mkdir(); + try { + JarResourceUtils.copyFolderFromJar( + FOLDER_NAME, prefixDataFolder, + JarResourceUtils.CopyOption.COPY_IF_NOT_EXIST + ); + } catch (Exception ex) { + boolean success = prefixDataFolder.mkdirs(); + } } String[] filesList = prefixDataFolder.list(); @@ -58,6 +65,7 @@ public class ItemsManager { if (files.size() > 0) { for (File file : files) { + if (file.getName().startsWith(".")) continue; try { ItemSettings item = ItemSettings.load(file); Main.info("完成物品加载 " + item.getIdentifier() + " : " + item.getName()); @@ -75,11 +83,7 @@ public class ItemsManager { } private static File getStorageFolder() { - if (PluginConfig.CustomStorage.ENABLE.get()) { - return new File(PluginConfig.CustomStorage.PATH.get()); - } else { - return new File(Main.getInstance().getDataFolder() + File.separator + FOLDER_NAME); - } + return new File(Main.getInstance().getDataFolder(), FOLDER_NAME); } @Unmodifiable diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 489b36f..25e3e28 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -15,14 +15,6 @@ metrics: true # 检查更新为异步操作,绝不会影响性能与使用体验。 check-update: true -custom-storage: - # 自定义存储位置 - # 默认存储位置为 “插件文件夹”/items - # 可以规定到远程文件夹中去寻找前缀相关的设定 - # 支持绝对文件路径,如 "/etc/minecraft/configurations/items/" - enable: false # 是否启用 - path: "items/" # 一定要指向一个文件夹! - log-storage: # 是否启用日志记录存储 # 可用于追踪物品的发放、领取情况与执行记录。