diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/bukkit/configuration/ConfigurationSection.java | 11 | ||||
-rw-r--r-- | src/main/java/org/bukkit/configuration/MemorySection.java | 14 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/configuration/ConfigurationSection.java b/src/main/java/org/bukkit/configuration/ConfigurationSection.java index 0843c04e..3bd6fe37 100644 --- a/src/main/java/org/bukkit/configuration/ConfigurationSection.java +++ b/src/main/java/org/bukkit/configuration/ConfigurationSection.java @@ -164,6 +164,17 @@ public interface ConfigurationSection { * @return Newly created section */ public ConfigurationSection createSection(String path); + + /** + * Creates a {@link ConfigurationSection} at the specified path, with specified values. + * <p> + * Any value that was previously set at this path will be overwritten. If the + * previous value was itself a {@link ConfigurationSection}, it will be orphaned. + * + * @param path Path to create the section at. + * @return Newly created section + */ + public ConfigurationSection createSection(String path, Map<String, Object> map); // Primitives /** diff --git a/src/main/java/org/bukkit/configuration/MemorySection.java b/src/main/java/org/bukkit/configuration/MemorySection.java index 46965c23..68254d0a 100644 --- a/src/main/java/org/bukkit/configuration/MemorySection.java +++ b/src/main/java/org/bukkit/configuration/MemorySection.java @@ -266,6 +266,20 @@ public class MemorySection implements ConfigurationSection { return section.createSection(key); } } + + public ConfigurationSection createSection(String path, Map<String, Object> map) { + ConfigurationSection section = createSection(path); + + for(Map.Entry<String, Object> entry : map.entrySet()) { + if(entry.getValue() instanceof Map) { + section.createSection(entry.getKey(), (Map<String, Object>)entry.getValue()); + } else { + section.set(entry.getKey(), entry.getValue()); + } + } + + return section; + } // Primitives public String getString(String path) { |