From 32b588807a4e6eef9767ec93684bd762e7d41cbd Mon Sep 17 00:00:00 2001 From: Pyrbu Date: Mon, 24 Jul 2023 02:51:40 +0200 Subject: [PATCH] make interaction detection also treat holograms as part of the npc (fixes #76) --- .../main/java/lol/pyr/znpcsplus/hologram/HologramLine.java | 4 ++++ .../src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/hologram/HologramLine.java b/plugin/src/main/java/lol/pyr/znpcsplus/hologram/HologramLine.java index 895df3e..df76abd 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/hologram/HologramLine.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/hologram/HologramLine.java @@ -51,6 +51,10 @@ public class HologramLine implements PropertyHolder { armorStand.setLocation(location, viewers); } + public int getEntityId() { + return armorStand.getEntityId(); + } + @SuppressWarnings("unchecked") @Override public T getProperty(EntityProperty key) { diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java index 914695a..6de6b1e 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java @@ -103,7 +103,9 @@ public class NpcRegistryImpl implements NpcRegistry { } public NpcEntryImpl getByEntityId(int id) { - return npcList.stream().filter(entry -> entry.getNpc().getEntity().getEntityId() == id).findFirst().orElse(null); + return npcList.stream().filter(entry -> entry.getNpc().getEntity().getEntityId() == id || + entry.getNpc().getHologram().getLines().stream().anyMatch(line -> line.getEntityId() == id)) // Also match the holograms of npcs + .findFirst().orElse(null); } public Collection getAllIds() {