mirror of
https://github.com/CarmJos/UltraDepository.git
synced 2024-09-19 19:55:45 +00:00
更换插件的加载入口
This commit is contained in:
parent
717e313f25
commit
c6c6b3bc37
@ -30,6 +30,8 @@ public class Main extends EasyPlugin {
|
||||
|
||||
private DataStorage storage;
|
||||
|
||||
|
||||
private ConfigManager configManager;
|
||||
private UserManager userManager;
|
||||
private EconomyManager economyManager;
|
||||
private DepositoryManager depositoryManager;
|
||||
@ -47,7 +49,8 @@ public class Main extends EasyPlugin {
|
||||
protected boolean initialize() {
|
||||
|
||||
log("加载配置文件...");
|
||||
if (!ConfigManager.initialize()) {
|
||||
this.configManager = new ConfigManager(this);
|
||||
if (!configManager.initialize()) {
|
||||
log("初始化配置文件失败,放弃加载。");
|
||||
return false;
|
||||
}
|
||||
@ -160,6 +163,10 @@ public class Main extends EasyPlugin {
|
||||
return depositoryManager;
|
||||
}
|
||||
|
||||
protected ConfigManager getConfigManager() {
|
||||
return configManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDebugging() {
|
||||
return PluginConfig.DEBUG.get();
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cc.carm.plugin.ultradepository;
|
||||
|
||||
import cc.carm.plugin.ultradepository.manager.ConfigManager;
|
||||
import cc.carm.plugin.ultradepository.manager.DepositoryManager;
|
||||
import cc.carm.plugin.ultradepository.manager.EconomyManager;
|
||||
import cc.carm.plugin.ultradepository.manager.UserManager;
|
||||
@ -27,4 +28,8 @@ public class UltraDepository {
|
||||
return Main.getInstance().getDepositoryManager();
|
||||
}
|
||||
|
||||
public static ConfigManager getConfigManager() {
|
||||
return Main.getInstance().getConfigManager();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,153 +6,156 @@ import cc.carm.lib.easyplugin.configuration.impl.ConfigSound;
|
||||
import cc.carm.lib.easyplugin.configuration.message.ConfigMessage;
|
||||
import cc.carm.lib.easyplugin.configuration.message.ConfigMessageList;
|
||||
import cc.carm.lib.easyplugin.configuration.values.ConfigValue;
|
||||
import cc.carm.plugin.ultradepository.manager.ConfigManager;
|
||||
import cc.carm.plugin.ultradepository.UltraDepository;
|
||||
import cc.carm.plugin.ultradepository.storage.StorageMethod;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
|
||||
public class PluginConfig {
|
||||
|
||||
public static final ConfigValue<Boolean> DEBUG = new ConfigValue<>(
|
||||
"debug", Boolean.class, false
|
||||
);
|
||||
public static final ConfigValue<Boolean> DEBUG = new ConfigValue<>(
|
||||
"debug", Boolean.class, false
|
||||
);
|
||||
|
||||
public static final ConfigValue<Boolean> METRICS = new ConfigValue<>(
|
||||
"metrics", Boolean.class, true
|
||||
);
|
||||
public static final ConfigValue<Boolean> METRICS = new ConfigValue<>(
|
||||
"metrics", Boolean.class, true
|
||||
);
|
||||
|
||||
public static final ConfigValue<Boolean> CHECK_UPDATE = new ConfigValue<>(
|
||||
"check-update", Boolean.class, true
|
||||
);
|
||||
public static final ConfigValue<Boolean> CHECK_UPDATE = new ConfigValue<>(
|
||||
"check-update", Boolean.class, true
|
||||
);
|
||||
|
||||
public static final ConfigStringCast<StorageMethod> STORAGE_METHOD = new ConfigStringCast<>(
|
||||
"storage.method", StorageMethod::read, StorageMethod.YAML
|
||||
);
|
||||
public static final ConfigStringCast<StorageMethod> STORAGE_METHOD = new ConfigStringCast<>(
|
||||
"storage.method", StorageMethod::read, StorageMethod.YAML
|
||||
);
|
||||
|
||||
/**
|
||||
* 收集配置
|
||||
*/
|
||||
public static class Collect {
|
||||
/**
|
||||
* 收集配置
|
||||
*/
|
||||
public static class Collect {
|
||||
|
||||
public static final ConfigValue<Boolean> PICKUP = new ConfigValue<>(
|
||||
"collect.pickup", Boolean.class, true
|
||||
);
|
||||
public static final ConfigValue<Boolean> PICKUP = new ConfigValue<>(
|
||||
"collect.pickup", Boolean.class, true
|
||||
);
|
||||
|
||||
public static final ConfigValue<Boolean> KILL = new ConfigValue<>(
|
||||
"collect.kill", Boolean.class, true
|
||||
);
|
||||
public static final ConfigValue<Boolean> KILL = new ConfigValue<>(
|
||||
"collect.kill", Boolean.class, true
|
||||
);
|
||||
|
||||
public static final ConfigValue<Boolean> BREAK = new ConfigValue<>(
|
||||
"collect.break", Boolean.class, true
|
||||
);
|
||||
public static final ConfigValue<Boolean> BREAK = new ConfigValue<>(
|
||||
"collect.break", Boolean.class, true
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static class Sounds {
|
||||
public static class Sounds {
|
||||
|
||||
public static final ConfigSound COLLECT = new ConfigSound("sounds.collect", Sound.ENTITY_VILLAGER_CELEBRATE);
|
||||
public static final ConfigSound TAKEOUT = new ConfigSound("sounds.collect");
|
||||
public static final ConfigSound SELL_SUCCESS = new ConfigSound("sounds.sell-success");
|
||||
public static final ConfigSound SELL_FAIL = new ConfigSound("sounds.sell-fail");
|
||||
public static final ConfigSound GUI_CLICK = new ConfigSound("sounds.gui-click");
|
||||
}
|
||||
public static final ConfigSound COLLECT = new ConfigSound("sounds.collect", Sound.ENTITY_VILLAGER_CELEBRATE);
|
||||
public static final ConfigSound TAKEOUT = new ConfigSound("sounds.collect");
|
||||
public static final ConfigSound SELL_SUCCESS = new ConfigSound("sounds.sell-success");
|
||||
public static final ConfigSound SELL_FAIL = new ConfigSound("sounds.sell-fail");
|
||||
public static final ConfigSound GUI_CLICK = new ConfigSound("sounds.gui-click");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通用配置
|
||||
*/
|
||||
public static class General {
|
||||
/**
|
||||
* 通用配置
|
||||
*/
|
||||
public static class General {
|
||||
|
||||
/**
|
||||
* 针对每一件物品的额外介绍
|
||||
* 将添加到背包界面内的物品上,避免重复配置
|
||||
*/
|
||||
public static class AdditionalLore {
|
||||
/**
|
||||
* 针对每一件物品的额外介绍
|
||||
* 将添加到背包界面内的物品上,避免重复配置
|
||||
*/
|
||||
public static class AdditionalLore {
|
||||
|
||||
public static final ConfigMessageList AVAILABLE_FOR_SALE = new ConfigMessageList(
|
||||
ConfigManager::getPluginConfig, "general.additional-lore.available-for-sale",
|
||||
new String[]{},
|
||||
new String[]{
|
||||
"%(item_name)", "%(amount)", "%(price)", "%(sold)", "%(remain)", "%(limit)"
|
||||
});
|
||||
public static final ConfigMessageList AVAILABLE_FOR_SALE = new ConfigMessageList(
|
||||
() -> UltraDepository.getConfigManager().getPluginConfig(),
|
||||
"general.additional-lore.available-for-sale",
|
||||
new String[]{},
|
||||
new String[]{
|
||||
"%(item_name)", "%(amount)", "%(price)", "%(sold)", "%(remain)", "%(limit)"
|
||||
});
|
||||
|
||||
public static final ConfigMessageList NOT_FOR_SALE = new ConfigMessageList(
|
||||
ConfigManager::getPluginConfig, "general.additional-lore.not-for-sale",
|
||||
new String[]{}, new String[]{
|
||||
"%(item_name)", "%(amount)"
|
||||
});
|
||||
public static final ConfigMessageList NOT_FOR_SALE = new ConfigMessageList(
|
||||
() -> UltraDepository.getConfigManager().getPluginConfig(),
|
||||
"general.additional-lore.not-for-sale",
|
||||
new String[]{}, new String[]{
|
||||
"%(item_name)", "%(amount)"
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 提示玩家点击行为的介绍
|
||||
* 将添加到背包界面内的物品上,避免重复配置
|
||||
*/
|
||||
public static class ClickLore {
|
||||
public static final ConfigMessageList AVAILABLE_FOR_SALE = new ConfigMessageList(
|
||||
ConfigManager::getPluginConfig,
|
||||
"general.click-lore.available-for-sale",
|
||||
new String[]{}, new String[]{
|
||||
"%(item_name)", "%(amount)", "%(price)"
|
||||
});
|
||||
/**
|
||||
* 提示玩家点击行为的介绍
|
||||
* 将添加到背包界面内的物品上,避免重复配置
|
||||
*/
|
||||
public static class ClickLore {
|
||||
public static final ConfigMessageList AVAILABLE_FOR_SALE = new ConfigMessageList(
|
||||
() -> UltraDepository.getConfigManager().getPluginConfig(),
|
||||
"general.click-lore.available-for-sale",
|
||||
new String[]{}, new String[]{
|
||||
"%(item_name)", "%(amount)", "%(price)"
|
||||
});
|
||||
|
||||
public static final ConfigMessageList NOT_FOR_SALE = new ConfigMessageList(
|
||||
ConfigManager::getPluginConfig, "general.click-lore.not-for-sale",
|
||||
new String[]{},
|
||||
new String[]{
|
||||
"%(item_name)", "%(amount)"
|
||||
});
|
||||
}
|
||||
public static final ConfigMessageList NOT_FOR_SALE = new ConfigMessageList(
|
||||
() -> UltraDepository.getConfigManager().getPluginConfig(),
|
||||
"general.click-lore.not-for-sale",
|
||||
new String[]{},
|
||||
new String[]{
|
||||
"%(item_name)", "%(amount)"
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public static final ConfigMessageList CLICK_LORE = new ConfigMessageList(
|
||||
ConfigManager::getPluginConfig,
|
||||
"general.click-lore",
|
||||
new String[]{}, new String[]{
|
||||
"%(item_name)", "%(amount)", "%(price)"
|
||||
});
|
||||
public static final ConfigMessageList CLICK_LORE = new ConfigMessageList(
|
||||
() -> UltraDepository.getConfigManager().getPluginConfig(),
|
||||
"general.click-lore",
|
||||
new String[]{}, new String[]{
|
||||
"%(item_name)", "%(amount)", "%(price)"
|
||||
});
|
||||
|
||||
/**
|
||||
* 售出界面的配置
|
||||
*/
|
||||
public static class SellGUI {
|
||||
/**
|
||||
* 售出界面的配置
|
||||
*/
|
||||
public static class SellGUI {
|
||||
|
||||
|
||||
public static final ConfigMessage TITLE = new ConfigMessage(
|
||||
ConfigManager::getPluginConfig,
|
||||
"general.sell-gui.title",
|
||||
"&a&l出售", new String[]{
|
||||
"%(item_name)", "%(backpack_name)"
|
||||
}
|
||||
);
|
||||
public static final ConfigMessage TITLE = new ConfigMessage(
|
||||
() -> UltraDepository.getConfigManager().getPluginConfig(),
|
||||
"general.sell-gui.title",
|
||||
"&a&l出售", new String[]{
|
||||
"%(item_name)", "%(backpack_name)"
|
||||
}
|
||||
);
|
||||
|
||||
public static class Items {
|
||||
public static class Items {
|
||||
|
||||
public static final ConfigItem ADD = new ConfigItem(
|
||||
"general.sell-gui.items.add",
|
||||
new String[]{"%(item_name)", "%(amount)"},
|
||||
ConfigItem.create(Material.GREEN_STAINED_GLASS_PANE, "&a添加物品 %(amount) 个")
|
||||
);
|
||||
public static final ConfigItem ADD = new ConfigItem(
|
||||
"general.sell-gui.items.add",
|
||||
new String[]{"%(item_name)", "%(amount)"},
|
||||
ConfigItem.create(Material.GREEN_STAINED_GLASS_PANE, "&a添加物品 %(amount) 个")
|
||||
);
|
||||
|
||||
public static final ConfigItem REMOVE = new ConfigItem(
|
||||
"general.sell-gui.items.remove",
|
||||
new String[]{"%(item_name)", "%(amount)"},
|
||||
ConfigItem.create(Material.RED_STAINED_GLASS_PANE, "&c減少物品 %(amount) 个")
|
||||
);
|
||||
public static final ConfigItem REMOVE = new ConfigItem(
|
||||
"general.sell-gui.items.remove",
|
||||
new String[]{"%(item_name)", "%(amount)"},
|
||||
ConfigItem.create(Material.RED_STAINED_GLASS_PANE, "&c減少物品 %(amount) 个")
|
||||
);
|
||||
|
||||
public static final ConfigItem CONFIRM = new ConfigItem(
|
||||
"general.sell-gui.items.confirm",
|
||||
new String[]{"%(item_name)", "%(amount)", "%(money)"},
|
||||
ConfigItem.create(Material.EMERALD, "&2确认售出")
|
||||
);
|
||||
public static final ConfigItem CONFIRM = new ConfigItem(
|
||||
"general.sell-gui.items.confirm",
|
||||
new String[]{"%(item_name)", "%(amount)", "%(money)"},
|
||||
ConfigItem.create(Material.EMERALD, "&2确认售出")
|
||||
);
|
||||
|
||||
public static final ConfigItem CANCEL = new ConfigItem(
|
||||
"general.sell-gui.items.cancel",
|
||||
ConfigItem.create(Material.REDSTONE, "&4取消售出")
|
||||
);
|
||||
public static final ConfigItem CANCEL = new ConfigItem(
|
||||
"general.sell-gui.items.cancel",
|
||||
ConfigItem.create(Material.REDSTONE, "&4取消售出")
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,70 +7,74 @@ import cc.carm.lib.easyplugin.configuration.language.MessagesInitializer;
|
||||
import cc.carm.plugin.ultradepository.UltraDepository;
|
||||
import cc.carm.plugin.ultradepository.configuration.PluginMessages;
|
||||
import cc.carm.plugin.ultradepository.util.JarUtil;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class ConfigManager {
|
||||
|
||||
private static FileConfig pluginConfiguration;
|
||||
private static MessagesConfig messageConfiguration;
|
||||
private final JavaPlugin plugin;
|
||||
private FileConfig pluginConfiguration;
|
||||
private MessagesConfig messageConfiguration;
|
||||
|
||||
public static boolean initialize() {
|
||||
UltraDepository udPlugin = UltraDepository.getInstance();
|
||||
public ConfigManager(JavaPlugin plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
public boolean initialize() {
|
||||
|
||||
try {
|
||||
File configFile = new File(udPlugin.getDataFolder(), "config.yml");
|
||||
if (!configFile.exists()) {
|
||||
//没找到配置文件,可能是第一次加载此插件
|
||||
//把一些英文版的东西复制出来,方便英文用户使用。
|
||||
UltraDepository.getInstance().log(" 未找到配置文件,生成默认配置...");
|
||||
JarUtil.copyFolderFromJar(
|
||||
"i18n", udPlugin.getDataFolder(),
|
||||
JarUtil.CopyOption.COPY_IF_NOT_EXIST
|
||||
);
|
||||
try {
|
||||
File configFile = new File(plugin.getDataFolder(), "config.yml");
|
||||
if (!configFile.exists()) {
|
||||
//没找到配置文件,可能是第一次加载此插件
|
||||
//把一些英文版的东西复制出来,方便英文用户使用。
|
||||
UltraDepository.getInstance().log(" 未找到配置文件,生成默认配置...");
|
||||
JarUtil.copyFolderFromJar(
|
||||
"i18n", plugin.getDataFolder(),
|
||||
JarUtil.CopyOption.COPY_IF_NOT_EXIST
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
pluginConfiguration = new FileConfig(udPlugin, "config.yml");
|
||||
messageConfiguration = new MessagesConfig(udPlugin, "messages.yml");
|
||||
pluginConfiguration = new FileConfig(plugin, "config.yml");
|
||||
messageConfiguration = new MessagesConfig(plugin, "messages.yml");
|
||||
|
||||
FileConfig.pluginConfiguration = () -> pluginConfiguration;
|
||||
FileConfig.messageConfiguration = () -> messageConfiguration;
|
||||
FileConfig.pluginConfiguration = () -> pluginConfiguration;
|
||||
FileConfig.messageConfiguration = () -> messageConfiguration;
|
||||
|
||||
MessagesInitializer.initialize(messageConfiguration, PluginMessages.class);
|
||||
MessagesInitializer.initialize(messageConfiguration, PluginMessages.class);
|
||||
|
||||
return true;
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static FileConfig getPluginConfig() {
|
||||
return pluginConfiguration;
|
||||
}
|
||||
public FileConfig getPluginConfig() {
|
||||
return pluginConfiguration;
|
||||
}
|
||||
|
||||
public static MessagesConfig getMessageConfig() {
|
||||
return messageConfiguration;
|
||||
}
|
||||
public MessagesConfig getMessageConfig() {
|
||||
return messageConfiguration;
|
||||
}
|
||||
|
||||
public static void reload() {
|
||||
try {
|
||||
getPluginConfig().reload();
|
||||
getMessageConfig().reload();
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void reload() {
|
||||
try {
|
||||
getPluginConfig().reload();
|
||||
getMessageConfig().reload();
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void saveConfig() {
|
||||
try {
|
||||
getPluginConfig().save();
|
||||
getMessageConfig().save();
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void saveConfig() {
|
||||
try {
|
||||
getPluginConfig().save();
|
||||
getMessageConfig().save();
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user