From 3d814baa8f27305fedca3bbc0eb8d3e0c359b794 Mon Sep 17 00:00:00 2001 From: carm Date: Tue, 25 Feb 2025 01:43:30 +0800 Subject: [PATCH] build(deps): Update with EasyConfiguration --- common/pom.xml | 2 +- platform/bukkit/pom.xml | 2 +- .../bukkit/source/BukkitSection.java | 39 +++++++++++++------ .../bukkit/source/BukkitSource.java | 4 +- platform/bungee/pom.xml | 2 +- platform/velocity/pom.xml | 2 +- pom.xml | 4 +- 7 files changed, 36 insertions(+), 19 deletions(-) diff --git a/common/pom.xml b/common/pom.xml index c313dd7..3636bc3 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -5,7 +5,7 @@ mineconfiguration-parent cc.carm.lib - 3.0.1 + 3.0.2 4.0.0 diff --git a/platform/bukkit/pom.xml b/platform/bukkit/pom.xml index 6f944e1..d7d87a9 100644 --- a/platform/bukkit/pom.xml +++ b/platform/bukkit/pom.xml @@ -5,7 +5,7 @@ mineconfiguration-parent cc.carm.lib - 3.0.1 + 3.0.2 ../../pom.xml 4.0.0 diff --git a/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/source/BukkitSection.java b/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/source/BukkitSection.java index d87c256..b38c182 100644 --- a/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/source/BukkitSection.java +++ b/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/source/BukkitSection.java @@ -6,6 +6,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.UnmodifiableView; +import java.util.Collections; import java.util.Map; import java.util.Set; @@ -13,12 +14,14 @@ public class BukkitSection implements ConfigureSection { protected final @NotNull BukkitSource source; protected final @Nullable BukkitSection parent; + protected final @NotNull String path; protected final @NotNull ConfigurationSection data; public BukkitSection(@NotNull BukkitSource source, @Nullable BukkitSection parent, - @NotNull ConfigurationSection data) { + @NotNull String path, @NotNull ConfigurationSection data) { this.source = source; this.parent = parent; + this.path = path; this.data = data; } @@ -31,6 +34,11 @@ public class BukkitSection implements ConfigureSection { return this.parent; } + @Override + public @NotNull String path() { + return this.path; + } + public @NotNull ConfigurationSection data() { return this.data; } @@ -42,11 +50,23 @@ public class BukkitSection implements ConfigureSection { @Override public @NotNull @UnmodifiableView Map getValues(boolean deep) { - return data().getValues(deep); + + Map original = data().getValues(deep); + // wrap all ConfigurationSection + for (Map.Entry entry : original.entrySet()) { + if (entry.getValue() instanceof ConfigurationSection) { + original.put(entry.getKey(), createSection(entry.getKey(), (ConfigurationSection) entry.getValue())); + } + } + + return Collections.unmodifiableMap(original); } @Override public void set(@NotNull String path, @Nullable Object value) { + if (value instanceof BukkitSection) { // unwrap + value = ((BukkitSection) value).data(); + } data().set(path, value); } @@ -60,27 +80,24 @@ public class BukkitSection implements ConfigureSection { Object value = get(path); if (value instanceof ConfigureSection) { return (ConfigureSection) value; - } else if (value instanceof ConfigurationSection) { - return new BukkitSection(source(), this, (ConfigurationSection) value); } return null; } - @Override - public @NotNull ConfigureSection createSection(@NotNull Map data) { - throw new UnsupportedOperationException("BukkitSection does not support this operation"); + public @NotNull BukkitSection createSection(@NotNull String path, @NotNull ConfigurationSection section) { + return new BukkitSection(source(), this, path, section); } @Override - public @NotNull ConfigureSection computeSection(@NotNull String path) { - return new BukkitSection(source(), this, data.createSection(path)); + public @NotNull BukkitSection createSection(@NotNull String path, @NotNull Map data) { + return createSection(path, data().createSection(path, data)); } @Override public @Nullable Object get(@NotNull String path) { Object value = data().get(path); - if (value instanceof ConfigurationSection) { - return new BukkitSection(source(), this, (ConfigurationSection) value); + if (value instanceof ConfigurationSection) { // wrap + return createSection(path, (ConfigurationSection) value); } return value; } diff --git a/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/source/BukkitSource.java b/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/source/BukkitSource.java index d2a1db9..74aa81f 100644 --- a/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/source/BukkitSource.java +++ b/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/source/BukkitSource.java @@ -38,7 +38,7 @@ public class BukkitSource extends FileConfigSource mineconfiguration-parent cc.carm.lib - 3.0.1 + 3.0.2 ../../pom.xml 4.0.0 diff --git a/platform/velocity/pom.xml b/platform/velocity/pom.xml index d4cf02d..fc030ec 100644 --- a/platform/velocity/pom.xml +++ b/platform/velocity/pom.xml @@ -5,7 +5,7 @@ mineconfiguration-parent cc.carm.lib - 3.0.1 + 3.0.2 ../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index 6e43375..731898b 100644 --- a/pom.xml +++ b/pom.xml @@ -10,14 +10,14 @@ UTF-8 UTF-8 - 4.0.6 + 4.0.7 1.2.0 1.5.12 cc.carm.lib mineconfiguration-parent - 3.0.1 + 3.0.2 pom common