1
mirror of https://github.com/CarmJos/EasyPlugin.git synced 2024-09-19 19:25:45 +00:00

[v1.3.6] 消息配置文件相关更新

- [A] 添加MessageBuilder,更方便构建参数
- [U] 采用 `Object...` 的形式传入参数
This commit is contained in:
Carm Jos 2022-02-25 22:12:00 +08:00
parent c575805c72
commit acea995996
16 changed files with 277 additions and 160 deletions

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -1,6 +1,7 @@
package cc.carm.lib.easyplugin.configuration.language;
import cc.carm.lib.easyplugin.configuration.file.FileConfig;
import cc.carm.lib.easyplugin.configuration.language.builder.EasyMessageBuilder;
import cc.carm.lib.easyplugin.configuration.values.ConfigValue;
import cc.carm.lib.easyplugin.utils.ColorParser;
import cc.carm.lib.easyplugin.utils.MessageUtils;
@ -19,6 +20,10 @@ public class EasyMessage {
@Nullable String defaultValue;
@Nullable String[] messageParams;
public static EasyMessageBuilder builder() {
return new EasyMessageBuilder();
}
public EasyMessage() {
this(null);
}
@ -58,10 +63,10 @@ public class EasyMessage {
}
public @NotNull String get(@Nullable CommandSender sender) {
return get(sender, null);
return get(sender, (Object[]) null);
}
public @NotNull String get(@Nullable CommandSender sender, @Nullable Object[] values) {
public @NotNull String get(@Nullable CommandSender sender, @Nullable Object... values) {
return get(sender, getMessageParams(), values);
}
@ -74,10 +79,10 @@ public class EasyMessage {
}
public void send(@Nullable CommandSender sender) {
send(sender, null);
send(sender, (Object[]) null);
}
public void send(@Nullable CommandSender sender, @Nullable Object[] values) {
public void send(@Nullable CommandSender sender, @Nullable Object... values) {
send(sender, getMessageParams(), values);
}
@ -88,10 +93,10 @@ public class EasyMessage {
}
public void sendBar(@Nullable Player player) {
sendBar(player, null);
sendBar(player, (Object[]) null);
}
public void sendBar(@Nullable Player player, @Nullable Object[] values) {
public void sendBar(@Nullable Player player, @Nullable Object... values) {
sendBar(player, getMessageParams(), values);
}
@ -104,10 +109,10 @@ public class EasyMessage {
}
public void sendToAll() {
sendToAll(null);
sendToAll((Object[]) null);
}
public void sendToAll(@Nullable Object[] values) {
public void sendToAll(@Nullable Object... values) {
sendToAll(messageParams, values);
}

View File

@ -1,6 +1,7 @@
package cc.carm.lib.easyplugin.configuration.language;
import cc.carm.lib.easyplugin.configuration.file.FileConfig;
import cc.carm.lib.easyplugin.configuration.language.builder.EasyMessageListBuilder;
import cc.carm.lib.easyplugin.configuration.values.ConfigValueList;
import cc.carm.lib.easyplugin.utils.ColorParser;
import cc.carm.lib.easyplugin.utils.MessageUtils;
@ -21,6 +22,10 @@ public class EasyMessageList {
@Nullable String[] defaultValue;
@Nullable String[] messageParams;
public static EasyMessageListBuilder builder() {
return new EasyMessageListBuilder();
}
public EasyMessageList() {
this((String[]) null);
}
@ -62,10 +67,10 @@ public class EasyMessageList {
}
public @NotNull List<String> get(@Nullable CommandSender sender) {
return get(sender, null);
return get(sender, (Object[]) null);
}
public @NotNull List<String> get(@Nullable CommandSender sender, @Nullable Object[] values) {
public @NotNull List<String> get(@Nullable CommandSender sender, @Nullable Object... values) {
return get(sender, getMessageParams(), values);
}
@ -78,10 +83,10 @@ public class EasyMessageList {
}
public void send(@Nullable CommandSender sender) {
send(sender, null);
send(sender, (Object[]) null);
}
public void send(@Nullable CommandSender sender, @Nullable Object[] values) {
public void send(@Nullable CommandSender sender, @Nullable Object... values) {
send(sender, getMessageParams(), values);
}
@ -93,10 +98,10 @@ public class EasyMessageList {
}
public void sendToAll() {
sendToAll(null);
sendToAll((Object[]) null);
}
public void sendToAll(@Nullable Object[] values) {
public void sendToAll(@Nullable Object... values) {
sendToAll(messageParams, values);
}

View File

@ -0,0 +1,51 @@
package cc.carm.lib.easyplugin.configuration.language.builder;
import cc.carm.lib.easyplugin.configuration.language.EasyMessage;
import org.jetbrains.annotations.Nullable;
import java.util.Arrays;
import java.util.Optional;
public class EasyMessageBuilder {
String content;
String[] params;
@Nullable String paramPrefix = "%(";
@Nullable String paramSuffix = ")";
public EasyMessageBuilder() {
}
EasyMessageBuilder contents(String content) {
this.content = content;
return this;
}
EasyMessageBuilder params(String... placeholders) {
this.params = placeholders;
return this;
}
public EasyMessageBuilder setParamPrefix(@Nullable String paramPrefix) {
this.paramPrefix = paramPrefix;
return this;
}
public EasyMessageBuilder setParamSuffix(@Nullable String paramSuffix) {
this.paramSuffix = paramSuffix;
return this;
}
public EasyMessageBuilder setParamFormat(@Nullable String paramPrefix, @Nullable String paramSuffix) {
this.paramPrefix = paramPrefix;
this.paramSuffix = paramSuffix;
return this;
}
public EasyMessage build() {
return new EasyMessage(this.content, Optional.ofNullable(this.params).map(params -> Arrays.stream(this.params).map(param -> paramPrefix + param + paramSuffix).toArray(String[]::new)).orElse(null));
}
}

View File

@ -0,0 +1,51 @@
package cc.carm.lib.easyplugin.configuration.language.builder;
import cc.carm.lib.easyplugin.configuration.language.EasyMessageList;
import org.jetbrains.annotations.Nullable;
import java.util.Arrays;
import java.util.Optional;
public class EasyMessageListBuilder {
String[] contents;
String[] params;
@Nullable String paramPrefix = "%(";
@Nullable String paramSuffix = ")";
public EasyMessageListBuilder() {
}
EasyMessageListBuilder contents(String... contents) {
this.contents = contents;
return this;
}
EasyMessageListBuilder params(String... placeholders) {
this.params = placeholders;
return this;
}
public EasyMessageListBuilder setParamPrefix(@Nullable String paramPrefix) {
this.paramPrefix = paramPrefix;
return this;
}
public EasyMessageListBuilder setParamSuffix(@Nullable String paramSuffix) {
this.paramSuffix = paramSuffix;
return this;
}
public EasyMessageListBuilder setParamFormat(@Nullable String paramPrefix, @Nullable String paramSuffix) {
this.paramPrefix = paramPrefix;
this.paramSuffix = paramSuffix;
return this;
}
public EasyMessageList build() {
return new EasyMessageList(this.contents, Optional.ofNullable(this.params).map(params -> Arrays.stream(this.params).map(param -> paramPrefix + param + paramSuffix).toArray(String[]::new)).orElse(null));
}
}

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -54,7 +54,7 @@
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-beecp</artifactId>
<version>0.2.7</version>
<version>0.3.8</version>
<optional>true</optional>
<scope>compile</scope>
</dependency>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.3.5</version>
<version>1.3.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -14,7 +14,7 @@
<groupId>cc.carm.lib</groupId>
<artifactId>easyplugin-parent</artifactId>
<packaging>pom</packaging>
<version>1.3.5</version>
<version>1.3.6</version>
<modules>
<module>easyplugin-main</module>
@ -86,6 +86,11 @@
<url>https://repo1.maven.org/maven2/</url>
</repository>
<repository>
<id>minebench-repo</id>
<url>https://repo.minebench.de/</url>
</repository>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public</url>