Przeglądaj źródła

Fix field access of entry created from outside listener

Lortseam 4 lat temu
rodzic
commit
aa0e66fb87

+ 3 - 0
src/main/java/me/lortseam/completeconfig/data/Entry.java

@@ -86,6 +86,9 @@ public class Entry<T> extends EntryBase<T> implements DataPart {
 
     protected Entry(EntryOrigin origin, UnaryOperator<T> modifier) {
         super(origin.getField());
+        if (!field.isAccessible()) {
+            field.setAccessible(true);
+        }
         parentObject = origin.getParentObject();
         parentTranslation = origin.getParentTranslation();
         this.modifier = modifier;

+ 0 - 3
src/main/java/me/lortseam/completeconfig/data/EntryMap.java

@@ -38,9 +38,6 @@ public class EntryMap extends ConfigMap<Entry> {
                 if (Modifier.isFinal(field.getModifiers())) {
                     throw new IllegalModifierException("Entry field " + field + " must not be final");
                 }
-                if (!field.isAccessible()) {
-                    field.setAccessible(true);
-                }
                 Entry<?> entry = Entry.Draft.of(field, container.getClass()).build(Modifier.isStatic(field.getModifiers()) ? null : container, translation);
                 entry.resolve(field);
                 clazzEntries.add(entry);