Location.toBlockLocation/toCenterLocation()

Convert location objects to their block coordinates, or the center of the block
This commit is contained in:
Aikar 2018-05-24 21:01:13 -04:00
parent 9970e9dfde
commit 0432bbd3a8

View file

@ -534,6 +534,32 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm
}
public boolean isChunkLoaded() { return this.getWorld().isChunkLoaded(locToBlock(x) >> 4, locToBlock(z) >> 4); } // Paper
// Paper start - expand Location API
/**
* @return A new location where X/Y/Z are on the Block location (integer value of X/Y/Z)
*/
@NotNull
public Location toBlockLocation() {
Location blockLoc = clone();
blockLoc.setX(getBlockX());
blockLoc.setY(getBlockY());
blockLoc.setZ(getBlockZ());
return blockLoc;
}
/**
* @return A new location where X/Y/Z are the center of the block
*/
@NotNull
public Location toCenterLocation() {
Location centerLoc = clone();
centerLoc.setX(getBlockX() + 0.5);
centerLoc.setY(getBlockY() + 0.5);
centerLoc.setZ(getBlockZ() + 0.5);
return centerLoc;
}
// Paper end - expand Location API
@Override
public boolean equals(Object obj) {
if (obj == null) {