Skip to content

Commit c2d73f2

Browse files
committed
String list support.
1 parent cd9470c commit c2d73f2

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/main/java/me/zort/configurationlib/configuration/bukkit/BukkitSectionNode.java

+14
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import lombok.Getter;
44
import me.zort.configurationlib.configuration.Node;
55
import me.zort.configurationlib.configuration.SectionNode;
6+
import me.zort.configurationlib.configuration.SimpleNode;
67
import me.zort.configurationlib.util.Colorizer;
78
import me.zort.configurationlib.util.ItemValidator;
89
import me.zort.configurationlib.util.Placeholders;
@@ -21,6 +22,7 @@
2122
import java.lang.reflect.Field;
2223
import java.lang.reflect.InvocationTargetException;
2324
import java.util.Collection;
25+
import java.util.List;
2426
import java.util.Map;
2527
import java.util.UUID;
2628
import java.util.concurrent.ConcurrentHashMap;
@@ -52,11 +54,23 @@ public Object buildValue(Field field, Node<ConfigurationSection> node, Placehold
5254
// I'm specifying new field types for mapped objects.
5355
if(field.getType().equals(ItemStack.class) && node instanceof BukkitSectionNode) {
5456
return ((BukkitSectionNode) node).getAsItem(placeholders);
57+
} else if(field.getType().equals(List.class) && node instanceof BukkitSimpleNode) {
58+
Object listCandidate = ((BukkitSimpleNode) node).get();
59+
if(listCandidate instanceof List) {
60+
return listCandidate;
61+
}
5562
}
5663
// TODO: Add support for other types.
5764
return super.buildValue(field, node, placeholders);
5865
}
5966

67+
@Override
68+
public SimpleNode<ConfigurationSection> getSimple(String path) {
69+
// Just to simplify the usage.
70+
if(!has(path)) return new BukkitSimpleNode(section, path, null);
71+
return super.getSimple(path);
72+
}
73+
6074
@Nullable
6175
@Override
6276
public Node<ConfigurationSection> get(String path) {

0 commit comments

Comments
 (0)