From 8cf37b0ecc26df17ee9dfe3c919b9c709c7cc4e1 Mon Sep 17 00:00:00 2001 From: fullwall Date: Wed, 27 Mar 2024 16:18:11 +0800 Subject: [PATCH] Give item holograms the same tracking range as the base hologram --- .../main/java/net/citizensnpcs/trait/HologramTrait.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/main/src/main/java/net/citizensnpcs/trait/HologramTrait.java b/main/src/main/java/net/citizensnpcs/trait/HologramTrait.java index c39e732d3..3baaa42b5 100644 --- a/main/src/main/java/net/citizensnpcs/trait/HologramTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/HologramTrait.java @@ -126,6 +126,10 @@ public class HologramTrait extends Trait { if (itemMatcher.matches()) { Material item = SpigotUtil.isUsing1_13API() ? Material.matchMaterial(itemMatcher.group(1), false) : Material.matchMaterial(itemMatcher.group(1)); + if (item == null) { + hologramNPC.destroy(); + throw new IllegalStateException("Unknown material " + line); + } ItemStack itemStack = new ItemStack(item, 1); NPC itemNPC = registry.createNPCUsingItem(EntityType.DROPPED_ITEM, "", itemStack); itemNPC.data().setPersistent(NPC.Metadata.NAMEPLATE_VISIBLE, false); @@ -138,6 +142,10 @@ public class HologramTrait extends Trait { .setColor(Util.matchEnum(ChatColor.values(), itemMatcher.group(2).substring(1))); } } + if (hologramNPC.data().has(NPC.Metadata.TRACKING_RANGE)) { + itemNPC.data().setPersistent(NPC.Metadata.TRACKING_RANGE, + hologramNPC.data().get(NPC.Metadata.TRACKING_RANGE)); + } itemNPC.getOrAddTrait(MountTrait.class).setMountedOn(hologramNPC.getUniqueId()); itemNPC.spawn(currentLoc); NPC hn = hologramNPC;