diff options
| author | Krakenied <Krakenied1@gmail.com> | 2024-02-29 20:44:40 +0100 |
|---|---|---|
| committer | Leonardo Bishop <13875753+LMBishop@users.noreply.github.com> | 2024-03-09 16:15:02 +0000 |
| commit | 68c27395702bbcc08dee5a81a08b638bfcbef76c (patch) | |
| tree | 034d9e834683278281b03e917897e3d616ebb0d9 /bukkit/src | |
| parent | 91b094f31cc26087b20f79a99d441ab23b426482 (diff) | |
Ignore ZNPCsPlus hologram serialization errors
Closes https://github.com/LMBishop/Quests/issues/618
Diffstat (limited to 'bukkit/src')
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'); } } |
