Fix NPC particles. Bump version

This commit is contained in:
PikaMug 2023-01-12 02:02:05 -05:00
parent 9e4c1de8e2
commit 763be3bb94
3 changed files with 14 additions and 13 deletions

View File

@ -323,17 +323,16 @@ public class Dependencies implements IDependencies {
return "NPC"; return "NPC";
} }
/** public @Nullable UUID getUUIDFromNPC(final Entity entity) {
* Checks whether an Entity is a supported NPC
*
* @param entity the Entity to check
* @return true if a supported NPC
*/
public boolean isSupportedNPC(Entity entity) {
if (citizens != null && citizens.getNPCRegistry().isNPC(entity)) { if (citizens != null && citizens.getNPCRegistry().isNPC(entity)) {
return true; return citizens.getNPCRegistry().getNPC(entity).getUniqueId();
} else if (getZnpcsUuids().contains(entity.getUniqueId())) {
final Optional<NPC> opt = NPC.all().stream().filter(npc1 -> npc1.getUUID().equals(entity.getUniqueId())).findAny();
if (opt.isPresent()) {
return opt.get().getUUID();
} }
return getZnpcsUuids().contains(entity.getUniqueId()); }
return null;
} }
public int getMcmmoSkillLevel(final SkillType st, final String player) { public int getMcmmoSkillLevel(final SkillType st, final String player) {

View File

@ -22,6 +22,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.util.List; import java.util.List;
import java.util.UUID;
public class NpcEffectThread implements Runnable { public class NpcEffectThread implements Runnable {
@ -38,15 +39,16 @@ public class NpcEffectThread implements Runnable {
if (!nearby.isEmpty()) { if (!nearby.isEmpty()) {
final Quester quester = plugin.getQuester(player.getUniqueId()); final Quester quester = plugin.getQuester(player.getUniqueId());
for (final Entity entity : nearby) { for (final Entity entity : nearby) {
if (plugin.getDependencies().isSupportedNPC(entity)) { UUID uuid = plugin.getDependencies().getUUIDFromNPC(entity);
if (uuid != null) {
final QuesterPostViewEffectEvent event; final QuesterPostViewEffectEvent event;
if (plugin.hasQuest(entity.getUniqueId(), quester)) { if (plugin.hasQuest(uuid, quester)) {
showEffect(player, entity, plugin.getSettings().getEffect()); showEffect(player, entity, plugin.getSettings().getEffect());
event = new QuesterPostViewEffectEvent(quester, entity, event = new QuesterPostViewEffectEvent(quester, entity,
plugin.getSettings().getEffect(), false); plugin.getSettings().getEffect(), false);
plugin.getServer().getPluginManager().callEvent(event); plugin.getServer().getPluginManager().callEvent(event);
} else if (plugin.hasCompletedRedoableQuest(entity.getUniqueId(), quester)) { } else if (plugin.hasCompletedRedoableQuest(uuid, quester)) {
showEffect(player, entity, plugin.getSettings().getRedoEffect()); showEffect(player, entity, plugin.getSettings().getRedoEffect());
event = new QuesterPostViewEffectEvent(quester, entity, event = new QuesterPostViewEffectEvent(quester, entity,

View File

@ -21,7 +21,7 @@
</modules> </modules>
<properties> <properties>
<revision>4.7.0</revision> <revision>4.7.1</revision>
<updatePomFile>true</updatePomFile> <updatePomFile>true</updatePomFile>
<flattenMode>resolveCiFriendliesOnly</flattenMode> <flattenMode>resolveCiFriendliesOnly</flattenMode>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>