diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/NPCTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/NPCTag.java index a20232213f..a47f65aac5 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/NPCTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/NPCTag.java @@ -954,6 +954,17 @@ && isSpawned() && getEntity() instanceof Player) { return new ElementTag(getNavigator().getDefaultParameters().distanceMargin()).getAttribute(attribute.fulfill(1)); } + // <--[tag] + // @attribute + // @returns ElementTag(Decimal) + // @mechanism path_distance_margin + // @description + // Returns the NPC's current pathfinding distance margin. That is, how close it needs to get to individual points along its path. + // --> + if (attribute.startsWith("path_distance_margin")) { + return new ElementTag(getNavigator().getDefaultParameters().pathDistanceMargin()).getAttribute(attribute.fulfill(1)); + } + // <--[tag] // @attribute // @returns ElementTag(Boolean) @@ -1523,6 +1534,19 @@ else if (!trait.isSneaking() && mechanism.getValue().asBoolean()) { getNavigator().getDefaultParameters().distanceMargin(mechanism.getValue().asDouble()); } + // <--[mechanism] + // @object NPCTag + // @name path_distance_margin + // @input Element(Decimal) + // @description + // Sets the NPC's path distance margin. + // @tags + // + // --> + if (mechanism.matches("path_distance_margin") && mechanism.requireDouble()) { + getNavigator().getDefaultParameters().pathDistanceMargin(mechanism.getValue().asDouble()); + } + // <--[mechanism] // @object NPCTag // @name name_visible