Restore null page behaviour of signed books even though not strictly allowed by API

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot 2024-05-10 19:08:54 +10:00
parent e01dc013f7
commit 17b4c0d7a3
2 changed files with 10 additions and 2 deletions

View file

@ -212,7 +212,7 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta {
// assert: pages != null
String newText = validatePage(text);
pages.set(page - 1, CraftChatMessage.fromStringOrNull(newText, true));
pages.set(page - 1, CraftChatMessage.fromStringOrEmpty(newText, true));
}
@Override
@ -224,7 +224,7 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta {
public void addPage(final String... pages) {
for (String page : pages) {
page = validatePage(page);
internalAddPage(CraftChatMessage.fromStringOrNull(page, true));
internalAddPage(CraftChatMessage.fromStringOrEmpty(page, true));
}
}

View file

@ -177,6 +177,14 @@ public final class CraftChatMessage {
return (message == null || message.isEmpty()) ? null : fromString(message, keepNewlines)[0];
}
public static IChatBaseComponent fromStringOrEmpty(String message) {
return fromStringOrEmpty(message, false);
}
public static IChatBaseComponent fromStringOrEmpty(String message, boolean keepNewlines) {
return fromString(message, keepNewlines)[0];
}
public static IChatBaseComponent[] fromString(String message) {
return fromString(message, false);
}