From eac158eb835d5add581c0f21d0ec33abc7eefce6 Mon Sep 17 00:00:00 2001 From: fullwall Date: Thu, 25 Apr 2019 17:11:02 +0800 Subject: [PATCH] Add shulker peek-look-close --- main/src/main/java/net/citizensnpcs/trait/LookClose.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main/src/main/java/net/citizensnpcs/trait/LookClose.java b/main/src/main/java/net/citizensnpcs/trait/LookClose.java index f753e3909..a4ee8b0b3 100644 --- a/main/src/main/java/net/citizensnpcs/trait/LookClose.java +++ b/main/src/main/java/net/citizensnpcs/trait/LookClose.java @@ -22,6 +22,7 @@ import net.citizensnpcs.api.persistence.Persist; import net.citizensnpcs.api.trait.Trait; import net.citizensnpcs.api.trait.TraitName; import net.citizensnpcs.api.util.DataKey; +import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.Util; @TraitName("lookclose") @@ -39,7 +40,8 @@ public class LookClose extends Trait implements Toggleable, CommandConfigurable private boolean canSeeTarget() { return realisticLooking && npc.getEntity() instanceof LivingEntity - ? ((LivingEntity) npc.getEntity()).hasLineOfSight(lookingAt) : true; + ? ((LivingEntity) npc.getEntity()).hasLineOfSight(lookingAt) + : true; } @Override @@ -115,6 +117,10 @@ public class LookClose extends Trait implements Toggleable, CommandConfigurable } if (lookingAt != null && canSeeTarget()) { Util.faceEntity(npc.getEntity(), lookingAt); + if (npc.getEntity().getType().name().toLowerCase().contains("shulker")) { + NMS.setPeekShulker(npc.getEntity(), 100 - (int) Math + .floor(npc.getStoredLocation().distanceSquared(lookingAt.getLocation(PLAYER_LOCATION)))); + } } }