1
mirror of https://github.com/CarmJos/MineConfiguration.git synced 2026-06-04 21:58:16 +08:00

feat(deps): Update with EasyConfiguration

This commit is contained in:
2025-03-04 01:41:37 +08:00
parent adf26baf59
commit e859722a85
7 changed files with 43 additions and 13 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>mineconfiguration-parent</artifactId> <artifactId>mineconfiguration-parent</artifactId>
<groupId>cc.carm.lib</groupId> <groupId>cc.carm.lib</groupId>
<version>3.0.2</version> <version>3.0.3</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>mineconfiguration-parent</artifactId> <artifactId>mineconfiguration-parent</artifactId>
<groupId>cc.carm.lib</groupId> <groupId>cc.carm.lib</groupId>
<version>3.0.2</version> <version>3.0.3</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@@ -6,9 +6,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.UnmodifiableView; import org.jetbrains.annotations.UnmodifiableView;
import java.util.Collections; import java.util.*;
import java.util.Map;
import java.util.Set;
public class BukkitSection implements ConfigureSection { public class BukkitSection implements ConfigureSection {
@@ -62,6 +60,38 @@ public class BukkitSection implements ConfigureSection {
return Collections.unmodifiableMap(original); return Collections.unmodifiableMap(original);
} }
public Map<String, Object> toMap(ConfigurationSection section) {
Map<String, Object> map = new LinkedHashMap<>();
for (String key : section.getKeys(false)) {
Object value = section.get(key);
if (value instanceof ConfigurationSection) {
map.put(key, toMap((ConfigurationSection) value));
} else if (value instanceof BukkitSection) {
map.put(key, toMap(((BukkitSection) value).data()));
} else if (value instanceof List<?>) {
List<Object> list = new ArrayList<>();
for (Object o : (List<?>) value) {
if (o instanceof ConfigurationSection) {
list.add(toMap((ConfigurationSection) o));
} else if (o instanceof BukkitSection) {
list.add(toMap(((BukkitSection) o).data()));
} else {
list.add(o);
}
}
map.put(key, list);
} else {
map.put(key, value);
}
}
return map;
}
@Override
public @NotNull @UnmodifiableView Map<String, Object> asMap() {
return toMap(data());
}
@Override @Override
public void set(@NotNull String path, @Nullable Object value) { public void set(@NotNull String path, @Nullable Object value) {
if (value instanceof BukkitSection) { // unwrap if (value instanceof BukkitSection) { // unwrap
@@ -4,12 +4,12 @@ import cc.carm.lib.configuration.adapter.ValueAdapter;
import cc.carm.lib.configuration.adapter.ValueType; import cc.carm.lib.configuration.adapter.ValueType;
import cc.carm.lib.configuration.builder.AbstractConfigBuilder; import cc.carm.lib.configuration.builder.AbstractConfigBuilder;
import cc.carm.lib.configuration.source.ConfigurationHolder; import cc.carm.lib.configuration.source.ConfigurationHolder;
import cc.carm.lib.configuration.source.section.ConfigureSection;
import cc.carm.lib.configuration.value.ValueManifest; import cc.carm.lib.configuration.value.ValueManifest;
import cc.carm.lib.configuration.value.standard.ConfiguredValue; import cc.carm.lib.configuration.value.standard.ConfiguredValue;
import cc.carm.lib.configuration.value.text.function.ContentHandler; import cc.carm.lib.configuration.value.text.function.ContentHandler;
import com.cryptomorin.xseries.XItemStack; import com.cryptomorin.xseries.XItemStack;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemFlag;
@@ -32,8 +32,8 @@ public class ConfiguredItem extends ConfiguredValue<ItemStack> {
public static final ValueAdapter<ItemStack> ITEM_ADAPTER = new ValueAdapter<>(ITEM_TYPE, public static final ValueAdapter<ItemStack> ITEM_ADAPTER = new ValueAdapter<>(ITEM_TYPE,
(holder, type, value) -> XItemStack.serialize(value), (holder, type, value) -> XItemStack.serialize(value),
(holder, type, value) -> { (holder, type, value) -> {
ConfigurationSection section = (ConfigurationSection) value; ConfigureSection section = (ConfigureSection) value;
return XItemStack.deserialize(section); return XItemStack.deserialize(section.asMap());
} }
); );
+1 -1
View File
@@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>mineconfiguration-parent</artifactId> <artifactId>mineconfiguration-parent</artifactId>
<groupId>cc.carm.lib</groupId> <groupId>cc.carm.lib</groupId>
<version>3.0.2</version> <version>3.0.3</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>mineconfiguration-parent</artifactId> <artifactId>mineconfiguration-parent</artifactId>
<groupId>cc.carm.lib</groupId> <groupId>cc.carm.lib</groupId>
<version>3.0.2</version> <version>3.0.3</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
+3 -3
View File
@@ -10,14 +10,14 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<deps.easyconfifuration.version>4.0.7</deps.easyconfifuration.version> <deps.easyconfifuration.version>4.0.9</deps.easyconfifuration.version>
<deps.yamlcommentwriter.version>1.2.0</deps.yamlcommentwriter.version> <deps.yamlcommentwriter.version>1.2.1</deps.yamlcommentwriter.version>
<deps.easyplugin.version>1.5.12</deps.easyplugin.version> <deps.easyplugin.version>1.5.12</deps.easyplugin.version>
</properties> </properties>
<groupId>cc.carm.lib</groupId> <groupId>cc.carm.lib</groupId>
<artifactId>mineconfiguration-parent</artifactId> <artifactId>mineconfiguration-parent</artifactId>
<version>3.0.2</version> <version>3.0.3</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>common</module> <module>common</module>