From 5fa3cad5486e7f820fe3f638ac724f1b63e6d72d Mon Sep 17 00:00:00 2001 From: 502647092 Date: Mon, 12 Dec 2016 01:40:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BF=BD=E7=95=A5=E5=86=85=E8=81=94?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 502647092 --- .../config/inject/AbstractInjectConfig.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/pw/yumc/YumCore/config/inject/AbstractInjectConfig.java b/src/main/java/pw/yumc/YumCore/config/inject/AbstractInjectConfig.java index c435690..94402a7 100644 --- a/src/main/java/pw/yumc/YumCore/config/inject/AbstractInjectConfig.java +++ b/src/main/java/pw/yumc/YumCore/config/inject/AbstractInjectConfig.java @@ -1,20 +1,21 @@ package pw.yumc.YumCore.config.inject; -import org.bukkit.ChatColor; -import org.bukkit.configuration.ConfigurationSection; -import pw.yumc.YumCore.bukkit.Log; -import pw.yumc.YumCore.config.annotation.ConfigNode; -import pw.yumc.YumCore.config.annotation.Default; -import pw.yumc.YumCore.config.annotation.Nullable; -import pw.yumc.YumCore.config.annotation.ReadOnly; -import pw.yumc.YumCore.config.exception.ConfigParseException; - import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.HashMap; +import org.bukkit.ChatColor; +import org.bukkit.configuration.ConfigurationSection; + +import pw.yumc.YumCore.bukkit.Log; +import pw.yumc.YumCore.config.annotation.ConfigNode; +import pw.yumc.YumCore.config.annotation.Default; +import pw.yumc.YumCore.config.annotation.Nullable; +import pw.yumc.YumCore.config.annotation.ReadOnly; +import pw.yumc.YumCore.config.exception.ConfigParseException; + /** * 抽象注入配置 * @@ -156,7 +157,8 @@ public abstract class AbstractInjectConfig { } this.config = config; for (Field field : getClass().getDeclaredFields()) { - if (Modifier.isTransient(field.getModifiers()) || field.getType().isPrimitive()) { + // 忽略瞬态字段 忽略基础字段 忽略内联字段 + if (Modifier.isTransient(field.getModifiers()) || field.getType().isPrimitive() || field.getName().startsWith("this$")) { continue; } ConfigNode node = field.getAnnotation(ConfigNode.class);