perf: 优化代码

This commit is contained in:
2023-06-05 10:17:21 +08:00
parent 4bae28d8e2
commit 32833879eb
2 changed files with 25 additions and 25 deletions

View File

@@ -60,16 +60,6 @@ public enum CoreMessage {
}
}
public void show(CommandSender sender) {
if (message == null) {
sender.sendMessage(name());
return;
}
Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().sender(sender);
message.show(audience);
}
@SuppressWarnings("unused")
public void show(CommandSender sender, TextReplacementConfig... replacement) {
if (message == null) {
sender.sendMessage(name());

View File

@@ -46,29 +46,39 @@ public class DisplayMessage {
return displayMessage;
}
public void show(@NotNull Audience audience) {
if (message != null) {
audience.sendMessage(message);
public void show(@NotNull Audience audience, @NotNull TextReplacementConfig... replacements) {
Component replacedMessage = message;
Component replacedActionbar = actionbar;
Title replacedTitle = title;
for (TextReplacementConfig replacement : replacements) {
if (replacedMessage != null) {
replacedMessage = replacedMessage.replaceText(replacement);
}
if (actionbar != null) {
audience.sendActionBar(actionbar);
if (replacedActionbar != null) {
replacedActionbar = replacedActionbar.replaceText(replacement);
}
if (title != null) {
audience.showTitle(title);
if (replacedTitle != null) {
replacedTitle = Title.title(
replacedTitle.title().replaceText(replacement).compact(),
replacedTitle.subtitle().replaceText(replacement).compact(),
replacedTitle.times()
);
}
}
if (replacedMessage != null) {
audience.sendMessage(replacedMessage);
}
if (replacedActionbar != null) {
audience.sendActionBar(replacedActionbar);
}
if (replacedTitle != null) {
audience.showTitle(replacedTitle);
}
if (sound != null) {
audience.playSound(sound);
}
}
public void show(@NotNull Audience audience, @NotNull TextReplacementConfig replacement) {
copy().replace(replacement).show(audience);
}
public void show(@NotNull Audience audience, @NotNull TextReplacementConfig... replacements) {
copy().replace(replacements).show(audience);
}
@NotNull
public DisplayMessage setMessage(@NotNull String message) {
this.message = Component.text(message);