1
mirror of https://github.com/CarmJos/MineConfiguration.git synced 2024-09-19 20:05:49 +00:00

[1.1.3-SNAPSHOT] 优化空消息忽略的逻辑

This commit is contained in:
Carm Jos 2022-04-25 09:59:25 +08:00
parent f0957c1b3e
commit 26922f9225
8 changed files with 18 additions and 27 deletions

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>1.1.2-SNAPSHOT</version> <version>1.1.3-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>

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>1.1.2-SNAPSHOT</version> <version>1.1.3-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>

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>1.1.2-SNAPSHOT</version> <version>1.1.3-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>

View File

@ -50,7 +50,7 @@ public class MessageText {
else return parser.apply(sender, setPlaceholders(message, placeholders)); else return parser.apply(sender, setPlaceholders(message, placeholders));
} }
protected static Map<String, Object> buildParams(@Nullable String[] params, @Nullable Object[] values) { public static Map<String, Object> buildParams(@Nullable String[] params, @Nullable Object[] values) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
if (params == null || params.length == 0) return map; if (params == null || params.length == 0) return map;
for (int i = 0; i < params.length; i++) { for (int i = 0; i < params.length; i++) {
@ -59,7 +59,7 @@ public class MessageText {
return map; return map;
} }
protected static String setPlaceholders(@NotNull String messages, @NotNull Map<String, Object> placeholders) { public static String setPlaceholders(@NotNull String messages, @NotNull Map<String, Object> placeholders) {
if (messages.isEmpty()) return messages; if (messages.isEmpty()) return messages;
String parsed = messages; String parsed = messages;

View File

@ -54,22 +54,17 @@ public class ConfiguredMessage<M> extends ConfiguredValue<MessageText> {
} }
public @Nullable M parse(@Nullable CommandSender sender, @Nullable Object... values) { public @Nullable M parse(@Nullable CommandSender sender, @Nullable Object... values) {
MessageText value = get(); return parse(sender, MessageText.buildParams(params, values));
if (value == null) return null;
else return value.parse(this.messageParser, sender, this.params, values);
} }
public @Nullable M parse(@Nullable CommandSender sender, @NotNull Map<String, Object> placeholders) { public @Nullable M parse(@Nullable CommandSender sender, @NotNull Map<String, Object> placeholders) {
MessageText value = get(); MessageText value = get();
if (value == null) return null; if (value == null || value.getMessage().isEmpty()) return null;
else return value.parse(this.messageParser, sender, placeholders); else return value.parse(this.messageParser, sender, placeholders);
} }
public void send(@Nullable CommandSender receiver, @Nullable Object... values) { public void send(@Nullable CommandSender receiver, @Nullable Object... values) {
if (receiver == null) return; send(receiver, MessageText.buildParams(params, values));
M parsed = parse(receiver, values);
if (parsed == null) return;
sendFunction.accept(receiver, parsed);
} }
public void send(@Nullable CommandSender receiver, @NotNull Map<String, Object> placeholders) { public void send(@Nullable CommandSender receiver, @NotNull Map<String, Object> placeholders) {
@ -80,8 +75,7 @@ public class ConfiguredMessage<M> extends ConfiguredValue<MessageText> {
} }
public void broadcast(@Nullable Object... values) { public void broadcast(@Nullable Object... values) {
Bukkit.getOnlinePlayers().forEach(pl -> send(pl, values)); broadcast(MessageText.buildParams(params, values));
send(Bukkit.getConsoleSender(), values);
} }
public void broadcast(@NotNull Map<String, Object> placeholders) { public void broadcast(@NotNull Map<String, Object> placeholders) {

View File

@ -51,24 +51,22 @@ public class ConfiguredMessageList<M> extends ConfiguredList<MessageText> {
} }
public @Nullable List<M> parse(@Nullable CommandSender sender, @Nullable Object... values) { public @Nullable List<M> parse(@Nullable CommandSender sender, @Nullable Object... values) {
List<MessageText> list = get(); return parse(sender, MessageText.buildParams(params, values));
if (list.isEmpty()) return null;
return list.stream().map(value -> value.parse(this.messageParser, sender, this.params, values))
.collect(Collectors.toList());
} }
public @Nullable List<M> parse(@Nullable CommandSender sender, @NotNull Map<String, Object> placeholders) { public @Nullable List<M> parse(@Nullable CommandSender sender, @NotNull Map<String, Object> placeholders) {
List<MessageText> list = get(); List<MessageText> list = get();
if (list.isEmpty()) return null; if (list.isEmpty()) return null;
List<String> messages = list.stream().map(MessageText::getMessage).collect(Collectors.toList());
if (String.join("", messages).isEmpty()) return null;
return list.stream().map(value -> value.parse(this.messageParser, sender, placeholders)) return list.stream().map(value -> value.parse(this.messageParser, sender, placeholders))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
public void send(@Nullable CommandSender receiver, @Nullable Object... values) { public void send(@Nullable CommandSender receiver, @Nullable Object... values) {
if (receiver == null) return; send(receiver, MessageText.buildParams(params, values));
List<M> parsed = parse(receiver, values);
if (parsed == null) return;
sendFunction.accept(receiver, parsed);
} }
public void send(@Nullable CommandSender receiver, @NotNull Map<String, Object> placeholders) { public void send(@Nullable CommandSender receiver, @NotNull Map<String, Object> placeholders) {
@ -79,8 +77,7 @@ public class ConfiguredMessageList<M> extends ConfiguredList<MessageText> {
} }
public void broadcast(@Nullable Object... values) { public void broadcast(@Nullable Object... values) {
Bukkit.getOnlinePlayers().forEach(pl -> send(pl, values)); broadcast(MessageText.buildParams(params, values));
send(Bukkit.getConsoleSender(), values);
} }
public void broadcast(@NotNull Map<String, Object> placeholders) { public void broadcast(@NotNull Map<String, Object> placeholders) {

View File

@ -21,7 +21,7 @@
</properties> </properties>
<groupId>cc.carm.lib</groupId> <groupId>cc.carm.lib</groupId>
<artifactId>mineconfiguration-parent</artifactId> <artifactId>mineconfiguration-parent</artifactId>
<version>1.1.2-SNAPSHOT</version> <version>1.1.3-SNAPSHOT</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>MineConfiguration</name> <name>MineConfiguration</name>

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>1.1.2-SNAPSHOT</version> <version>1.1.3-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>