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: # 是否启用日志记录存储 # 可用于追踪物品的发放、领取情况与执行记录。