diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/EntityTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/EntityTag.java index 3758a51989..b11dbd1f23 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/EntityTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/EntityTag.java @@ -826,6 +826,16 @@ else if (!isGeneric()) { return null; } + public Location getTargetBlockSafe(Set mats, int range) { + try { + NMSHandler.getChunkHelper().changeChunkServerThread(getWorld()); + return getLivingEntity().getTargetBlock(mats, range).getLocation(); + } + finally { + NMSHandler.getChunkHelper().restoreServerThread(getWorld()); + } + } + /** * Gets the velocity of this entity * @@ -1759,7 +1769,7 @@ else if (mtr.angle == BlockFace.EAST) { } attribute = attribute.fulfill(1); } - return new LocationTag(getLivingEntity().getTargetBlock(set, range).getLocation()).getAttribute(attribute); + return new LocationTag(getTargetBlockSafe(set, range)).getAttribute(attribute); } // <--[tag]