diff --git a/src/main/java/net/aufdemrand/denizen/objects/dEntity.java b/src/main/java/net/aufdemrand/denizen/objects/dEntity.java index 62c73021a3..6c7fa79c94 100644 --- a/src/main/java/net/aufdemrand/denizen/objects/dEntity.java +++ b/src/main/java/net/aufdemrand/denizen/objects/dEntity.java @@ -922,6 +922,17 @@ else if ((float) getLivingEntity().getHealth() / maxHealth < 1) return new Duration(entity.getTicksLived() / 20) .getAttribute(attribute.fulfill(1)); + // <-- + // -> Element(Boolean) + // Returns true if the entity can see the other entity. + // --> + if (attribute.startsWith("can_see")) { + if (attribute.hasContext(1) && dEntity.matches(attribute.getContext(1))) { + dEntity toEntity = dEntity.valueOf(attribute.getContext(1)); + return new Element(String.valueOf(getLivingEntity().hasLineOfSight(toEntity.getBukkitEntity()))).getAttribute(attribute.fulfill(1)); + } + } + // <-- // -> Element(Boolean) // Returns true if the entity can pick up items. Else, returns false. diff --git a/src/main/java/net/aufdemrand/denizen/objects/dLocation.java b/src/main/java/net/aufdemrand/denizen/objects/dLocation.java index 33b7368d3e..925d31f048 100644 --- a/src/main/java/net/aufdemrand/denizen/objects/dLocation.java +++ b/src/main/java/net/aufdemrand/denizen/objects/dLocation.java @@ -585,7 +585,7 @@ public int compare(dEntity ent1, dEntity ent2) { } // <-- - // -> Element(Number) + // ]> -> Element(Number) // Returns the distance between 2 locations. // --> if (attribute.startsWith("distance")) { @@ -593,13 +593,13 @@ public int compare(dEntity ent1, dEntity ent2) { dLocation toLocation = dLocation.valueOf(attribute.getContext(1)); // <-- - // -> Element(Number) + // ].horizontal> -> Element(Number) // Returns the horizontal distance between 2 locations. // --> if (attribute.getAttribute(2).startsWith("horizontal")) { // <-- - // -> Element(Number) + // ].horizontal.multiworld> -> Element(Number) // Returns the horizontal distance between 2 multiworld locations. // --> if (attribute.getAttribute(3).startsWith("multiworld")) @@ -615,13 +615,13 @@ else if (this.getWorld() == toLocation.getWorld()) } // <-- - // -> Element(Number) + // ].vertical> -> Element(Number) // Returns the vertical distance between 2 locations. // --> else if (attribute.getAttribute(2).startsWith("vertical")) { // <-- - // -> Element(Number) + // ].vertical.multiworld> -> Element(Number) // Returns the vertical distance between 2 multiworld locations. // --> if (attribute.getAttribute(3).startsWith("multiworld")) diff --git a/src/main/java/net/aufdemrand/denizen/scripts/commands/player/CompassCommand.java b/src/main/java/net/aufdemrand/denizen/scripts/commands/player/CompassCommand.java index 3a59da3404..7224336bfa 100644 --- a/src/main/java/net/aufdemrand/denizen/scripts/commands/player/CompassCommand.java +++ b/src/main/java/net/aufdemrand/denizen/scripts/commands/player/CompassCommand.java @@ -52,6 +52,4 @@ public void execute(ScriptEntry scriptEntry) throws CommandExecutionException { } - - -} \ No newline at end of file +}