diff options
| author | Krakenied <Krakenied1@gmail.com> | 2024-02-15 12:05:38 +0100 |
|---|---|---|
| committer | Leonardo Bishop <13875753+LMBishop@users.noreply.github.com> | 2024-02-18 12:19:16 +0000 |
| commit | 399dd21bedb7309b720dd303612db13c02ceb3ac (patch) | |
| tree | 840b32d9196de2cd178636d8ccea43988500a8ea /bukkit/src | |
| parent | 4cdb262d04e9a18e3d17e5ac3dea6b8b82158d45 (diff) | |
Handle empty names in another way
Diffstat (limited to 'bukkit/src')
3 files changed, 27 insertions, 7 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/DeliverTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/DeliverTaskType.java index 31a7af51..38c6f779 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/DeliverTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/DeliverTaskType.java @@ -78,6 +78,11 @@ public abstract class DeliverTaskType<T> extends BukkitTaskType { } else { String configNPCName = (String) task.getConfigValue("npc-name"); if (configNPCName != null) { + if (npcName == null) { + super.debug("NPC name is empty and does not match required name, continuing...", quest.getId(), task.getId(), player.getUniqueId()); + continue; + } + if (!nameCorrected) { npcName = Chat.legacyStrip(Chat.legacyColor(npcName)); nameCorrected = true; diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ServerNPCDeliverTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ServerNPCDeliverTaskType.java index ff02f407..5c768b85 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ServerNPCDeliverTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ServerNPCDeliverTaskType.java @@ -10,6 +10,8 @@ import com.leonardobishop.quests.common.quest.Task; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; +import java.util.List; + public final class ServerNPCDeliverTaskType extends DeliverTaskType<String> { private final BukkitQuestsPlugin plugin; @@ -27,7 +29,10 @@ public final class ServerNPCDeliverTaskType extends DeliverTaskType<String> { SnakeNPC npc = event.getSnakeNPC(); SnakeHologram hologram = npc.getHologram(); - String name = String.join("\n", hologram.getLines()); + List<String> hologramLines = hologram.getLines(); + String name = !hologramLines.isEmpty() + ? String.join("\n", hologramLines) + : null; checkInventory(event.getPlayer(), npc.getName(), name, 1L, plugin); } 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 efd4bc0c..2a1e6e96 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 @@ -27,15 +27,25 @@ public final class ZNPCsPlusDeliverTaskType extends DeliverTaskType<String> { NpcEntry entry = event.getEntry(); Hologram hologram = event.getNpc().getHologram(); + String name; - StringBuilder nameBuilder = new StringBuilder(); - for (int i = 0; i < hologram.lineCount(); i++) { - String line = hologram.getLine(i); - nameBuilder.append(line).append('\n'); + int lineCount = hologram.lineCount(); + if (lineCount > 0) { + StringBuilder nameBuilder = new StringBuilder(); + for (int i = 0; i < lineCount; i++) { + String line = hologram.getLine(i); + nameBuilder.append(line); + + if (i != lineCount - 1) { + nameBuilder.append('\n'); + } + } + name = nameBuilder.toString(); + } else { + name = null; } - nameBuilder.deleteCharAt(nameBuilder.length() - 1); - checkInventory(event.getPlayer(), entry.getId(), nameBuilder.toString(), 1L, plugin); + checkInventory(event.getPlayer(), entry.getId(), name, 1L, plugin); } @Override |
