diff --git a/platform/velocity/pom.xml b/platform/adventure/pom.xml similarity index 59% rename from platform/velocity/pom.xml rename to platform/adventure/pom.xml index 9efa491..c56cb1d 100644 --- a/platform/velocity/pom.xml +++ b/platform/adventure/pom.xml @@ -14,12 +14,14 @@ 17 UTF-8 UTF-8 + + 4.24.0 mineconfiguration-velocity jar - MineConfiguration-Velocity - 轻松(做)配置,适用于Velocity的版本,可用JSON与YAML格式。 + MineConfiguration-Adventure + 轻松(做)配置,适用于基于Adventure的平台(如Velocity、Paper),可用JSON与YAML格式。 @@ -38,12 +40,29 @@ - com.velocitypowered - velocity-api - 3.4.0-SNAPSHOT - provided + net.kyori + adventure-api + ${deps.adventure.version} + compile + + + net.kyori + adventure-text-serializer-legacy + ${deps.adventure.version} + compile + + + net.kyori + adventure-text-serializer-plain + ${deps.adventure.version} + compile + + + net.kyori + adventure-text-minimessage + ${deps.adventure.version} + compile - diff --git a/platform/velocity/src/main/java/cc/carm/lib/mineconfiguration/velocity/MineConfiguration.java b/platform/adventure/src/main/java/cc/carm/lib/mineconfiguration/adventure/MineConfiguration.java similarity index 96% rename from platform/velocity/src/main/java/cc/carm/lib/mineconfiguration/velocity/MineConfiguration.java rename to platform/adventure/src/main/java/cc/carm/lib/mineconfiguration/adventure/MineConfiguration.java index 24e3596..8a3b0ce 100644 --- a/platform/velocity/src/main/java/cc/carm/lib/mineconfiguration/velocity/MineConfiguration.java +++ b/platform/adventure/src/main/java/cc/carm/lib/mineconfiguration/adventure/MineConfiguration.java @@ -1,4 +1,4 @@ -package cc.carm.lib.mineconfiguration.velocity; +package cc.carm.lib.mineconfiguration.adventure; import cc.carm.lib.configuration.Configuration; import cc.carm.lib.configuration.source.ConfigurationHolder; diff --git a/platform/velocity/src/main/java/cc/carm/lib/mineconfiguration/velocity/value/ConfiguredMessage.java b/platform/adventure/src/main/java/cc/carm/lib/mineconfiguration/adventure/value/ConfiguredMessage.java similarity index 78% rename from platform/velocity/src/main/java/cc/carm/lib/mineconfiguration/velocity/value/ConfiguredMessage.java rename to platform/adventure/src/main/java/cc/carm/lib/mineconfiguration/adventure/value/ConfiguredMessage.java index b310949..3010f98 100644 --- a/platform/velocity/src/main/java/cc/carm/lib/mineconfiguration/velocity/value/ConfiguredMessage.java +++ b/platform/adventure/src/main/java/cc/carm/lib/mineconfiguration/adventure/value/ConfiguredMessage.java @@ -1,4 +1,4 @@ -package cc.carm.lib.mineconfiguration.velocity.value; +package cc.carm.lib.mineconfiguration.adventure.value; import cc.carm.lib.configuration.value.ValueManifest; import cc.carm.lib.configuration.value.text.ConfiguredText; @@ -6,15 +6,23 @@ import cc.carm.lib.configuration.value.text.data.TextContents; import cc.carm.lib.easyplugin.utils.ColorParser; import net.kyori.adventure.audience.Audience; import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.serializer.ComponentSerializer; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.jetbrains.annotations.NotNull; import java.util.List; +import java.util.concurrent.atomic.AtomicReference; import java.util.function.BiConsumer; import java.util.function.BiFunction; public class ConfiguredMessage extends ConfiguredText { + public static final LegacyComponentSerializer LEGACY_SERIALIZER = LegacyComponentSerializer.legacySection(); + + public static AtomicReference> SERIALIZER = new AtomicReference<>(LEGACY_SERIALIZER); + @NotNull + public static ConfiguredMessage.Builder create() { return new Builder(); } @@ -41,7 +49,7 @@ public class ConfiguredMessage extends ConfiguredText { public Builder() { super(); this.parser = (receiver, message) -> ColorParser.parse(message); - this.compiler = (receiver, message) -> Component.text(message); + this.compiler = (receiver, message) -> SERIALIZER.get().deserialize(message); this.dispatcher = (receiver, message) -> message.forEach(receiver::sendMessage); } diff --git a/pom.xml b/pom.xml index 15eccb3..1fc047b 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ common platform/bukkit platform/bungee - platform/velocity + platform/adventure MineConfiguration