aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2024-02-29 20:44:40 +0100
committerLeonardo Bishop <13875753+LMBishop@users.noreply.github.com>2024-03-09 16:15:02 +0000
commit68c27395702bbcc08dee5a81a08b638bfcbef76c (patch)
tree034d9e834683278281b03e917897e3d616ebb0d9
parent91b094f31cc26087b20f79a99d441ab23b426482 (diff)
Ignore ZNPCsPlus hologram serialization errors
Closes https://github.com/LMBishop/Quests/issues/618
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusDeliverTaskType.java15
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusInteractTaskType.java15
2 files changed, 26 insertions, 4 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusDeliverTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusDeliverTaskType.java
index 2a1e6e96..6c0ed18f 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusDeliverTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusDeliverTaskType.java
@@ -33,10 +33,21 @@ public final class ZNPCsPlusDeliverTaskType extends DeliverTaskType<String> {
if (lineCount > 0) {
StringBuilder nameBuilder = new StringBuilder();
for (int i = 0; i < lineCount; i++) {
- String line = hologram.getLine(i);
+ boolean lastLine = (i == lineCount - 1);
+
+ String line;
+ try {
+ line = hologram.getLine(i);
+ } catch (Throwable ignored) {
+ if (lastLine) {
+ nameBuilder.deleteCharAt(nameBuilder.length() - 1);
+ }
+ continue;
+ }
+
nameBuilder.append(line);
- if (i != lineCount - 1) {
+ if (!lastLine) {
nameBuilder.append('\n');
}
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusInteractTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusInteractTaskType.java
index ec6816f6..7afb5d4a 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusInteractTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusInteractTaskType.java
@@ -33,10 +33,21 @@ public final class ZNPCsPlusInteractTaskType extends InteractTaskType<String> {
if (lineCount > 0) {
StringBuilder nameBuilder = new StringBuilder();
for (int i = 0; i < lineCount; i++) {
- String line = hologram.getLine(i);
+ boolean lastLine = (i == lineCount - 1);
+
+ String line;
+ try {
+ line = hologram.getLine(i);
+ } catch (Throwable ignored) {
+ if (lastLine) {
+ nameBuilder.deleteCharAt(nameBuilder.length() - 1);
+ }
+ continue;
+ }
+
nameBuilder.append(line);
- if (i != lineCount - 1) {
+ if (!lastLine) {
nameBuilder.append('\n');
}
}