feat: 完善 DisplayMessage 功能
This commit is contained in:
@@ -80,55 +80,54 @@ public class DisplayMessage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void show(@NotNull Audience audience, @NotNull TextReplacementConfig replacement) {
|
public void show(@NotNull Audience audience, @NotNull TextReplacementConfig replacement) {
|
||||||
if (message != null) {
|
copy().replace(replacement).show(audience);
|
||||||
audience.sendMessage(message.replaceText(replacement).compact());
|
|
||||||
}
|
|
||||||
if (actionbar != null) {
|
|
||||||
audience.sendActionBar(actionbar.replaceText(replacement).compact());
|
|
||||||
}
|
|
||||||
if (title != null) {
|
|
||||||
audience.showTitle(Title.title(
|
|
||||||
title.title().replaceText(replacement).compact(),
|
|
||||||
title.subtitle().replaceText(replacement).compact(),
|
|
||||||
title.times()
|
|
||||||
));
|
|
||||||
}
|
|
||||||
if (sound != null) {
|
|
||||||
audience.playSound(sound);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void show(@NotNull Audience audience, @NotNull TextReplacementConfig... replacements) {
|
public void show(@NotNull Audience audience, @NotNull TextReplacementConfig... replacements) {
|
||||||
|
copy().replace(replacements).show(audience);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DisplayMessage replace(@NotNull TextReplacementConfig replacement) {
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
Component replacedMessage = message;
|
message = message.replaceText(replacement).compact();
|
||||||
for (TextReplacementConfig replacement : replacements) {
|
|
||||||
replacedMessage = replacedMessage.replaceText(replacement);
|
|
||||||
}
|
|
||||||
audience.sendMessage(replacedMessage.compact());
|
|
||||||
}
|
}
|
||||||
if (actionbar != null) {
|
if (actionbar != null) {
|
||||||
Component replacedActionBar = actionbar;
|
actionbar = actionbar.replaceText(replacement).compact();
|
||||||
for (TextReplacementConfig replacement : replacements) {
|
|
||||||
replacedActionBar = replacedActionBar.replaceText(replacement);
|
|
||||||
}
|
|
||||||
audience.sendActionBar(replacedActionBar.compact());
|
|
||||||
}
|
}
|
||||||
if (title != null) {
|
if (title != null) {
|
||||||
Title replacedTitle = title;
|
title = Title.title(
|
||||||
|
title.title().replaceText(replacement).compact(),
|
||||||
|
title.subtitle().replaceText(replacement).compact(),
|
||||||
|
title.times()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DisplayMessage replace(@NotNull TextReplacementConfig... replacements) {
|
||||||
|
if (message != null) {
|
||||||
for (TextReplacementConfig replacement : replacements) {
|
for (TextReplacementConfig replacement : replacements) {
|
||||||
replacedTitle = Title.title(
|
message = message.replaceText(replacement).compact();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (actionbar != null) {
|
||||||
|
for (TextReplacementConfig replacement : replacements) {
|
||||||
|
actionbar = actionbar.replaceText(replacement).compact();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (title != null) {
|
||||||
|
for (TextReplacementConfig replacement : replacements) {
|
||||||
|
title = Title.title(
|
||||||
title.title().replaceText(replacement).compact(),
|
title.title().replaceText(replacement).compact(),
|
||||||
title.subtitle().replaceText(replacement).compact(),
|
title.subtitle().replaceText(replacement).compact(),
|
||||||
title.times()
|
title.times()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
audience.showTitle(replacedTitle);
|
|
||||||
}
|
|
||||||
if (sound != null) {
|
|
||||||
audience.playSound(sound);
|
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
public JsonObject saveToJson() {
|
public JsonObject saveToJson() {
|
||||||
JsonObject object = new JsonObject();
|
JsonObject object = new JsonObject();
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
@@ -258,7 +257,6 @@ public class DisplayMessage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@SuppressWarnings("UnusedReturnValue")
|
|
||||||
public DisplayMessage fromJson(@NotNull JsonElement element) {
|
public DisplayMessage fromJson(@NotNull JsonElement element) {
|
||||||
if (!element.isJsonObject()) {
|
if (!element.isJsonObject()) {
|
||||||
message = Component.text(element.toString());
|
message = Component.text(element.toString());
|
||||||
@@ -280,6 +278,15 @@ public class DisplayMessage {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public DisplayMessage copy() {
|
||||||
|
return new DisplayMessage()
|
||||||
|
.setMessage(message)
|
||||||
|
.setActionBar(actionbar)
|
||||||
|
.setTitle(title)
|
||||||
|
.setSound(sound);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return CoreConstantObjects.GSON.toJson(this);
|
return CoreConstantObjects.GSON.toJson(this);
|
||||||
|
Reference in New Issue
Block a user