From d04e1e47a39663cab3c1d00e3bc67b97e62bc535 Mon Sep 17 00:00:00 2001 From: 502647092 Date: Fri, 16 Dec 2016 18:12:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=B3=A8=E5=85=A5=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 502647092 --- src/main/java/pw/yumc/YumCore/bukkit/P.java | 33 ++++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/java/pw/yumc/YumCore/bukkit/P.java b/src/main/java/pw/yumc/YumCore/bukkit/P.java index 33a97e1..ece2933 100644 --- a/src/main/java/pw/yumc/YumCore/bukkit/P.java +++ b/src/main/java/pw/yumc/YumCore/bukkit/P.java @@ -1,13 +1,15 @@ package pw.yumc.YumCore.bukkit; +import java.io.File; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.logging.Logger; + import org.bukkit.command.PluginCommand; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.java.JavaPlugin; -import java.io.File; -import java.lang.reflect.Field; -import java.util.logging.Logger; - /** * 插件Instance获取类 * @@ -19,6 +21,10 @@ public class P { * 插件实例 */ public static JavaPlugin instance; + /** + * 插件配置方法 + */ + public static Method getInjectConfigMethod; static { Object pluginClassLoader = P.class.getClassLoader(); @@ -29,6 +35,11 @@ public class P { } catch (Exception e) { e.printStackTrace(); } + try { + getInjectConfigMethod = instance.getClass().getMethod("get" + instance.getName() + "Config"); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } } /** @@ -51,6 +62,20 @@ public class P { return (FC) instance.getConfig(); } + /** + * @param + * 注入配置源类型 + * @return 获得插件注入配置 + */ + @SuppressWarnings("unchecked") + public static FC getInjectConfig() { + try { + return (FC) getInjectConfigMethod.invoke(instance); + } catch (IllegalAccessException | InvocationTargetException ignored) { + } + return getConfig(); + } + /** * @return 获得插件文件夹 */