aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit
diff options
context:
space:
mode:
Diffstat (limited to 'bukkit')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/DeliverTaskType.java5
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ServerNPCDeliverTaskType.java7
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ZNPCsPlusDeliverTaskType.java22
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